»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend! Set by Tene on 14 May 2009. |
|||
jnthn | That could help us. | 00:00 | |
(performance wise) | |||
pmichaud | and I need to finish converting PCT to use 'box' | ||
jnthn | By not having to re-bless stuff. | ||
Depending on what we can map of course. | |||
Tene: Going to spectest on Windows now. | |||
Tene | jnthn: so what syntax did you get working for defining sub trait? | ||
jnthn | Will be surprised if I see anything different from you though. | ||
Tene: Ah, I pasted it as a gist earlier...let me see if I can find it... | 00:01 | ||
Tene | ohright | ||
yeah, I've got it. | 00:02 | ||
jnthn | ah, ok, great. | ||
Tene | s1n: so, what did you want to know about it? | 00:05 | |
s1n | basically, everything heh | ||
lemme pull up the example | |||
Tene | github.com/masak/web/blob/92ff66f47...ispatch.pm | 00:06 | |
s1n: gist.github.com/111994 | |||
I still need to make loldispatch store the dispatch table in the caller's namespace... | 00:07 | ||
jnthn needs some sleep | |||
See you all tomorrow | |||
Tene | 'night jnthn | ||
s1n | man, it's hard: perl6 or red wings :/ | ||
Tene | what is red wings? | 00:08 | |
s1n | heh hockey | ||
what's trait_auxiliary? | |||
00:08
cognominal left
|
|||
s1n | and the :<is> syntax? | 00:08 | |
Tene | trait_auxiliary is what is called when rakudo encounters something extra in a declaration. | 00:11 | |
s1n | which declaration is that? $item<route> and $item<block>? | 00:13 | |
or really just $item<block>()? | |||
Tene | eh? | ||
no, look at the example | |||
sub ... is http-dispatch(...) | |||
the 'is' is an auxiliary trait | |||
s1n | is http-dispatch? | 00:14 | |
Tene | right | ||
gist.github.com/111994 | |||
s1n | what line? i dont see that | ||
Tene | erm... | ||
http-handler | |||
s1n | you mea :<is>(http-handler....)? | ||
s/mea/mean/ | |||
Tene | look at the paste. | ||
s1n | okay | 00:15 | |
what do the foo and item subs do? | |||
Tene | what? | 00:16 | |
gist.github.com/111994 | |||
bacek_ | rakudo: sub postfix:<!>($x) { $x ?? $x*($x-1)! !! 1 }; say 5! | ||
p6eval | rakudo b41e13: OUTPUT«120» | ||
bacek_ | pmichaud++ jnthn++ (everyone else)++ # Welcome to the future! | ||
00:16
eternaleye left
|
|||
s1n | Tene: I was looking at the LolDispatch class itself | 00:17 | |
well, the usage bits | |||
Tene | oh, in the comment | ||
s1n | oh, =begin/=end are comments .... doh | 00:18 | |
shouldn't those comments say 'is http-handler' like your gist? | |||
Tene | yes. I forgot to update them. | ||
s1n | oh okay | ||
that gist makes more sense then | 00:19 | ||
Tene | committed. | ||
s1n | cool, thanks for that, i was looking for something exactly like this | ||
Tene | howso? | ||
s1n | i needed a method dispatcher based on strings | 00:20 | |
i was going to do a cheezy hash/method lookup | |||
s1n must go watch redwings now :/ | 00:21 | ||
Tene | just replace @routes with %routes | ||
etc. | |||
gimme a sec... I'll write your call-method-as-sub module now. | |||
or you can see it when you get back | |||
seeya | |||
skids | rakudo: sub infix:<`> (*@slurp) { join("OH", (map {.perl}, @slurp)); }; my @a = (2,3,4); (@a ` 2 ` 3).say; | 00:22 | |
p6eval | rakudo b41e13: OUTPUT«"2OH3OH4OH2"OH3» | 00:23 | |
skids racking brain as to where those "'s come from | |||
00:27
cognominal joined
00:31
justatheory left
00:51
alc joined
00:54
eternaleye joined,
justatheory joined
|
|||
eternaleye | rakudo: class LazyList { has $location; has @contents; method generator { $^a + $^b }; method new( @starter ) { @contents = @starter; $location = 0; }; method next() { if $location + 1 == @contents.elems() { my @tmp = (); for 1 .. &generator.arity() -> $i { @tmp.unshift( @contents[ - $i ] ); }; @contents.push( &generator.( |@tmp ) ); ++$location; return( @contents[$location]); }; };}; my @beginning = ( 1, 1 ); my $foo = LazyList | 00:59 | |
@beginning ); while Bool::True { given $foo.next() { .say; } }; | |||
p6eval | rakudo b41e13: ( no output ) | ||
eternaleye | Hm, that gives a null PMC locally. | 01:00 | |
git pull time! | |||
skids | eternaleye: it isn't implemented yet, but you might enjoy the stuff in S07 | 01:01 | |
eternaleye | skids: Yeah, I was trying that out to see if, when List is fully in the setting but is not yet lazy, I could implement the proper API relatively simply. | 01:02 | |
When de-compactified, it's probably a pretty good way to go for infix:<...> too | 01:03 | ||
skids | I think evalbot may not have gotten the whole line you pasted. | ||
eternaleye | It _would_ be pretty funny if it cut it off somewhere but was still valid Perl6 | 01:04 | |
Ah, that's what it is. I was getting a null pmc in parrot;Role;perl when I had typed parameters to new() [ those being Object @starter, Code &generator ] | 01:06 | ||
(Object so that it can autothread the generator block on junctions) | |||
skids tries to figure out out to feed newlines in Q:PIR to evalbot | 01:07 | ||
eternaleye | rakudo: Q:qq:PIR { say "hi" \n say "hi" } | 01:08 | |
p6eval | rakudo b41e13: OUTPUT«Colons cannot be used as delimiters in quoting constructs at line 1, near ":PIR { say"current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
eternaleye | (just guesing here) | ||
*guessing | |||
pasteling | "skids" at 71.192.212.78 pasted "pre-"implemented yet"-but-works iterator stuff for eterneleye" (14 lines, 381B) at sial.org/pbot/36624 | 01:16 | |
Tene | s1n: nevermind, it didn't work out. | 01:20 | |
STD: sub term:<∅> { say 'lol' } | 01:21 | ||
what happened to std-bot? | 01:26 | ||
01:26
cdarroch left
|
|||
Tene | pmichaud: ping | 01:28 | |
skids | std: sub term:<∅> { say 'lol' } | 01:30 | |
p6eval | std 26833: OUTPUT«ok 00:04 43m» | ||
skids | a case of case sensitivity | ||
:-0 | |||
Tene | :) thanks | 01:31 | |
skids | std: sub infix:<`> (|$args) { ... } | ||
p6eval | std 26833: OUTPUT«ok 00:02 37m» | ||
Tene | std: use Rails:lang<ruby>; | 01:33 | |
p6eval | std 26833: OUTPUT«ok 00:02 35m» | ||
skids | rakudo: Q:PIR{ say 1say 2 } | 01:36 | |
p6eval | rakudo b41e13: OUTPUT«12» | ||
Tene | .u  | ||
phenny | U+2424 SYMBOL FOR NEWLINE () | ||
Tene | That's funny that that's parsed "properly". :) | 01:37 | |
skids | rakudo: my @a = <a b>; my $it = @a.iterator; for 1..3 { +$it.say; my $f = Q:PIR {  $P0 = find_lex '$it'  %r = shift $P0 }; $f.say; } | 01:40 | |
p6eval | rakudo b41e13: OUTPUT«0a1b-1StopIterationcurrent instr.: '_block34' pc 285 (EVAL_22:120)» | ||
skids | (basically same thing I pastebotted, but good to be able to do it inline.) | 01:41 | |
01:51
lichtkind_ left
01:53
sri_kraih left
01:58
justatheory left
02:08
mizioumt joined
02:11
mizioumt left
02:19
NoirSoldats_ left
02:20
drbean_ is now known as drbean
02:21
NoirSoldats joined
|
|||
skids | NoirSoldats: Heh, I just watched Noir a couple weeks ago. | 02:34 | |
02:53
amoc left
02:55
amoc joined
03:20
donaldh left,
donaldh joined
03:41
hcchien_ joined,
hcchien left
03:43
clkao_ joined,
clkao left,
orafu left,
alester_ joined
03:44
orafu joined
03:48
kimtaro joined
03:57
skids left
04:00
cognominal left
04:02
hcchien_ is now known as hcchien,
donaldh left
04:04
donaldh joined
04:26
szabgab_ is now known as szabgab
04:34
FurnaceBoy left
04:35
sri_kraih joined
|
|||
Tene | Nice, I now have the following working in rakudo: my $s = ⦃ 1, 3, 5 ⦄ ∩ ⦃ 1, 2, 3, 4 ⦄; | 04:40 | |
04:46
kate21de joined
04:52
mberends joined
|
|||
dalek | kudo: 271bbd0 | tene++ | src/parser/ (2 files): Start parsing version information in use statements. |
04:53 | |
kudo: 8ff0e0a | tene++ | src/parser/ (2 files): Add support for defining circumfix operators. |
|||
mberends | Tene: awesome stuff, 2day youz teh rakduo op! | 04:55 | |
Tene | writing a blog post right now... | 04:56 | |
04:56
justatheory joined
05:02
justatheory left,
justatheory joined
05:07
aff joined,
aff left
|
|||
mberends | 'perl6 -v' on fresh build omits version info. Is that intentional? | 05:10 | |
Tene | blogs.gurulabs.com/stephen/2009/05/...m-ops.html | 05:30 | |
mberends | Tene++z rly teh op op 2day | 05:33 | |
05:33
justatheory left
05:35
frew joined
|
|||
frew | is there a more generic term for hyperoperator? | 05:42 | |
and is there a functional version so we can make our own functions or do we have to define an infix op? | |||
mberends | a (normal) function that receives and returns lists seems 'hyper' | 05:47 | |
frew | ok, I was just wondering if there was a word for it like there is a word for reduce | ||
Like a word that isn't linguistically bound but is in lisp or something | |||
mberends | naw, the vocabulary appears to be exhausted right now. with a couple more players, we could have one of those word games ;) | 05:49 | |
frew | haha, no I was wondering if ther was an established one | ||
I don't need a new one | |||
mberends | sure, methinks presently none though | 05:50 | |
frew | as as for a non-infix version of a hyperop? | ||
s/as/and | |||
mberends | prefix and postfix I guess, but all ops need a fix. | 05:51 | |
frew | no no, I mean like something like this: | ||
hyper({ $^a + $^b}, @a, @b) | 05:52 | ||
assume the function given were more complex though | |||
mberends | ah, there have been only infix examples of that shown here so far | 05:53 | |
TimToady | map { $^a + $^b }, @a Z @b | ||
map { $^a + $^b }, (@a Z @b) rather | 05:54 | ||
05:54
alester_ left
|
|||
frew | I thought it might be something like that | 05:55 | |
very cool | |||
TimToady | map { $^a + $^b } <== @a Z @b | ||
frew | and the latter would have better performance right? | ||
TimToady | not necessariy | ||
frew | because it's stream-y and lazy? | ||
TimToady | rily | ||
frew | rily. Indeed. | 05:56 | |
TimToady | lists are already lazy | ||
<== rather explicitly allows a separate thread to generate the values, though | |||
frew | ah, very cool | ||
mberends | stream-y++ | ||
Tene | TimToady: what's the reason for requiring map to be in-order? | ||
TimToady | in case there are side effects or dependencies. if you want to promise there are none, use hyper map | 06:00 | |
then it can evaluate them in any order, though return order is still guaranteed | |||
Tene | OK | 06:01 | |
TimToady | just as with hyper operators | ||
Tene | I had forgotten about "hyper map" | ||
frew | what's hyper map? | ||
TimToady | a map in hyper context | ||
which is an eager context that promises you don't care about order of evaluation | 06:02 | ||
doubtless will be ignored in 6.0.0 though | |||
frew | so like, hyper map { $_~' is awesome' } 1,2,3,4; | ||
TimToady | it's just there as the generalization of hyperops | ||
still produces the same list as without the yper | 06:03 | ||
but if you said "say $_ is awsome" in the middle, they could happen in any order | |||
er, only punctuated right | |||
frew | right | ||
TimToady | if Perl were a language with no side effects, you could always assume a hyper | 06:04 | |
but it's not | 06:05 | ||
frew | fortunately for us mortals. | ||
I love functional programming, but not all the time. | |||
06:12
kate21de left
06:19
LadyLuna1y joined
06:28
nbrown_ joined
|
|||
moritz_ | rakudo: sub circumfix:«` `»(say $x); `"foo"` | 06:29 | |
p6eval | rakudo 8ff0e0: OUTPUT«Malformed routine definition at line 1, near "circumfix:"current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
06:31
nbrown left,
nbrown_ is now known as nbrown
|
|||
Tene | rakudo: sub infix:<⦃ ⦄>($x) { say "omg: $x" }; ⦃ "hi" ⦄ | 06:32 | |
p6eval | rakudo 8ff0e0: OUTPUT«Syntax error at line 1, near "\u2983 \"hi\" \u2984"current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
Tene | rakudo: sub infix:<` `>($x) { say "omg: $x" }; `"hi"` | 06:33 | |
p6eval | rakudo 8ff0e0: OUTPUT«Syntax error at line 1, near "`\"hi\"`"current instr.: 'perl6;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:86)» | ||
Tene | rakudo: sub circumfix:<` `>($x) { say "omg: $x" }; `"hi"` | ||
p6eval | rakudo 8ff0e0: OUTPUT«omg: hi» | ||
06:35
LadyLunacy left
|
|||
moritz_ | Tene: thanks | 06:35 | |
I wasn't really awake, it seems ;-) | 06:36 | ||
Tene | yeah, I'm mostly asleep right now | ||
06:37
Kisu left
06:51
frew|work joined
06:53
eiro left
07:01
aff joined,
aff left
07:09
alc left
|
|||
pugs_svn | r26834 | moritz++ | [t/spec] circumfix custom operator | 07:12 | |
moritz_ | literal: something in t/spec/S06-operator-overloading/sub.t (line 61) makes perl6.vim go mad, and I can't figure out what char to insert in a comment to make hilight the rest correctly | 07:13 | |
07:13
iblechbot joined
|
|||
moritz_ | sub infix:«_<_ » | 07:13 | |
everything from the second _ on is hilighted as a quote | 07:14 | ||
ah, I need *two* closing > | |||
literal: never mind ;-) | |||
pugs_svn | r26835 | moritz++ | [t/spec] prevent syntax hilighter from going too mad | 07:15 | |
07:16
jferrero left
07:20
donaldh left,
donaldh joined
07:27
frew|work left
|
|||
Matt-W | Morning | 07:28 | |
07:30
frew left
|
|||
Tene | hi | 07:30 | |
07:32
payload joined
07:45
finanalyst joined
|
|||
finanalyst | is the IO of rakudo broken? yesterday $fh.get worked. today i get the error <Could not locate a method 'get' to invoke on class 'IO'.> | 07:47 | |
moritz_ | rakudo: my $x = $*IN.get; say $x | ||
p6eval | rakudo 8ff0e0: OUTPUT«Land der Berge, Land am Strome,» | ||
finanalyst | hmmm | 07:48 | |
moritz_ | rakudo: my $fh = open('README') or die $!; say ~$fh.get; | ||
p6eval | rakudo 8ff0e0: OUTPUT«=head1 Rakudo Perl 6» | ||
moritz_ | works fine here. | ||
finanalyst | i just did a git pull on my rakudo directory and rebuilt. | 07:49 | |
perl6 | 07:52 | ||
my $fh= open('README') or die $!; say $fh.get | |||
Could not locate a method 'get' to invoke on class 'IO'. | |||
that is using my local rakudo | |||
moritz_ | did you reconfigure Rakudo? | 07:53 | |
Tene | finanalyst: there were some major changes recently... do a 'make realclean' and then reconfigure and rebuild | ||
07:57
cognominal joined
07:58
wollmers joined
|
|||
wollmers | moritz_, Tene: I did 'make realclean; git pull; perl Configure.pl --gen-parrot; make' but got 'Unable to open filehandle from path' | 08:01 | |
Tene | OK | 08:02 | |
moritz_ | wollmers: in which step did you get the error message? | ||
wollmers | ./perl6 'my $fh = open("./README");' | 08:03 | |
ooops | |||
./perl6 -e 'my $fh = open("./README");' -- WORKS;-) | |||
08:13
DemoFreak joined
08:18
payload left
08:19
jferrero joined
08:24
bacek_ left
08:32
angelixd joined
08:49
agentzh left,
agentzh joined
|
|||
wollmers | std: sub prefix:{"X"} ($a) { return "XXX: $a"; }; say X "b"; | 08:59 | |
p6eval | std 26835: ( no output ) | ||
wollmers | rakudo: sub prefix:{"X"} ($a) { return "XXX: $a"; }; say X "b"; | ||
p6eval | rakudo 8ff0e0: OUTPUT«Could not find non-existent sub Xcurrent instr.: '_block14' pc 65 (EVAL_18:49)» | ||
moritz_ | rakudo: sub prefix:<X> ($a) { return "XXX: $a"; }; say X 'b' | 09:01 | |
p6eval | rakudo 8ff0e0: OUTPUT«XXX: b» | ||
09:02
zamolxes joined
|
|||
wollmers | moritz_: yeah, but -fix:{"X"} or {'X'} should be 'the same' (see spec) | 09:03 | |
moritz_ | wollmers: where do I find that spec? | ||
I know it's the same for hash subscripts | |||
but this pair syntax, afaict | |||
and I've never seen :{'X'} for pairs | |||
wollmers | S06: So any of these | 09:04 | |
indicates the same binary addition operator: | |||
=head2 Operator overloading | |||
moritz_ | right | 09:05 | |
feel free to submit a ticket, add tests, whatever you want ;-) | |||
09:05
payload joined
|
|||
wollmers | this would also allow {"\x[...]"} or {"\c[...]"} -- IMHO | 09:06 | |
09:07
jferrero left
09:08
jferrero joined,
payload1 joined
|
|||
wollmers | sub prefix:{"\c[MINUS-OR-PLUS SIGN]"} # U+2213 MINUS-OR-PLUS SIGN | 09:08 | |
moritz_ | one day I'll write a \T[...] macro which allows TeX escape sequences | 09:09 | |
\T[ \pm ] | |||
shorter than \c[MINUS-OR-PLUS SIGN] ;-) | |||
wollmers | std: sub prefix:{"\c[MINUS-OR-PLUS SIGN]"} ($a) { return "XXX: $a"; }; | 09:10 | |
p6eval | std 26835: OUTPUT«ok 00:04 42m» | ||
wollmers | moritz_: Unicode has short aliases like a_grave or A_grave | 09:12 | |
in Perl 5 'use charnames' you can define your own aliases | 09:13 | ||
09:13
meppl joined
|
|||
wollmers | or cut and paste from demo.icu-project.org/icu-bin/ubrowse?s=PLUS | 09:15 | |
moritz_ | wollmers: my point is simply that I know TeX's symbols much better than the Unicode names | 09:21 | |
wollmers: so for me it's mostly a matter of convenience | |||
09:23
payload left
09:27
agentzh left
|
|||
wollmers | moritz_: others know HTML entities, thus can use '‏' instead of U+200F RIGHT-TO-LEFT MARK | 09:28 | |
09:28
agentzh joined
09:30
Kyosuke_Kiryu joined
09:32
LylePerl joined
|
|||
jnthn | H H | 09:33 | |
mberends | O AI! | 09:35 | |
happy Rakudoday, innit? | 09:36 | ||
09:43
szabgab left
|
|||
jnthn | mberends: yes | 09:49 | |
09:52
Eevee left
|
|||
finanalyst | still having problems with get method for IO. done make realclean, reconfigured and rebuilt. | 09:52 | |
ran: perl6 -e 'my $f=open("README",:r);say $f.get' | |||
09:53
sri_kraih left
09:54
Eevee joined
|
|||
jnthn | finanalyst: And what happens? | 09:56 | |
(It works here...) | |||
finanalyst | I get the following: Could not locate a method 'get' to invoke on class 'IO'. Then a whole load of debug lines | 10:01 | |
jnthn | finanalyst: You have the latest Rakudo, and a Parrot revision matching that in build/PARROT_REVISION? | 10:02 | |
finanalyst | i did 'make realclean' then 'perl Configure.pl --gen-parrot' | 10:04 | |
so it should be the correct versions No? | 10:05 | ||
jnthn | OK, that shoulda got you right right versions then... | ||
finanalyst | i could nopaste you the debug lines, if it would help | ||
jnthn | Yes, please. | 10:06 | |
pasteling | "finanalyst" at 193.110.4.137 pasted "no get method for IO" (91 lines, 6.8K) at sial.org/pbot/36627 | 10:07 | |
jnthn | huh...I've not seen that double free in a while... | 10:09 | |
Matt-W | meep | ||
double frees are not fun | |||
jnthn | finanalyst: What do your build/PARROT_REVISION file contain? | 10:10 | |
Just to make sure we're looking at the same thing... | 10:11 | ||
finanalyst | 38768 | ||
jnthn | Heh, same. | ||
OK, confusing. | 10:12 | ||
Do you fail any spectests? | |||
(Presumably so, but I'm curious which ones.) | |||
finanalyst | when running Config? | ||
jnthn | No, when you run make spectest | 10:16 | |
10:16
agentzh left
|
|||
finanalyst | running spectest, will get back when finished | 10:19 | |
10:20
pmurias joined,
zamolxes left,
jnthn left,
buu left,
Maddingue left,
jnthn joined,
zamolxes joined,
Maddingue joined,
buu joined,
irc.freenode.net sets mode: +o jnthn
10:39
masak joined
|
|||
masak | ahoj, hyperops. | 10:40 | |
jnthn | ahoj, masak | 10:41 | |
ako sa mas? | |||
masak | is that Japanese? | 10:42 | |
literal | rakudo: my sub infix:<xBBxF6xAB> ($a, $b) { return "$a xBBxF6xAB $b" }; say 'oh' xBBxF6xAB 'hi'; | ||
p6eval | rakudo 8ff0e0: OUTPUT«oh ��� hi» | ||
literal | hm | ||
jnthn | masak: No, it's Slovak. :-P | ||
moritz_ | Unicode Fail | ||
masak | jnthn: oh. language guess fail. :) | 10:43 | |
10:43
payload1 left
|
|||
moritz_ | it works locally, though | 10:43 | |
masak | jnthn: thanks for closing the masak-close-fail ticket, btw. | ||
jnthn | masak: Was just on a hunt for those that .HLL might have resolved, and spotted it then. | ||
masak | I didn't see literal's characters properly, fwiw. | ||
jnthn | It all looks fine until the output. | 10:44 | |
literal | ah, I was sending latin1 | ||
moritz_ | that explains a lot | ||
jnthn | Though that could cover a lot of Rakudo bugs. ;-) | ||
literal | p6eval should know how to convert latin1 to utf-8 :) | ||
rakudo: my sub infix:<xBBxF6xAB> ($a, $b) { return "$a xBBxF6xAB $b" }; say 'oh' xBBxF6xAB 'hi'; | 10:45 | ||
p6eval | rakudo 8ff0e0: OUTPUT«oh ��� hi» | ||
masak | literal: still latin-1. | ||
moritz_ | rakudo: my sub infix:<»ö«> ($a, $b) { return "$a »ö« $b" }; say 'oh' »ö« 'hi'; | ||
p6eval | rakudo 8ff0e0: OUTPUT«oh »ö« hi» | ||
literal | rakudo: my sub infix:<»ö«> ($a, $b) { return "$a »ö« $b" }; say 'oh' »ö« 'hi'; | ||
p6eval | rakudo 8ff0e0: OUTPUT«oh »ö« hi» | ||
masak | much better. :) | ||
10:45
agentzh joined
|
|||
moritz_ | literal: encoding magic is evil, and should be avoided whenever possible | 10:45 | |
10:46
agentzh left
|
|||
masak | more generally, "smart" software isn't. | 10:46 | |
literal | most IRC clients do it, i.e. convert the latin1+utf-8 soup into utf-8 | ||
moritz_ | I know | ||
masak | I don't think mine does. | 10:47 | |
literal | the reason I had mine set to output latin was because I'm also on IRCnet, and I some people there are using old mIRC versions which only understand latin1, and irssi doesn't let me specify output encoding per-network | 10:48 | |
10:57
szabgab joined
|
|||
masak | literal: Perl 6 programs are in Unicode. :) | 10:57 | |
literal | true | ||
10:57
lichtkind joined
|
|||
masak | literal: oh, and by the way: I expect to do some additional thinking on the structure of the u4x documentation this weekend. | 10:58 | |
literal | ok | ||
10:58
vx64z joined
|
|||
literal | what sort of additional thinking? | 10:59 | |
moritz_ | literal: there's a simple technical reason not have p6eval autodected encoding: it's implemented in Bot::BasicBot, which accepts only one encoding (it seems) | 11:00 | |
literal | yeah, damn Bot::BasicBot and it's assumptions :) | 11:01 | |
er, its | |||
masak | literal: the sort that leads to additional structure in the u4x/documentation directory, so that a program can easily find the right item given some key. | 11:02 | |
11:05
iblechbot left
|
|||
literal | sounds good | 11:06 | |
masak | Matt-W: it would be kinda cool (maybe) if the tabular layout in Form could be set to output a HTML table. :) | ||
literal: I'm basically going through P2T1A, and thinking about how to access the documentation I'm creating. | 11:07 | ||
so, I expect there will be an additional document about storage locations shortly. | |||
moritz_ | uhm. | 11:08 | |
shouldn't grok go through all documents and build an index itself? | |||
or do you mean external resources, like the synopsis etc? | |||
masak | moritz_: no, I'm just talking about the internal data. | 11:09 | |
moritz_: I haven't thought of the need to build an index. would that be needed? | |||
as far as possible, I'm hoping the actual .pod files will be enough for the program to find the right item. | |||
that's why naming them right is important. | 11:10 | ||
moritz_ | it will, but probably rather slow | ||
masak | oh. well, an index for speed reasons is fine. | ||
moritz_ | an index can be something as simple as a list of headers associated with file names | ||
masak | but everything is rather slow in Perl 6 right now. :) | ||
jnthn | masak: I'm currently writing some benchmarks to access our basic performance. | 11:11 | |
moritz_ | except finding bugs ;-) | ||
masak | moritz_: I'm thinking a file might be called 'prefix.pod', so if I'm looking for 'prefix:<!>', I know I should look there. | ||
jnthn | masak: But more importantly, so we can track how changes we think could hit performance affect things. | ||
masak | jnthn: sounds excellent. | 11:12 | |
jnthn | I'm...kinda disturbed by the results so far. | ||
01 - hello world: 1.015625 | |||
02 - 10,000 sub dispatches: 23.155615 | |||
masak | :) | ||
jnthn | 03 - 10,000 multi dispatches: 15.889863 | ||
I think my benchmark must be bad... | |||
masak | what do the numbers mean? seconds? | ||
11:12
aff joined
|
|||
jnthn | oh, I know why | 11:12 | |
yes | |||
11:13
aff left
|
|||
moritz_ | masak: that would lead to quite some fragmmentation of the files | 11:13 | |
masak: and when somebody enters a ! in grok, it will have to look up all of those files anway | |||
jnthn | Writing good benchmarks is hard... | ||
masak | moritz_: that might be where the index comes in, then. | ||
moritz_ | because it can't know if it's a prefix, or an infix, or a regex meta character | ||
jnthn | or at least, writing ones that test what you want them to test is... | 11:14 | |
masak | moritz_: still sounds like only three files. | ||
jnthn | even making the benchmarks much more fair is still giving crazy result | ||
01 - hello world: 1.015625 | |||
02 - 10,000 sub dispatches: 16.467989 | |||
03 - 10,000 multi dispatches: 15.92106 | |||
We can multi-dispatch faster than single-dispatch. wtf. | |||
moritz_ | infix, prefix, postfix, circumfix, postcircumfix, regex, quotes, .k.. | ||
masak | :) | 11:15 | |
moritz_ | that why I'd prefer a single syntax.pod | ||
and each entry is augment with 'prefix:<!>' or so | 11:16 | ||
masak | moritz_: well, when you throw in user-project documentation, it'll have to do something like that wide search anyway. | ||
moritz_: a user might have written a method called .flip or .elems | |||
moritz_ | masak: and a user will not want to document exported operators in a separate file | 11:17 | |
masak | moritz_: sorry, what? | ||
I didn't get that part. | |||
moritz_ | masak: docuementation is usually grouped by functionality | 11:18 | |
masak: not by the syntactic category | |||
DBI.pm doesn't have a separate file for class methods and instance methods | |||
neither should we have separate files for operators and subs | 11:19 | ||
because operators are just subs with weird names | |||
masak | moritz_: u4x is not documentation tied to a project. I think your analogy is faulty. | ||
s/project/module/ | |||
11:20
donaldh left
|
|||
moritz_ | it's part of Perl 6's philosophy that the "core" language is not special | 11:20 | |
masak | moritz_: true. | ||
moritz_ | or in anyway different than modules or so | ||
11:20
donaldh joined
|
|||
masak | moritz_: I agree about that. | 11:21 | |
moritz_: but the "core" _is_ special in the sense that we know that it's there in an unmodified Perl 6.0.0 dialect. | |||
if it serves us to structure that core as normal module Pod, then we will of course do that. | 11:22 | ||
if it serves us to structure it in some other, more efficient way, we'll do that. | |||
I don't claim to have any hard answers in this issue. that's why I intend to spend time this weekend thinking about it. :) | 11:23 | ||
moritz_ | well, I think we'll just do it somehow for now, and if it's a major pain we can still change it | ||
masak | aye. | 11:24 | |
Fire. Aim. Ready. | |||
moritz_ | bomb. | ||
masak | in fact, my first attempt at a structure will simply have as a goal to make it theoically possible to find a particular item given some degree of description about it. | 11:25 | |
(i.e. both '+' and 'infix:<+>' should find the same operator) | 11:26 | ||
(but the former should also find 'prefix:<+>') | |||
moritz_ | and the quantifier + in regexes | ||
masak | aye. :) | ||
is that called postfix:<+>, by the way? | 11:27 | ||
or is there some better way to refer to it? | |||
moritz_ | and all of those won't help when somebody wants to know what q+foo+ does ;-) | ||
masak | moritz_: no. even grok will not be able to do miracles. | 11:28 | |
moritz_ | masak: it's called quantifier:<+> in slang Regex | ||
masak: well, it could, if the user entered q+...+ and it used a STD.pm backend | |||
masak | moritz_: but it might be possible to write 'grok "q+foo+"', and there will be enough parsing in grok to understand that q[] is intended. | ||
moritz_: aye. | |||
moritz_ | that's where my idea for "perlhints" started long ago | 11:29 | |
masak | moritz_: ok, thanks. then it should probably say 'quantifier:<+> in slang Regex' in the disambiguation message. | ||
pugs_svn | r26836 | wollmers++ | [t/spec] added test for operator overloading; and TODO | ||
masak | the main slang wouldn't have an 'in main slang' addition. | 11:30 | |
similarly, installed non-core modules would say 'in module DBI', but core things wouldn't say 'in CORE'. | |||
moritz_ | aye | ||
masak | just as with proto, it's important that things look neat and presentable. | 11:31 | |
that does not always seem to be a concern in Perl tools. :/ | 11:32 | ||
moritz_ | wollmers++ # nice tests | 11:33 | |
pugs_svn | r26837 | pmurias++ | [re-mildew] added explicit FETCHes in t/classhow_add_method_real.t | ||
r26837 | pmurias++ | and changed the invocant to an implicit ones so that it passes | |||
r26838 | pmurias++ | [re-mildew] CORE.pm loads EXTERNAL.pm | |||
r26839 | pmurias++ | [re-mildew] fixed the signatures for accessors | |||
r26839 | pmurias++ | added an incomplete default method signature | |||
r26839 | pmurias++ | t/knowhow_attributes.t passes - removed extra \n from output | |||
masak | are non-literals allowed inside the {} of infix:{} or the <<>> of infix:<<>> ? | 11:37 | |
moritz_ | masak: no, you'd need macros for that | ||
masak | ah. makes sense. | 11:38 | |
11:38
LylePerl left
|
|||
masak | std: sub infix<<$s>>($a, $b) { 42 } | 11:44 | |
p6eval | std 26839: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/K8wKNcjuQz line 1:------> sub infix<<$s>>($a, $b) { 42 } expecting any of: blockoid routine_def terminator trait whitespaceFAILED 00:02 35m» | ||
masak | oops. | 11:45 | |
std: sub infix:<<$s>>($a, $b) { 42 } | |||
p6eval | std 26839: OUTPUT«Argument "EOF" isn't numeric in numeric ne (!=) at STD.pm line 58609.Argument "EOF" isn't numeric in numeric eq (==) at STD.pm line 58610.##### PARSE FAILED #####(Possible runaway string from line 1)Unable to parse quote-words subscript; couldn't find right double-angle | ||
..quote... | |||
masak | TimToady: ^^ | ||
moritz_ cleans STD.pm's dir... | |||
finanalyst | jnthn: ping | 11:47 | |
jnthn | finanalyst: pong | ||
finanalyst | make testspec returned. Can nopaste summary. Not much really | 11:48 | |
wollmers | std: sub infix:<<$s>> ($a, $b) { 42 } | ||
p6eval | std 26839: OUTPUT«ok 00:04 39m» | ||
jnthn | finanalyst: OK, any of S16-* fail? | ||
moritz_ | or S32-io/* | 11:49 | |
finanalyst | t/spec/S32-io/IO-Socket-INET.t faile 2/3 | ||
no fail of S16* | 11:50 | ||
jnthn | OK but we have tests surely that exercise .get...so hmm. | 11:56 | |
11:58
payload joined
|
|||
mberends | finanalyst: INET.t is my fault. on what platform is it failing? | 11:58 | |
11:59
payload left
|
|||
finanalyst | Ubuntu 9.04 | 11:59 | |
11:59
payload joined,
payload left,
payload joined
|
|||
finanalyst | is 'make realclean' sufficient? should i try deleting the rakudo directory and trying again? | 12:02 | |
jnthn | finanalyst: Might be worthwhile. | 12:03 | |
mberends | finanalyst: could you show the output of './perl6 t/spec/S32-io/IO-Socket-INET.t' ? It's not good to have fails so frequently. | ||
jnthn | make realclean *should* be sufficient. | ||
mberends vaguely recalls 127.0.1.1 as localhost on some platform | 12:04 | ||
pasteling | "finanalyst" at 193.110.4.137 pasted "t/spec/S32-io/IO-Socket-INET.t" (7 lines, 234B) at sial.org/pbot/36631 | 12:05 | |
mberends | finanalyst: thanks. but hmm, it's uninformative :( | 12:06 | |
moritz_ | a few calls to diag() wouldn't hurt in that test | 12:07 | |
mberends | yes, good idea :) | ||
after this Temporal stuff is on its way | 12:08 | ||
Matt-W | masak: I think you could set up your picture strings so that'd work :) | ||
masak | Matt-W: It was just an idea. :) not sure it's useful in the long run. | 12:09 | |
Matt-W | I think producing HTML tables would be fairly easy, actually | ||
Maybe I'll write a demo for that | 12:10 | ||
masak | woot. | 12:12 | |
Matt-W | heh | ||
something to add to the todo | |||
masak | mberends: don't know if you saw, but the Ecosystem patch has landed. | 12:16 | |
mberends: I'm reluctantly very pleased with proto auto-compiling if it notices that the .pir files are out-of-date. :P | 12:17 | ||
it's good for us developers, at least. | |||
moritz_ | so if I write a project and want it handled by proto, do I have to write my own makefile for precompilation? or does it do that automagically now? | 12:18 | |
masak | viklund gave the moving dots both thumbs up, but he was bummed with to an equal and opposite force when he noticed that they weren't applied to all progress-related things. | ||
moritz_: there's a create-new-project script that sets things up for you. mberends++ | |||
moritz_ | I'll give it a shot over the weekend | 12:19 | |
(updating proto now, so that I can work offline) | |||
git is so handy. | |||
masak | moritz_: do you have a new project idea? | ||
moritz_ | masak: no, but I want my JSON parser handled by proto | ||
masak | moritz_: I think it's already listed. not sure create-new-project would apply well in this case. | 12:20 | |
12:20
kimtaro left
|
|||
masak | moritz_: but you could definitely profit from reading the source and doing some of the steps manually. | 12:20 | |
moritz_ | well, I just haven't written a makefile for it | ||
pmichaud | good morning, #perl6 | 12:21 | |
masak | pmichaud: mornin' | ||
jnthn | morning pmichaud | ||
moritz_ | oh hai | 12:22 | |
Matt-W | pmichaud!!!!! What marvels do you have in store today? | ||
masak | (no pressure, though) | ||
pmichaud | right now my marvel is taking kids to school... bbiab | 12:24 | |
masak | wow, taking kids to school. that pmichaud never ceases to amaze me. | ||
jnthn sighs and wonders why nothing is every simple... | 12:26 | ||
*ever | |||
I had the crazy idea that now we have the Perl 6 HLL, we could actually creating MultiSubs as Perl6MultiSub rather than having to re-bless them into it. | 12:27 | ||
Which means the bit of code causing RT#65674 could just stop being used and we'd have less work to do at init time... | 12:28 | ||
12:29
raiph left
|
|||
Matt-W | That'd be nice | 12:30 | |
I take it that doesn't work | |||
jnthn | It's not as straightforward as one might hope, that's for sure. | 12:31 | |
Matt-W | damn | 12:32 | |
12:35
iblechbot joined
12:37
jferrero left
|
|||
masak | I'm leaving to study Chinese a bit now. see y'all. | 12:41 | |
12:41
masak left
12:42
wollmers left
|
|||
jnthn | Trouble is, we don't want to transform everything, and I'm struggling to find a way to get a "just some things". | 12:42 | |
Matt-W | :( | ||
Well if it makes you feel any better, I'm trying to figure out a three-way deadlock | 12:43 | ||
jnthn | Ugh. | 12:44 | |
That sounds equally un-fun. | |||
12:46
aff joined
12:47
aff left
12:48
amoc left
|
|||
jnthn | Well, in reality, everything needs to become a Perl6MultiSub anyway I guess. | 12:50 | |
Screw it. I'm going to make a branch and JFDI... | 12:51 | ||
...or try... | 12:52 | ||
12:53
vx64z left
13:01
iblechbot left
|
|||
pmichaud | jnthn: any chance you'll be able to look at #65672 today? I have some convert-PIR-to-settings items that will depend on it. | 13:02 | |
jnthn | pmichaud: Ah, yes, I can do that. | 13:03 | |
pmichaud: I've started a branch to switch us fully over to Perl6MultiSub. | |||
pmichaud: Got a Parrot patch that supports it in HLL_map | 13:04 | ||
It sort of works, but it's a bit "all or nothing". | |||
pmichaud | excellent. Is this just for things compiled from perl6, or can/will it also apply to our PIR builtins ? | ||
jnthn | Well, that's the problem - I can't find a way to not make it apply to our PIR built-ins. | ||
So they're gonna need to get sigs. However... | |||
pmichaud | how can it apply to our PIR builtins? | 13:05 | |
jnthn | 1) We can use the same :(Any, Any) sigs | ||
*sig | |||
As in one and give it to all of 'em. | |||
2) The junction variants can all go away since they'll be generated automatically. | |||
(and lazily, and only if used) | |||
pmichaud | oh, are you using :immediate to get the hll_map registrations in place? | 13:06 | |
jnthn | Yes. | ||
pmichaud | ah. | ||
Okay, that can work. | |||
jnthn | I tried to see if I could cheat and just put the :immediate before including gen_setting.pir | ||
But no such luck. | |||
pmichaud | I'd prefer that they all become Perl6MultiSub, I think. | ||
jnthn | They need to in the end, and I think we may as well just bite the bullet. | 13:07 | |
It saves a bunch of calls to !TOPERL6MULTISUB at startup too. | |||
pmichaud | it would also be really nice if upon encountering a sub that doesn't have a signature, we automatically generate one. | ||
that would seem to be easier. | |||
jnthn | What would we auto-generate though? | ||
pmichaud | just :(Any, Any) | ||
based on the sub's arity | |||
jnthn | Ah | ||
pmichaud | (which we *do* know) | ||
jnthn | That's perhaps do-able. | 13:08 | |
pmichaud | even better would be if we could generate based on the sub's internal :multi() descriptor. | ||
but just generating a "fake" .signature ought to be okay. We don't have to worry about !SIGNATURE_BIND being called, since there won't be one present. | 13:09 | ||
jnthn | Aye. | ||
pmichaud | We just neeed enough of a signature to get past multi-dispatch, and to not present too many falsehoods. :-) | ||
jnthn | BTW, I wrote a small benchmark-y script today to check how we do at certain things. | ||
I'm pondering that it may be good to run it regularly (on the same machine) and graph. | 13:10 | ||
pmichaud | That sounds like an excellent idea. | ||
jnthn | So if we cause a major regression accidentally we can know that. | ||
The numbers are kinda interesting. | |||
01 - hello world: 1.015625 | |||
02 - 10,000 sub dispatches: 16.420971 | |||
03 - 10,000 multi dispatches: 15.905435 | |||
04 - 10,000 method dispatches: 19.8125 | |||
We multi-dispatch faster than single dispatch. Don't ask me how on earth... | 13:11 | ||
pmichaud | I'm guessing find_name_not_null is more expensive than we realize. | ||
can I see the script? | 13:12 | ||
jnthn | Also, I was thinking that our method dispatcher must be horribly so, but the performance difference between subs and methods isn't *that* huge. | ||
pmichaud | ....wait, this method dispatch is going through our PIR-based dispatcher, yes? | 13:13 | |
jnthn | pmichaud: gist.github.com/112205 | ||
pmichaud: Yes. | 13:14 | ||
pmichaud | wow. | ||
13:14
skids joined
|
|||
pmichaud | I'm surprised it's as fast as it is. | 13:14 | |
jnthn | Me too. | ||
I thought that was likely a major bottle-neck for us. | |||
Now I'm pondering that it may be !SIGNATURE_BIND. | |||
(That is really costly) | 13:15 | ||
pmichaud | where is Time::HiRes ? | ||
jnthn | pmichaud: Off CPAN, or may be core. | 13:16 | |
pmichaud: Note this is a Perl 5 sciprt. ;-) | |||
pmichaud | oh, okay. | ||
I didn't see a "use v5;" at the top. :-) | |||
for a valid comparison between multi and sub, perhaps we need to type-constrain the sub params | 13:17 | ||
unless you're assuming that the Any type constraints are equal-time with Int or Str | |||
jnthn | pmichaud: Ah, good point... | ||
pmichaud | (I wouldn't rely on that assumption, myself) | ||
jnthn | No, you're right. Changing the method one too. | 13:18 | |
pmichaud | it would be interesting to benchmark multi method dispatch, too. | ||
jnthn | pmichaud: Wow, the difference between type-checking Int and Any is vast. | 13:19 | |
pmichaud | Yes, I suspected so. | ||
jnthn | 01 - hello world: 1 | ||
02 - 10,000 sub dispatches: 14.936823 | |||
03 - 10,000 multi dispatches: 15.95237 | |||
04 - 10,000 method dispatches: 20.796875 | |||
OK, now we know why it differed. | |||
erm | |||
why multi was faster | 13:20 | ||
Still, not bad that multi dispatch is only a *little* slower... | |||
pmichaud | it bugs me that type-checking Any is slow. | ||
if only because it's soooooo common. | |||
jnthn | Same. | 13:21 | |
Actually | |||
There'll be a notable difference (I hope) between type-checking of Any in multis and in singles. | 13:22 | ||
Because multis have a type-based cache. | |||
pmichaud | wow, running spectests has become *really* slow in the past 48 hours. | ||
dalek | kudo: e374db0 | duff++ | src/classes/Signature.pir: Fix error message output |
13:23 | |
jnthn | pmichaud: Suspect HLL? | 13:25 | |
pmichaud | jnthn: I'm not sure. | ||
Matt-W | Hmm it would be nice if Any was quicker | 13:26 | |
pmichaud | running my spectest-progress update this morning is taking well over an hour. | ||
Matt-W | Would have thought checking that would be really easy | ||
jnthn | Ouch. | ||
pmichaud | usually it's done under 30 minutes. | ||
Matt-W | ouch | ||
dalek | kudo: f71c3e9 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 390 files, 11291 passing, 0 failing |
13:28 | |
pmichaud | jnthn: can you check your benchmark script into tools or something? | 13:29 | |
that way we can all be sure to run the same benchmark | 13:30 | ||
jnthn | pmichaud: 7% performance win in sub dispatch if we getattribute the params list rather than calling .params and just do something more like a for loop rather than getting an iterator PMC every time. | ||
pmichaud | Add a "use v5;" to the top :-) | ||
jnthn | (In !SIGNATURE_BIND) | ||
pmichaud | +1 | 13:31 | |
jnthn | pmichaud: Want me to add that? | ||
pmichaud | I'm very fine with !SIGNATURE_BIND cheating. | ||
!SIGNATURE_BIND can cheat all it wants. | |||
13:40
zamolxes left
|
|||
jnthn | pmichaud: Release will be next week, right? | 13:40 | |
13:42
xinming left
|
|||
dalek | kudo: 5bd02be | jnthn++ | src/classes/Signature.pir: Small optimizations to signature binding; costs us a PMC creation and a method call less every invocation of something that has a signature, which gives a 7% speed-up in a calling benchmark. |
13:45 | |
jnthn | dalek missed the other patch which added the benchmarks to tools/benchmark.pl | 13:46 | |
Matt-W | 7% is not to be sniffed at | 13:49 | |
jnthn | Not when it's something we do every single sub call, for sure. | 13:51 | |
13:56
finanalyst left
|
|||
pmichaud | jnthn: yes, release is next Thursday. | 13:56 | |
jnthn | pmichaud: Even if we put it just somewhere in Rakudo for now, I really feel we should show HLL line numbers. | 13:57 | |
In errors. | 13:58 | ||
pmichaud | I thought Tene was working on that. | ||
jnthn | Me too... | ||
pmichaud | I'm fine with it going in Rakudo, PCT, or wherever. | ||
(with the understanding that it might get refactored to somewhere else) | |||
Matt-W | Would that be line numbers from the actual Perl 6 that's being run? | 13:59 | |
jnthn | Just getting bored of waiting for something I can quite quickly hack in to Rakudo in not that much time. If it is replaced/moved later I don't mind at all. | ||
Matt-W: Yes. | |||
Matt-W | Because I don't care how you do that, I will worship at your feet if you do it | ||
jnthn | Matt-W: Most of the hard work is done, it's just the output we're blocked on. | 14:00 | |
Matt-W | I always thought it looked like it does know the source number | 14:01 | |
because if I look in the PIR generated for Form's modules there are lots of line directives | |||
pmichaud | that's relatively recent. | ||
jnthn | Well, it hasn't always, but pmichaud++ added the .annotate emission a good month or so back. | ||
Or thereabouts. | |||
Matt-W | Well they were very helpful last time I had a nasty thing to debug in Form | ||
just wish they were in the backtrace :) | 14:02 | ||
I would say, hack it in with the knowledge that it'll probably be done properly later. It's too important not to have. | |||
dalek | kudo: cf586e3 | jnthn++ | tools/benchmark.pl: Another benchmark, this time for operator dispatch. |
||
jnthn | OK, I'll toss something quickly into Rakudo to make sure we have them in for the reelease, and when Tene++ has chance to finish up his work on the more official way to do it, it can replace this. | 14:03 | |
pmichaud | actually, if you get something into Rakudo, I can probably move it to PCT relatively quickly. | ||
jnthn | pmichaud: OK | ||
Will leave that to you if you want to do it. :-) | |||
pmichaud | or if you just send me a patch that says "here's how it works in Rakudo", then I'll either move to the patch to PCT or apply it to Rakudo. | ||
jnthn | Will look into it when I've nommed this cheezsarnie. | 14:06 | |
14:11
szabgab left
|
|||
Tene | I can do that today. | 14:12 | |
jnthn | Tene: ohrly? | ||
Tene | but yes, if you can do it faster feel free | ||
jnthn | Tene: Well, if you already have a patch for it I'd rather not re-do something you already did. | ||
14:13
kbrandt left
|
|||
Tene | there's a branch in parrot | 14:13 | |
jnthn | Tene: OK, what's blocking it being merged? | ||
Tene | it breaks a ton of tests that rely on the text of the "no exception handler" message | ||
I had trouble detecting the "there are no annotations" case. | 14:14 | ||
dalek | kudo: a1055ac | pmichaud++ | src/parser/actions.pm: Refactor to remove some redundant if tests in use_statement. |
||
jnthn | Tene: Ugh. | 14:15 | |
pmichaud | afk for a bit | ||
jnthn | Tene: Is deceting the no-annotations case not a case of walking the backtrace and seeing if there is an annotations hash in there somewhere? | 14:16 | |
Tene | jnthn: that's exactly what it should be, but somehow I was having trouble telling the difference between 0 and null | ||
jnthn | OK, maybe most useful is if I take a look at the branch rather than recreating what you've done. Is it the report_hll_info/ one? | 14:17 | |
14:17
xinming joined
|
|||
Tene | probably | 14:17 | |
jnthn | checking it out | 14:18 | |
14:19
mizioumt joined,
LadyLunacy joined
14:21
LadyLuna1y left
|
|||
jnthn | Tene: Were you getting it to print the line numbers for the entire backtrace BTW? | 14:21 | |
Tene | yes | ||
it worked great on perl 6 code | |||
I just got frustrated trying to detect the "no annotations" case and gave up. | 14:22 | ||
That's my guess, at least. | |||
I don't quite remember. :) | |||
jnthn | Tene: ah, found the code in question. | ||
Tene: Ah, I think I may know what's wrong. | 14:28 | ||
interp->code->annotations | 14:29 | ||
That assumes every sub in the backtrace is from the same source segment. | |||
*code segment | |||
Tene: Aww. It doesn't compile for me. | 14:32 | ||
Tene | aw | 14:33 | |
;_; | |||
14:33
NoirSoldats left
|
|||
jnthn | Tene: Oh, easy one. | 14:33 | |
Just a C89 fail. :-) | |||
14:35
jhorwitz joined
|
|||
Tene | man, what kind of crazy compiler are you using? | 14:36 | |
jnthn | One that enforces C89. ;-) | 14:38 | |
Tene | :P | ||
14:40
dalek left
14:41
dalek joined
|
|||
Infinoid | jnthn: I think I just fixed your skipped commit issue | 14:41 | |
jnthn | Infinoid: Oh, nice! :-) | ||
Tene: Ugh, these fails are the annoying... | |||
# at t/pmc/array.t line 121. | |||
# 'Array index out of bounds!' | |||
# doesn't match '/^Array index out of bounds! | |||
# current instr/ | |||
# ' | |||
Tene | yes! | ||
jnthn | We even test to make sure the exclamation mark is in the error! ;-) | 14:42 | |
14:44
frew joined
14:48
payload left,
mizioumt1 joined
|
|||
jnthn | Tene: Is there any reason, if we die without any message, we can't keep showing the "No exception handler and no message"? | 14:48 | |
14:49
mizioumt1 left
|
|||
Tene | Because that's less useful. | 14:49 | |
that's a.. | |||
all. | |||
jnthn | Oh, since we don't show the line number. | ||
Of the throw. | |||
Right. | |||
Hmm. | |||
Tene: One thing that is an issue with the "put it in Parrot" approach is that I suspect many HLLs will want to only show the back trace down to the end of user code, rather than the trace through the compiler tools bits. | 14:52 | ||
14:52
ejs joined
|
|||
Tene | as well, many HLLs might want to override or change the message format | 14:53 | |
jnthn | Aye. | ||
14:53
payload joined
|
|||
jnthn | I'm not saying it's bad Parrot provide a default. | 14:53 | |
Just that in reality many HLLs that already have a way of showing errors that their users are familiar with, may want to keep showing the errors their way. | |||
Tene | right | 14:54 | |
so maybe a print-exception sub in hllcompiler that can be overriden? | |||
jnthn | Perhaps something like that, yes. | ||
I think for now I'll do something in Rakudo, and then we can generalize it. | 14:55 | ||
And I suspect on the Parrot front, try and get a clarification on if the error messages in the test may be changed. | |||
(e.g. at #parrotsketch0 | |||
) | |||
Tene | the answer is "they shouldn't be testing it like that anyway. they should be catching the exception. | ||
" | 14:56 | ||
jnthn | True. | ||
14:56
iblechbot joined
|
|||
Tene | which means the real answer is "Sure, but nobody wants to do all that work, and if they're changing the tests anyway, maybe they should just be updating them instead, but nobody really wants to do even more work. | 14:56 | |
" | 14:57 | ||
14:58
jferrero joined
15:00
mizioumt left
|
|||
Tene | AFK work | 15:04 | |
15:05
ZuLuuuuuu joined
15:11
kimtaro joined
|
|||
jnthn | pmichaud: ping | 15:14 | |
15:18
donaldh left,
jjjmm joined,
donaldh joined
|
|||
jjjmm | #eci123 | 15:19 | |
15:19
jjjmm left
15:20
donaldh left,
donaldh joined
|
|||
TimToady | $!awake = .5 | 15:21 | |
15:21
payload left,
mofino joined
15:22
skids left
15:23
skids joined
15:26
payload joined
15:39
frew left
|
|||
TimToady | moritz_: I think non-literals are allowed in infix:{...}, but they will be evaluated at compile time | 15:41 | |
much like the arguments to a "use" | 15:42 | ||
or anything in a BEGIN | |||
15:42
Psyche^ joined
15:44
Patterner left,
Psyche^ is now known as Patterner
15:46
jferrero left,
justatheory joined
|
|||
pmichaud | jnthn: pong | 15:51 | |
jnthn | pmichaud: Don't worry for now :-) | 15:53 | |
pmichaud: Oh, one question | |||
Do we have the names of the file we're compiling easily avialable? | |||
To emit a .annotate 'file', 'foo' | 15:54 | ||
pmichaud | at present I don't know that PCT has that, but we can easily add it. | ||
15:56
nihiliad joined
15:57
payload left
|
|||
pugs_svn | r26840 | pmurias++ | [re-smop] started porting over p5 integration t/p5.t passes | 15:58 | |
15:58
H1N1[A] is now known as H1N1
|
|||
pugs_svn | r26841 | pmurias++ | [re-smop] update Makefile and .gitignore | 15:58 | |
15:58
ruoso joined,
H1N1 is now known as H1N1[A][Again]
|
|||
ruoso | Hello! | 16:01 | |
pugs_svn | r26842 | lwall++ | [STD] don't use EOF where number expected | 16:05 | |
r26842 | lwall++ | [STD] random rule/token cleanup | |||
pmurias | ruoso: hi | 16:06 | |
ruoso | hi pmurias | ||
pugs_svn | r26843 | pmurias++ | [re-smop] ported over more functions in SMOP.pm | ||
r26843 | pmurias++ | t/p5_lowlevel.t and t/p5_fetch_store.t pass | |||
pmurias | ruoso: we have 3 failing tests in re-mildew :) | 16:08 | |
ruoso | cool | ||
TimToady | std: sub infix:«$s»($a, $b) { 42 } | 16:09 | |
p6eval | std 26841: OUTPUT«Argument "EOF" isn't numeric in numeric ne (!=) at STD.pm line 58609.Argument "EOF" isn't numeric in numeric eq (==) at STD.pm line 58610.##### PARSE FAILED #####(Possible runaway string from line 1)Unable to parse quote-words subscript; couldn't find right double-angle | ||
..quote... | |||
TimToady | I'm not sure whether I should fix that parsefail or not | ||
since »() is a valid postfix to $s | |||
but it's highly unlikely to be what the user expects | 16:10 | ||
16:11
skids_ joined,
skids left
|
|||
jnthn | pmichaud: How this this look? gist.github.com/112278 | 16:12 | |
(For anyone else who wants to see example program and exception output check above too...) | |||
s/this/does/ | |||
pmichaud | perhaps <unknown>:8 instead of "line 8 of file <unknown>" ? | ||
pmurias | ruoso: do you think it would be wise to release smop to cpan once the refactoring is over (soonish) and have CPAN Testers attempt to compile it? | 16:13 | |
pmichaud | (adding file annotations now, also) | ||
ruoso | pmurias, I'm not sure that's wise while we still depend on haskell | 16:14 | |
but maybe I'm wrong | 16:15 | ||
pmurias | scons seems a less common dependency | ||
ruoso | yeah... maybe we should try to port that to Module::Build | 16:16 | |
jnthn | pmichaud: Got it now like | 16:17 | |
at method A::b <unknown>:3 | |||
called from sub bar <unknown>:8 | |||
pmichaud | maybe parens | ||
jnthn | Better? | ||
heh | |||
pmichaud | at method A::b (<unknown>:3) | ||
that's more like what I've seen in other error traces. | |||
jnthn | OH NOES I HAS A FAIL | 16:20 | |
at method A::b (<unknown>:3) | |||
called from sub bar (<unknown>:8) | |||
pmichaud | I like it. | ||
jnthn | same. | ||
pmichaud | maybe s/at/in/ | ||
jnthn | yeah | 16:21 | |
done. | 16:22 | ||
pmichaud | I have the 'file' annotation done. | 16:23 | |
jnthn | oh awesome, that was quick :-) | ||
pmichaud | just doing some tests now. | ||
jnthn | pmichaud: I have a slight issue with where I've put this code. | ||
pmichaud: It seems that eval doesn't call evalpmc but instead just evals the code itself | 16:24 | ||
pmichaud | evalpmc doesn't do the eval, it creates an evalpmc. | ||
(If you're referring to HLLCompiler.evalpmc) | |||
ruoso | pmurias, I know you don't like the idea very much, but I think it would be a good idea to port m0ld to p5... | ||
jnthn | pmichaud: Yes | ||
pmichaud | checking. | 16:25 | |
that's correct, evalpmc simply generates an Eval PMC | |||
it doesn't execute it | |||
jnthn | pmichaud: OK | ||
pmichaud | which 'eval' are you referring to ? | ||
jnthn | eval method in HLLCompiler | ||
pmichaud | 'evalpmc' is the last stage of 'compile' | 16:26 | |
jnthn | I subclassed it, call the super-class one... | ||
Well, it seems to "drive" the compile in some ways | |||
In that parse errors or any error ends up coming through this. | |||
pmichaud | I don't quite understand. | 16:27 | |
'eval' will do compilation of a string, yes. | |||
sorry | |||
'eval' will do compilation and execution of a string, depending on 'target' | |||
jnthn | OK | ||
Is it OK that we catch all compile errors with this same handler? | 16:28 | ||
pmichaud | it should be okay for now. | ||
jnthn | And do you still want the full grammar tree backtrace to be printed? | ||
pmichaud | I'm less certain of that. | ||
jnthn | On syntax errors? | ||
OK. | |||
It's not being with my changes, that's all... | |||
pmichaud | I'm fine with it not displaying the full backtrace for now. IWBNI we have an option to get the backtrace. | 16:30 | |
but the number of times I use the backtrace is pretty small. | 16:31 | ||
pmurias | ruoso: untill we can run more stuff, ease of install isn't IMHO a hight priority | ||
bbl | |||
judo& | |||
16:31
pmurias left
16:33
mizioumt joined
|
|||
jnthn tries to make sure there's no way the exception printer can easily crash...that would be rather unfortunate. | 16:35 | ||
pmichaud | jnthn: e4f7b12 has the file annotations. | 16:42 | |
jnthn | yay | ||
pmichaud | (and bumps PARROT_REVISION) | ||
I suspect we'll have a number of PARROT_REVISION bumps this week. | 16:43 | ||
jnthn | That's fine. | ||
PGE updates? | |||
pmichaud | Yes, and PCT updates. | ||
jnthn | OK | ||
What have you got planned? | |||
pmichaud | well for one, removing things that were deprecated as of 1.0 | ||
jnthn | Aha. | ||
pmichaud | but also the combine-loadinit-blocks change | 16:44 | |
and various other PCT refactors | |||
I'll likely take the exceptions code you've created and put it into PCT as well. | |||
then we'll have smart exceptions in NQP :-) | |||
jnthn | pmichaud: It's a bit Rakudo-specific. | ||
pugs_svn | r26844 | lwall++ | [STD] disallow >>( as part of interpolation; must use >>.( to mean that | ||
pmichaud | then I'll adapt it. :-) | 16:45 | |
jnthn | pmichaud: It knows what's a Routine and what's not. | ||
So it doesn't give a huge list with _block42 in and so on. | |||
dalek | kudo: e4f7b12 | pmichaud++ | (2 files): Add 'file' annotation to generate code. |
||
pmichaud | I'm thinking we may be able to eliminate the _block42s | ||
pmichaud | since we have subids, we don't ever refer to anonymous blocks by their true name | 16:46 | |
so we could just as easily name them '' | |||
jnthn | True. | ||
pmichaud | then the backtrace could ignore blocks that have names of '' | 16:47 | |
jnthn | But even so, we don't wanot to show 'em all in bt. | ||
Yes, that'd be another way. | |||
The Rakudo one is still smart enough then to know what is a sub and what is a method, but I'm not sure if that's valuable. | |||
Wouldn't be a big deal to me if we lost that in the factor out to nqp, just thought it'd be a nice to have. | |||
pmichaud | Is there a way in parrot to introspect the anon/method bits? | ||
jnthn | If there is, it's probably available through the inspect op. | 16:48 | |
/vtable | |||
If not, then it's easy enough to add it to inspect. | |||
pmichaud | anyway, now that I have a working example it should be possible to do something in PCT | ||
we may still end up with a rakudo-specific backtracer, but it'll be an overridable thing | |||
jnthn | Updating my Parrot to check out the file thing. :-) | 16:49 | |
pmichaud | i.e., PCT will give languages the ability to override the default handler | ||
jnthn | oh noes | ||
null.obj : error LNK2001: unresolved external symbol _CONST_STRING_GEN | |||
libparrot.dll : fatal error LNK1120: 1 unresolved externals | |||
maybe I should have realclean'd. | 16:50 | ||
pmichaud | normally --gen-parrot realcleans for you | ||
16:51
phenny left,
phenny joined
|
|||
TimToady | std: sub infix:«$s»($a, $b) { 42 } | 16:53 | |
p6eval | std 26844: OUTPUT«##### PARSE FAILED #####Unable to parse quote-words subscript; couldn't find right double-angle quote at /tmp/M4kBUFsyCZ line 1:------> FAILED 00:04 38m» | ||
TimToady | it's lying about the version again... | 16:54 | |
16:55
awarefish joined
|
|||
jnthn | pmichaud: realclean fixed it - I maintain my own Parrot build btw | 16:57 | |
Man does Rakudo's compile feel un-fast... :-| | 16:58 | ||
OH NOES I HAS A FAIL | 16:59 | ||
in method A::b (crash.p6:3) | |||
pmichaud++ | |||
Tene | jnthn: can you fix the class { sub { ... } } thing? | 17:00 | |
jnthn | ah, yes | 17:02 | |
Tene: Hang on, which one, the multi in a class one? | |||
Or just subs in a class? | |||
Tene | ... I have another evil idea... | ||
the latter. | |||
jnthn | ok, that's the easy one | ||
:-) | |||
Tene | or maybe it was multi... | ||
jnthn | Both have issues. | ||
17:04
LylePerl joined
|
|||
jnthn | Tene: If it's multi you want I'll just throw in a quick hack fix. I have a branch to use hll_map instead of doing re-blessing in !TOPERL6MULTISUB so it will eliminate the code that is has a fail anyway. | 17:05 | |
But don't rate my chances of finishing that branch today. | 17:06 | ||
Tene | jnthn: no hurry... | ||
I can work around for now. | |||
TimToady | std: sub infix:«$s»($a, $b) { 42 } | 17:07 | |
p6eval | std 26844: OUTPUT«ok 00:04 38m» | ||
TimToady | std: sub infix:«$s».($a, $b)» { 42 } | 17:08 | |
p6eval | std 26844: OUTPUT«ok 00:04 38m» | ||
TimToady | std: sub infix:«$s».($a, $b)» ($a,$b) { 42 } | ||
p6eval | std 26844: OUTPUT«ok 00:04 39m» | ||
dalek | kudo: b7e9b77 | jnthn++ | perl6.pir: Subclass eval and add support for printing a backtrace with the HLL details. Tries to get decent output for various situations; we'll see how it plays out and no doubt tweak it as we discover where it's less than good. |
||
TimToady | std: sub infix:«$s»($a, $b)» ($a,$b) { 42 } | ||
p6eval | std 26844: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/Wo4EPGlBM7 line 1:------> sub infix:«$s»($a, $b)» ($a,$b) { 42 } expecting any of: blockoid routine_def terminator trait whitespaceFAILED 00:04 38m» | ||
17:10
kaether joined
17:12
ejs left
|
|||
jnthn | Oh ouch | 17:18 | |
Fixing class Foo { sub bar { return 42 }; bar() } actually ain't quite so easy. :-( | 17:19 | ||
(Problem is that we run the class's loadinit before that of the sub so it's not re-blessed before we run it... | |||
) | |||
17:22
sri_kraih joined
17:29
cdarroch joined
|
|||
jnthn | pmichaud: Got a fix for 65672. | 17:34 | |
(I think that was the one you were keen for me to fix...) | |||
Spectesting atm. | 17:35 | ||
17:38
frew joined,
M_o_C joined
17:45
angelixd left
|
|||
patmat | ah one dumb question, is there a "switch case" for Perl6? | 17:46 | |
TimToady | given/when | 17:47 | |
17:47
ejs joined
|
|||
mberends | patmat: given $value { when 1 { say "one"; } when 2 { say "two"; } }; etc... | 17:47 | |
patmat | great great!!! thanks | ||
TimToady | std: given $value { when 1 { say "one"; } when 2 { say "two"; } } | 17:49 | |
p6eval | std 26844: OUTPUT«##### PARSE FAILED #####Statements must be separated with semicolon at /tmp/hJrI0ifKLk line 1:------> given $value { when 1 { say "one"; } when 2 { say "two"; } } expecting any of: infix stopper statementOther potential difficulties: Variable $value | ||
..is no... | |||
TimToady | :P | ||
patmat applauds o/ | |||
mberends | std: given $value { when 1 { say "one" }; when 2 { say "two" }; } | 17:50 | |
p6eval | std 26844: OUTPUT«Potential difficulties: Variable $value is not predeclared at /tmp/9HIEjBgZHf line 1:------> given $value { when 1 { say "one" }; when 2 { say "tok 00:04 36m» | ||
mberends | :P again | 17:51 | |
Eevee | std: given 2 { when 1 { say 'one' }; when 2 { say 'two' }; } | ||
p6eval | std 26844: OUTPUT«ok 00:02 36m» | ||
Eevee | huzzah, perl 6 can switch on a literal | ||
TimToady | why shouldn't it? | 17:52 | |
jnthn | rakudo: given 2 { when 1 { say 'one' }; when 2 { say 'two' }; } | 17:53 | |
p6eval | rakudo b7e9b7: OUTPUT«two» | ||
Eevee | TimToady: oh, of course it should; just amused that the first attempt that parsed cleanly was nearly useless :P | 17:54 | |
TimToady | the second attempt parsed cleanly two; it just failed a strictness check | 17:57 | |
s/two/too/ | |||
18:11
cognominal left
18:24
nbrown left
18:26
japhb left
18:27
nbrown joined,
kidd is now known as raig
18:41
skids_ left
|
|||
TimToady | jnthn: are the annotations by line or by position? it would be nice if error messages could point to the place within the line where it thinks the problem is. | 18:42 | |
jnthn | TimToady: Just line. | 18:43 | |
TimToady | one can always map position back to line, so it doesn't take any more storage | ||
except for the translation table | |||
jnthn | TimToady: You're assuming we'll have the source around. | ||
18:43
skids_ joined
|
|||
jnthn | TimToady: The parser can probably give errors down to the position very easily. | 18:43 | |
TimToady | not much point in reporting the line without the source :) | ||
just something to bear in mind | 18:44 | ||
jnthn | Not at all, I find exception reports from production systems where only the "binaries" are deployed including line number is very helpful. | ||
Since while the source ain't sat on the production systems, I certainly have it. :-) | 18:45 | ||
TimToady | oops, lunch | ||
jnthn | Parrot's annotations system is completely general though. | ||
TimToady | kay | ||
later, thanks & | |||
jnthn | You can annotate the moon phase at compile time if you want. ;-) | ||
So we can do better on that later if we need. :-) | |||
enjoy lunch | |||
18:51
japhb joined,
dalek left
18:52
dalek joined
|
|||
pmichaud | it's no problem for us to annotation the position as well... but as jnthn++ indicates -- we might not have the source. Unless we embed the source itself into the compiled output (which is certainly a possibility). | 19:01 | |
*annotate | |||
if we do that, then &sub.perl becomes a lot more plausible :-) | |||
dalek | kudo: ee6739d | jnthn++ | perl6.pir: Tweaks to error messages, and a better error for return outside of subroutine. |
19:03 | |
19:06
nbrown_ joined
19:07
M_o_C left
|
|||
jnthn | pmichaud: Going for dinner now but...fixing the &multi ~~ Callable is less easy that I thought. :-( | 19:14 | |
Back in a bit, anyways. | |||
19:17
Kisu joined
|
|||
patmat | hey, i wrote a little sign of zodiac program before, i'm a programming newbie | 19:19 | |
www.pastie.org/479424 | |||
how do you think is it written? very bad? | |||
its just a simple thing but i'm a real beginner | |||
19:20
donaldh left,
donaldh joined
|
|||
patmat | i'm using an Array for the zodiac of signs now I think :P | 19:22 | |
the little messages | |||
19:24
nbrown left
19:32
araujo left
|
|||
ruoso | rakudo: my $a = 'foo'; $foo ~~ s/ oo $ / ar /; say $foo | 19:33 | |
p6eval | rakudo ee6739: OUTPUT«Scope not found for PAST::Var '$foo' in in Main (src/gen_setting.pm:3119)» | ||
ruoso | rakudo: my $foo = 'foo'; $foo ~~ s/ oo $ / ar /; say $foo | ||
p6eval | rakudo ee6739: OUTPUT«Could not find non-existent sub s» | ||
jnthn back | 19:35 | ||
PerlJam | patmat: did you mean to write an infinite loop? | ||
ruoso | why did my test fail? | 19:36 | |
PerlJam | ruoso: s/// isn't implemented with that syntax in rakudo yet. | ||
ruoso | which syntax is supported then? | ||
PerlJam | rakudo: my $foo = "foo"; $foo .= subst(/oo$/, "ar"); say $foo; | 19:37 | |
p6eval | rakudo ee6739: OUTPUT«far» | ||
ruoso | cool | ||
rakudo: class Foo { method postcircumfix:<{ }> ($name) { say $name } }; say Foo.new<abc>; | 19:38 | ||
p6eval | rakudo ee6739: OUTPUT«Malformed method definition at line 1, near "postcircum"in Main (src/gen_setting.pm:0)» | ||
ruoso | meh | ||
how do I implement a Hash api in rakudo? | 19:40 | ||
jnthn | Probably nice that... | ||
It may just be that we don't parse postcircumfix:<{ }> yet though. | 19:41 | ||
(may even just be a grammar.pg addition) | |||
19:41
iblechbot left
|
|||
jnthn | Well, for non-custom post-circumfixes anyway. | 19:41 | |
ruoso | yeah... I just want that one ;) | 19:42 | |
19:42
nbrown_ left
|
|||
ruoso | I want to make the API look like I'm accessing a Hash, but it's actually doing something more than that | 19:42 | |
jnthn | You sure do try out all the evil corners of Perl 6. :-) | 19:43 | |
pasteling | "ruoso" at 189.97.251.132 pasted "example use of Hash-like API to have richer semantics..." (50 lines, 1.2K) at sial.org/pbot/36644 | ||
ruoso | jnthn, if wouldn't use it, I would stay with p5 ;) | ||
Tene | jnthn: look at my commit adding circumfix | 19:44 | |
should be the same | |||
jnthn | Tene: Yeah, I'm already looking for that. :-) | 19:45 | |
19:45
frew left
19:46
cognominal joined
|
|||
ruoso | jnthn, does it mean I don't need to work-around it? | 19:47 | |
19:47
pmurias joined
|
|||
pmurias | rehi | 19:47 | |
19:48
hercynium joined
19:49
ejs left
|
|||
ruoso | hi pmurias | 19:49 | |
jnthn | ruoso: Wait a moment. Think I may have it... | ||
(method_def didn't yet match routine_def) | 19:50 | ||
19:50
eMaX joined
19:51
eternaleye left
19:53
Fuad joined
|
|||
Fuad | hi all | 19:58 | |
pmurias | ruoso: re translating m0ld to p5, what would we gain by that other then not requiring haskell? | ||
ruoso | mostly, that's it... | 19:59 | |
jnthn | ruoso: Got your example working. ;-) | ||
ruoso | cool | ||
20:00
kate21de joined
|
|||
jnthn | ruoso: Gonna run tests, then get it in. :-) | 20:00 | |
ruoso | :D | ||
20:14
Kyosuke_Kiryu left
|
|||
PerlJam | ruoso: you want my $com_name = $component.WHAT.perl; instead of using subst() to remove the last 2 characters. | 20:15 | |
ruoso | rakudo: class Foo {}; say Foo.new.WHAT.perl; | ||
p6eval | rakudo ee6739: OUTPUT«Foo» | ||
ruoso | rakudo: class Foo {}; say Foo.new.WHAT.Str; | 20:16 | |
p6eval | rakudo ee6739: OUTPUT«Foo()<0xb62d77b8>» | ||
ruoso | hmm | ||
cool | |||
PerlJam++ | |||
20:19
araujo joined
|
|||
pasteling | "ruoso" at 189.97.251.132 pasted "after some more updates" (71 lines, 1.7K) at sial.org/pbot/36646 | 20:19 | |
patmat | i have a problem, installing rakudo on mac os x, there is always this error: | 20:23 | |
Building Parrot ... | |||
Unable to locate parrot_config | |||
git is installed, svn is installed, it's happening after the perl --Configure.. thing | |||
PerlJam | patmat: you did ... perl Configure.pl --gen-parrot ? | 20:24 | |
patmat | yes | ||
[particle]- | is rakudo installable yet? | 20:25 | |
patmat | yes it was built via git | ||
it worked fine | |||
i had no problems with it on Ubuntu | |||
PerlJam | [particle]-: make: *** No rule to make target `install'. Stop. | ||
jnthn | patmat: Do you see any errors from Configure.pl? | 20:26 | |
As in, did it actually build a Parrot? | |||
patmat | yes i think so | 20:27 | |
[particle]- | nopaste the output of your build session | ||
patmat | there aren't errors, just that message and it stops | ||
one moment | 20:28 | ||
LadyLunacy | pastie.org/private/citfc3alinhh8fr77ykw | 20:30 | |
patmat | thats it :) | 20:31 | |
PerlJam | That "compilation failed with 'cc'" is the important part. It never built parrot, so rakudo couldn't find parrot_config | 20:32 | |
patmat | oh so how can i fix it? | ||
PerlJam | dunno. I'm not real well versed in the foibles of MacOSX. Do you have a C compiler installed? | 20:33 | |
ruoso | github.com/ruoso/faz/blob/24d2e0110...ntainer.pm <-- final version of the code waiting for jnthn's commit ;) | 20:36 | |
patmat | which compiler can i use with mac os x? i'm not familiar with osx :P | 20:37 | |
literal | Embedded comments are forbidden at the beginning of a line because of the case when you comment a block of code that includes a { or such and the beginning of a line. I'm wondering if similar arguments could be made against a hypothetical multiline #== / ==# comment. | 20:39 | |
ruoso | rakudo: class Foo does Positional { my @a = 1,2,3; method list { @a } }; for @(Foo.new) { .say } | 20:40 | |
p6eval | rakudo ee6739: OUTPUT«123» | ||
ruoso | rakudo++ | ||
rakudo: class Foo { my @a = 1,2,3; method list { @a } }; for @(Foo.new) { .say } | |||
p6eval | rakudo ee6739: OUTPUT«123» | ||
ruoso | rakudo++ | ||
literal | the #== / ==# denoting a Pod comment/docstring, of course | ||
jnthn | ruoso: just comitted ;-) | ||
ruoso | and pushed? | 20:41 | |
jnthn | Yes. | ||
:-) | |||
ruoso was supposed to leave 45 minutes ago... but couldn't resist not to test this... | |||
ruoso rebuilding parrot... I think I won't be able to wait after all... | 20:44 | ||
jnthn | ruoso: Shouldn't need a Parrot re-build, just a Rakudo one. | ||
dalek | kudo: e86dd9e | jnthn++ | src/parser/ (2 files): Allow parsing of postcircumfix:<...> and also allow methods as well as subs to be used to define operators. |
||
ruoso | I had a pretty old parrot | ||
jnthn | Oh, unless you need other things that do need a Parrot update... | 20:45 | |
OK. :-) | |||
ruoso | but it wasn't a dead parrot yet | ||
;) | |||
jnthn | ;-) | ||
pmurias | ruoso: we have 2 tests failing in re-mildew now... :) | 20:46 | |
ruoso | pmurias++ | ||
jnthn | You guys sure pick the most unappealing substances to name bits of your compiler after. :-) | 20:47 | |
slime...mold...mildew...what next? ;-) | |||
ruoso | you forgot s1p (read swamp) | 20:48 | |
pugs_svn | r26845 | pmurias++ | [re-smop] | ||
r26845 | pmurias++ | a default how is set in p6opaque | |||
r26845 | pmurias++ | added %how $!attr = ... to the RI DSL | |||
jnthn | :-) | ||
pmurias | buying some food& | 20:49 | |
20:51
masak joined
|
|||
ruoso | hey masak | 20:51 | |
jnthn | oh hai masak | ||
masak | oh hai. | 20:52 | |
ruoso | masak, Faz now allows you to have models and views | ||
masak | whoz op, ako sa mas? | ||
jnthn | masak: mam sa dobre, a ty? | ||
ruoso | Yarn+Faz already uses a model | ||
masak | jnthn: mam [also] sa dobre. | ||
jnthn | parse error: 'sa' must be in second position | 20:53 | |
.oO( hmmm...a Perl 6 grammar to parse Slovak... ) |
|||
masak | jnthn: oh. is 'sa' the predicate? | 20:54 | |
jnthn | masak: It's the reflexive particle. | 20:55 | |
mam = I have | |||
masak | ah. of course. | ||
jnthn | "mam sa" is kinda idiomatic | ||
Like, "to have feeling" or something | |||
ruoso already wrote a portuguese grammar in Perl 6 rules some time ago... | |||
masak | 'to have oneself good' | ||
jnthn | But if you put a Ja (I) at the start you'd need to shuffle the particle back a bit | ||
Ja sa mam dobre | 20:56 | ||
dalek | kudo: 6ac1eaf | jnthn++ | perl6.pir: Unbreak warnings. (Oops.) |
||
masak | oh, still 'sa' in that case? quirky. :) | ||
ruoso | jnthn, aha! I knew something was wrong! | ||
jnthn | Yeah, worse is when you get other particles or particle-ish things. | ||
masak | it always is. | 20:57 | |
jnthn | And they too want to be in certain positions, and have various "priorities". | ||
masak | aye. | ||
ruoso | jnthn, what happened to the backtrace when you have Null PMC? | ||
jnthn | ruoso: You should still get some kind of backtrace, but it'll be more at the sub level now, and have HLL line numbers in. | 20:58 | |
We may need a flag to disable that for development purposes... | |||
To aid debugging such things. | |||
ruoso | couldn't it fallback on the Null PMC case? | ||
since I got no backtrace at all | |||
jnthn | rakudo: sub foo { ::T = 42 }; sub bar { foo() }; bar() | 20:59 | |
p6eval | rakudo e86dd9: OUTPUT«Null PMC access in getprop()» | ||
jnthn | Ouch, that shoulda given a backtrace with foo and bar in it for sure... | ||
ruoso: Probably don't want to specialize the Null PMC case... | 21:00 | ||
ruoso | anyway... got to go... | ||
masak | ruoso++ | ||
jnthn | Should just fix the general bug. Looking... | ||
ruoso | masak, have you seen the model stuff? | ||
masak | ruoso: no, just seen a lot of commit activity. | ||
ruoso: I'm definitely interested though. will look. | |||
ruoso | I need a template engine in Perl 6 now... | 21:01 | |
masak | ruoso: I'll see what I can do. :) | ||
ruoso decommute & | |||
jnthn | rakudo: return | 21:02 | |
p6eval | rakudo e86dd9: OUTPUT«Can't return outside a routinein Main (/tmp/g6n2COhvhY:1)» | ||
masak | rakudo: leave | ||
p6eval | rakudo e86dd9: OUTPUT«Could not find non-existent sub leave» | ||
21:02
ruoso left
|
|||
masak | it just can't take a hint, it seems. | 21:02 | |
rakudo: exit | 21:03 | ||
p6eval | rakudo e86dd9: OUTPUT«Diedin Main (/tmp/WdkxEIfnKU:1)» | ||
masak | o_O | ||
jnthn | Heh, exit once worked? | ||
It so, it seems it wasn't tested. | |||
masak | I think it needs something like exit(0) | 21:04 | |
rakudo: exit(0) | |||
p6eval | rakudo e86dd9: OUTPUT«Diedin Main (/tmp/032eTTuG9k:1)» | ||
masak | meh. | 21:05 | |
jnthn | ah, the error handler is just catching the exit exception. | ||
[particle]- | figures | ||
jnthn | no biggie | ||
can easily fix that up. | |||
Honestly, I give you errors with HLL line numbers in and you just find ways to break Rakudo. :-P | 21:06 | ||
21:06
mofino left
|
|||
masak | jnthn: sorry :) | 21:07 | |
jnthn | masak: Just testing exit fix. | ||
Wanna work out why that null pmc access didn't get a bt though. | |||
oh, I know why...'cus .backtrace gets the address from the resume cont, and I guess exceptions thrown from C don't have one. Hmm. :-| | 21:14 | ||
21:14
mizioumt left
|
|||
dalek | kudo: 1f14582 | jnthn++ | perl6.pir: Fix exit. (Oops again.) |
21:18 | |
21:19
skids_ left,
Fuad left
21:20
hercynium left
|
|||
patmat | if ($antwort eq 'Y' && 'y') { | 21:23 | |
what's wrong with that line? | |||
jnthn | you probably meant | ||
if $antwort eq 'Y' & 'y' { | |||
erm | |||
wait, that can probably never work :-) | |||
patmat | :P | 21:24 | |
jnthn | you probably want | ||
if $antwort eq 'Y' | 'y' { | |||
patmat | why just | ? | ||
jnthn | YOu can $antwort to be equal to Y or y right? | ||
Or did I not get what you're trying to do@ | 21:25 | ||
? | |||
masak | patmat: it creates an any() junction. | ||
patmat | it works now :) | ||
at the moment it looks like this: | |||
masak | patmat: you can either do 'if $antwort eq "Y" || $antwort eq "y"' or 'if $antwort eq "Y" | "y"'. | ||
PerlJam | patmat: it worked before ... it just didn't do what you wanted ;) | 21:27 | |
patmat | www.pastie.org/479586 | ||
i understand masak thx :) | |||
my brain hurts :DD it's simple huh but hard to do for me | |||
masak | patmat: you're doing fine. :) | 21:29 | |
patmat: and if you really do understand junctions, please explain them to the rest of us. :P | |||
PerlJam | patmat: your given should probably look more like given $monat { when 1..12 { say @text[$monat-1] } default { say "invalid month" } } | 21:30 | |
patmat: and rather than that if statement at the end of the loop, you could do $i = $antwort eq 'Y' | 'y'; | 21:31 | ||
lichtkind | patmat: you have no respect to astrology :) | ||
PerlJam | patmat: oh, and $monat == 6 || 9 || 11; should really be $monat == 6 | 9 | 11 | 21:32 | |
patmat: same for the elsif below that one | |||
patmat | yup thx | ||
so you mean the given - when has another style... | |||
isnt it a matter of taste?? | 21:33 | ||
21:33
mr_bo_jangles joined,
Whiteknight joined,
mr_bo_jangles left
|
|||
patmat | ahh sorry PerlJam i know what you mean... | 21:33 | |
PerlJam | Geburtstag == "day of your birth" and Geburtsmonat == "month of your birth"? | ||
patmat | yes | ||
PerlJam learns little tiny bit more german | 21:34 | ||
patmat | :P | ||
i'm correcting it now!! | 21:35 | ||
21:40
Darknknigt joined
|
|||
jnthn | Eurgh. I've just found out why we get some of the arity-based multi-dispatch stuff wrong. | 21:41 | |
21:44
Darknknigt left
|
|||
lichtkind | jnthn++ | 21:45 | |
mberends | grrr. Is perl6_s1.pbc (the setting compiler) known to be offended by certain expressions? It either hangs or aborts on several things that Rakudo accepts. | 21:46 | |
jnthn | mberends: It's not really intended to be directly used, other than for compiling the setting. | 21:47 | |
mberends: What is it moaning about? | 21:48 | ||
mberends | understood. Are there guidelines for the language subset? pasting... | ||
jnthn | The guideline is something like "enough to compile the setting" ;-) | ||
21:49
Fuad joined
|
|||
PerlJam | rakudo: class Foo { method bar { self.baz; } }; class Bar is Foo { method baz { Foo::baz(self); } }; my $m = Bar.new; $m.bar; | 21:49 | |
p6eval | rakudo 1f1458: OUTPUT«Null PMC access in invoke()» | ||
PerlJam | Hmm | ||
LadyLunacy | dubidubi | ||
masak jams along | 21:50 | ||
pasteling | "mberends" at 83.161.42.49 pasted "part of Temporal.pm for setting - final line dies "Malformed declaration"" (23 lines, 846B) at sial.org/pbot/36648 | 21:51 | |
21:52
Chillance joined
|
|||
PerlJam | mberends: missing $ | 21:52 | |
masak | rakudo: say $*IN.get.flip | ||
p6eval | rakudo 1f1458: OUTPUT«Could not find non-existent sub die» | ||
masak | jnthn: ! | 21:53 | |
mberends | PerlJam: of course! | ||
patmat | www.pastie.org/479609 | ||
so, finish for today or i die :P its not totally correct yet | |||
jnthn | masak: I rather doubt that one is new today... | 21:54 | |
patmat | but it will be :D good night everyone, thanks for your help you guys are great!! :D | ||
jnthn | mberends: It works now? | 21:55 | |
# algorithm from Claus Tøndering | |||
Nice use of unicode! ;-) | |||
mberends | testing... it usually hangs when unhappy. The other invalid syntax is 'my' without assignment. | ||
yep, hung with $ put back. | 21:56 | ||
jnthn | oh, that's...odd | ||
hung? | |||
masak | jnthn: but... why? | ||
mberends | well hung | ||
jnthn doesn't write *any* of the things that just came to mind when he read that | 21:57 | ||
mberends | remove the last line and note the compile time. Put the line back and it consumes increasing RAM and CPU. | ||
jnthn | mberends: It hangs on compiling my wday = ($jd + 1) % 7 + 1; | 21:58 | |
erm, with the $? | |||
rakudo: class A { method m { my $x = 42 } } | 21:59 | ||
p6eval | rakudo 1f1458: ( no output ) | ||
mberends | with $wday. I've cut loads more out to get *something* to compile. | ||
jnthn | mberends: Hmm. That seems like a *really* odd thing to cut out... | ||
And to have make a difference. | |||
mberends | pasting full original Rakudo working code, FWIW. | 22:00 | |
22:00
DemoFreak left
22:01
DemoFreak joined
|
|||
pasteling | "mberends" at 83.161.42.49 pasted "Temporal.pm Rakudo working version" (176 lines, 5.5K) at sial.org/pbot/36649 | 22:01 | |
jnthn | mberends: Added cut-down version to my local setting and compiling... | ||
mberends | good luck :) may the Windows be with you... | 22:02 | |
22:02
Chillance left
|
|||
masak | mberends++ # looks nice | 22:03 | |
mberends | got nice tests too :) | ||
masak | ooh! | ||
jnthn | mberends: reproduced | ||
22:04
Chillance joined
|
|||
jnthn | oh hmm | 22:04 | |
error:imcc:syntax error, unexpected IDENTIFIER, expecting $end ('Malformed') | |||
pasteling | "mberends" at 83.161.42.49 pasted "Temporal.t" (59 lines, 2.5K) at sial.org/pbot/36650 | ||
jnthn | mberends: do you get the hang on this line: | 22:05 | |
C:\Consulting\parrot\trunk\parrot.exe -o perl6.pbc perl6.pir | |||
(with your parrot path of course) | |||
mberends | earlier. | ||
jnthn | mberends: oh, duh! | 22:06 | |
didn't reproduce ;-) | |||
trying again :-) | |||
mberends | parrot perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir | ||
jnthn | yeah, getting it there now | 22:07 | |
oh no | |||
it's actually managed to finish here | 22:08 | ||
22:08
alester left
|
|||
mberends | then it's my cheap amd cpu :P | 22:08 | |
jnthn | > say Temporal::Date.WHAT | ||
lambdabot | Failed to load interface for `Date': | ||
Use -v to see a list of the... | |||
jnthn | Date() | ||
mberends: Yeah, you should bet an Antitrust one. | 22:09 | ||
erm, Intel. | |||
mberends: Where did you add it in the setting? | |||
At the end? | |||
Also, I do use a load of RAM while compiling it... | |||
mberends | alphabetically, penultimate in setting list | 22:10 | |
jnthn | OK, I added it at the end. Hmm. | ||
masak | mberends: our Str method iso8601($_:) { sprintf '%02d:%02d:%02d', .hour, .minute, .second } | ||
mberends | jnthn: between Range and Whatever | 22:11 | |
masak: golf already? | |||
masak | mberends: well, I'm willing to compromise. :) doesn't have to be quite that short. | ||
mberends: I just saw a lot of repetition, so I bit. | 22:12 | ||
mberends | it works like that every time :) | ||
masak | mberends: our Str method iso8601() { given self { return sprintf '%02d:%02d:%02d', .hour, .minute, .second } } # might be better | ||
mberends | tell that to perl6_s1.pbc | 22:13 | |
masak | :/ | ||
what the heck is that thing? it just seems to be causing a lot o' trouble... | |||
mberends | the setting compiler? | 22:14 | |
masak | oh. that explains it. :/ | ||
mberends | it's a little bit more QP than NQP | 22:15 | |
but not Q enough | |||
masak | Q. | 22:16 | |
mberends | :) | ||
masak | mberends++ # nice use of subset in 'subset Offset' | ||
22:16
REPLeffect left
|
|||
mberends | don't remember where I copied that from ;-) | 22:17 | |
22:17
lichtkind_ joined
|
|||
mberends | S32-Temporal | 22:17 | |
masak | perl6: class A { my subset B of Int where { $^n < 10 }; has B $.c }; A.new( c => 20 ); say "alive" | 22:18 | |
p6eval | elf 26845: OUTPUT«Unknown rule: type_declarator:expect_termIt needs to be added to ast_handlers. at ./elf_h line 2850» | ||
..pugs, rakudo 1f1458: OUTPUT«alive» | |||
masak submits rakudobug | |||
rakudo: class A { my subset B of Int where { $^n < 10 }; has B $.c }; my $a = A.new( c => 20 ); say $a.c | |||
p6eval | rakudo 1f1458: OUTPUT«20» | 22:19 | |
masak | hah! | ||
the corner case hunter in me does a little dance. | |||
22:20
LadyLuna1y joined
|
|||
mberends | that's not just a corner, it's a garage door | 22:21 | |
masak | nevertheless, I found it first. :P | 22:22 | |
22:22
test joined
|
|||
mberends | and it's wide open | 22:22 | |
PerlJam | rakudo: class A { my subset B of Int where { $^n < 10 }; has B $.c }; my $a = A.new( c => "foo" ); say $a.c | 22:23 | |
p6eval | rakudo 1f1458: OUTPUT«foo» | ||
masak | o_O | ||
PerlJam | indeed | ||
22:23
LadyLunacy left
|
|||
jnthn | Almost certainly the same underlying issue. | 22:23 | |
(Though I don't know which issue...) | |||
mberends | The Big Issue | 22:24 | |
masak | jnthn: wishful thinking... :) | ||
jnthn | I do have my suspicions though... | ||
masak | rakudo: subset B of Int where { $^n > 5 }; my B $x; say $x.WHAT | 22:26 | |
p6eval | rakudo 1f1458: OUTPUT«()» | ||
PerlJam | heh | ||
masak | what's that? | ||
rakudo: subset B of Int where { $^n > 5 }; my B $x; say $x < 5 | 22:27 | ||
p6eval | rakudo 1f1458: OUTPUT«Use of protoobject as value1» | ||
mberends | proto has so many uses! | ||
masak | actually, that use has been renamed. :) | 22:28 | |
masak patches | |||
PerlJam | Am I the only one who occasionally chunks protoobject as pro-toob-ject? | ||
masak | PerlJam: yes. :P | ||
mberends | PerlJam: get help | 22:29 | |
PerlJam | heh | ||
masak | mberends: I was on the verge of saying that! :) | ||
22:30
hercynium joined
|
|||
jnthn | mberends: working on the hang, but not much clues yet | 22:30 | |
apart from I keep finding it in string hanlding routines | |||
mberends | there is probably no test suite for perl6_s1.pbc :( | 22:31 | |
masak | I'm making spectest, and then I'm going to bed. | 22:32 | |
mberends | masak: seen pugs/ext/Web and pugs/ext/HTTP? kinda familiar language? | 22:33 | |
masak | yes, seen them. :) | 22:34 | |
22:34
lichtkind left
|
|||
mberends | the more things change, the more they stay the same | 22:34 | |
masak | mberends: they were written by Juerd, the originator of the whole Web.pm idea. | ||
mberends | saw that, yes | 22:35 | |
22:35
test left
|
|||
masak | he wrote the emails (in 2006), I'm just realizing his dream. | 22:35 | |
mberends | good job! | 22:36 | |
masak | not done yet... | ||
Fuad | g`night all | ||
masak | Fuad: o/ | ||
mberends | hi, bye, Fuad | ||
Fuad | Hi mberends:) | ||
22:37
icwiener joined
|
|||
Fuad | sorry i have to go to bed now,its too late here | 22:37 | |
masak | no need to apologise. | ||
22:37
nihiliad left
|
|||
masak | sooner or later, it gets too late no matter where you are. | 22:37 | |
22:38
Fuad left
|
|||
mberends | too late in my head as well. soon entering energy saving mode. | 22:39 | |
masak | mberends: it's now at least theoretically possible for a project to depend on proto, and use same to get info on the project ecosystem. | 22:40 | |
mberends: the one "interesting" piece of bootstrapping needed is that Ecosystem.new needs 'project-dir' as a mandatory param, and that information is contained in config.proto. | 22:41 | ||
mberends | do you mean proto's project-dir or the dependent project's project-dir? | 22:42 | |
masak | proto's. | 22:43 | |
the dir that has all the projects. | |||
mberends | i guess the former... yes | ||
masak | it might even be called "projects-dir", dontremember. | ||
jnthn | mberends: I'm having trouble narrowing it down, but there's something _very_ strange going on. | 22:45 | |
mberends | jnthn: another strange behaviour was rejecting my ( $a, $b ); etc | ||
masak | where's all this strange behaviour coming from? | 22:46 | |
22:46
pdc303 left
|
|||
masak | Rakudo has been nice for months now... | 22:46 | |
jnthn | masak: Sure, but you're not normally targetting the s1c.. | ||
22:46
lichtkind_ is now known as lichtkind
|
|||
masak | no, that's just s1c... | 22:47 | |
jnthn | I'm still very bewildered why it is making such a difference though. | ||
mberends | and Rakudo failed 'returns DayOfWeek' but liked s/Day/day/g | 22:48 | |
22:49
skids_ joined
|
|||
jnthn | mberends: Most strange is that if I use the s1c to compile Temporal.pm alone, all is fine. | 22:49 | |
mberends | maybe Pod bothers the gen_ thingy | 22:50 | |
PerlJam | jnthn: maybe with the addition of Temporal.pm, gen_setting.pm passes some hidden threshhold that causes things to go screwy. | 22:51 | |
mberends | (hidden threshold)-- (dark matter)-- | 22:52 | |
jnthn | PerlJam: Perhaps. | 22:53 | |
mberends | then (temporarily, no offense) ripping out other setting sources will fix it | 22:54 | |
mberends tries | |||
PerlJam | mberends: I'm pretty sure there's already pod in some of the other files that go into gen_settting.pm | ||
jnthn | PerlJam: Aye, there is. | 22:55 | |
Plus removing the pod sections of temporal.pm didn't help | |||
masak | rakudo: multi prompt () { } | ||
p6eval | rakudo 1f1458: OUTPUT«push_pmc() not implemented in class 'Sub'» | ||
masak submits rakudobug | |||
jnthn | probably dupe. | 22:56 | |
masak | O RLY? | ||
jnthn | rakudo: sub a { }; multi a { } | 22:57 | |
p6eval | rakudo 1f1458: OUTPUT«Redefinition of routine apush_pmc() not implemented in class 'Sub'» | ||
masak | so Rakudo knows something's wrong, but it goes ahead and does it anyway? | ||
jnthn | Yeah, I'm sure we have other tickets on the only/multi conflict. | ||
Well, redef is a warning, not an error. | |||
masak | oh, right. | ||
ok, I'll let you off the hook for this time, then. | 22:58 | ||
jnthn | Trouble is at the moment it ends up warning, then generating code that won't work. | ||
I haven't really figured out what it's meant to do in this case. | |||
I mean, obviously not _that_. | |||
Maybe an only/multi conflict should be an error. | |||
masak | I should think so! | 22:59 | |
jnthn | masak: I wouldn't have minded a re-declared only being an error too tbh. | 23:00 | |
erm | |||
re-defined | |||
mberends | perl6_s1.pbc still hangs after removing Hash.pm..Match.pm | 23:01 | |
masak | jnthn: it isn't? | ||
jnthn | masak: It ain't in Perl 5, afaik. | 23:02 | |
Maybe it should be in Perl 6 though. | |||
masak | yes, maybe... | 23:03 | |
kinda comes with the meaning of 'only', dontcha think? | |||
jnthn | masak: aye | 23:04 | |
23:06
Chillance left
|
|||
pugs_svn | r26846 | masak++ | [games/wizard.pl] Fixed some bitrot issues. | 23:10 | |
r26846 | masak++ | | |||
r26846 | masak++ | - Classes must be declared before they're referenced. Reordered classes. | |||
r26846 | masak++ | - Perl 6 has a 'prompt', so there were some clashes. Renamed to 'myprompt'. | |||
r26846 | masak++ | - '=$*IN' is now spelled '$*IN.get' | |||
masak | ok, my spectest run gave an unexpected death in t/spec/S04-statements/do.rakudo | 23:11 | |
jnthn | mberends: Somehow, adding method day-of-week( ) seems to blow it. Hmm. | ||
masak | anyone else recognize that? | ||
jnthn | masak: I saw that too. | ||
masak: Not sure if it's a roaming segfault or what. | |||
mberends | masak: re: indexes for grok, they are absolutely necessary for performance, but until Rakudo gets random file I/O (seek etc) there is no proper way to implement indexes. | ||
masak | good. that means my patch is fine. committing. | ||
jnthn | mberends: But I can't see it doing anything that could cause issues. | 23:12 | |
mberends | jnthn: yes, trying various other minor additions did the same :/ | ||
dalek | kudo: ec55f17 | masak++ | src/ (2 files): [Protoobject.pir] changed a few warnings |
23:13 | |
masak | mberends: you know me. I'm not one to go looking for elaborate solutions. I want something that Works For Now. I'll cross the indexing bridge when I have to. | 23:14 | |
mberends | jnthn: it's fine to shelve Temporal for now, and resume when setting next gets more important changes. | 23:15 | |
masak: that bridge is just around the next corner | 23:16 | ||
masak | mberends: perhaps. | ||
mberends: I still haven't dismissed the idea the naming the files right could solve most of the indexing worries. | 23:17 | ||
jnthn | mberends: I don't think I@m going to have a solution for this today. :-( | 23:18 | |
masak | mberends: in Temporal::TimeZone::Observance, why do you .truncate $minutes, when it can only take on integral values? that looks like a logic bug to me... | 23:19 | |
mberends | jnthn: thanks for trying, nobody expected such problems :) | ||
23:20
donaldh left
|
|||
mberends | masak: I haven't touched Observance yet, it's just S32 example text | 23:20 | |
23:20
donaldh joined
|
|||
masak | ok. | 23:20 | |
then there's probably a bug in S32. | |||
mberends | Q a few, but np. We can refresh the spec from running code. | 23:21 | |
masak | yes, I'm Q sure we can. | 23:22 | |
ok, sleep Q -- I mean T. | |||
23:22
masak left
|
|||
mberends enters low power mode. | 23:24 | ||
23:24
mberends left
23:25
fridim_ joined
23:31
kate21de1 joined
|
|||
jnthn | OK, I'm knackered. | 23:41 | |
Enough debugging. | |||
23:44
pmurias left
|
|||
PerlJam | make | 23:45 | |
jnthn | fai | ||
l | |||
23:45
nbrown joined
23:47
kate21de left
23:51
japhb left
23:53
hercynium left
|