perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ Set by mncharity on 25 March 2009. |
|||
00:01
cotto left,
davidad joined
00:02
alester left
00:04
cotto joined
00:06
Tene_ joined
00:08
sitaram joined
00:12
dKingston left
00:13
dKingston joined
00:17
Tene left
00:19
bacek_ joined
|
|||
TimToady | ruoso: the change applies unless 1 < 1|5 < 5 is processed by a single dispatch that binds to scalar arguments typeed as Object/Any :) | 00:20 | |
ruoso | but it doesnt say it chained must be processed as a single dispatch.. is it? | 00:22 | |
TimToady | no, that was merely a suggestion of mine on the mailing list about one way to look at it | 00:25 | |
but it's slightly problematic insofar as a *@args binding doesn't autothread under the current rules | |||
the variant that says my $x = @args.shift autothreads the rest of the dynamic scope might allow it, however | 00:26 | ||
if "my $x" defaults to Any rather than Object | 00:27 | ||
00:27
dKingston left
|
|||
TimToady | but as the spec revision says, we don't really understand the performance implications of that | 00:28 | |
since pretty much every assignment would have to be checking ~~ Any in that case | |||
on the other hand, it might be the sanest approach | 00:29 | ||
since it unifies the autothreading to binding to scalar, whether a formal parameter or not | 00:31 | ||
00:31
DemoFreak joined,
DemoFreak left
00:32
ruoso left
|
|||
TimToady | I guess the downside of that view is that it either requires continuations or we have to enforce single-assignment semantics so that the new $x binding is treated as a parameter to the rest of the dynamic scope. | 00:39 | |
neither of those is quite sane | |||
but I have a suspicion the SA view is saner, since it provides a gather point for the thread termination, whereas the continuation view doesn't really | 00:44 | ||
but the SA view goes strange when it comes to setting variables in the middle of a loop that retain their value at the start of the next iteration | 00:46 | ||
anyway, we're just punting for now, since it makes my brane hert | 00:47 | ||
I'll think about something easy like cmp O_o | 00:48 | ||
diakopter | --Any++ | 00:49 | |
TimToady | though interestingly, the cmp issue also brings up dynamic scoping issues | ||
diakopter | ++Any-- | ||
TimToady | since we haven't got a mechanism for failsofting failures in parallelizable operations yet | ||
diakopter | std: ++e | 00:50 | |
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
TimToady | it's *syntactically* fine | ||
the semantics are more problematic :) | |||
STD doesn't have a clue that ++ and -- are mutating | 00:51 | ||
diakopter | rakudo: my $a=3; say ++$a--; say --$a++; say $a; | 00:55 | |
p6eval | rakudo 0310a3: OUTPUT«423» | ||
TimToady | rakudo: my $a=3; say $a + 1; say $a - 1; say $a; # :) | 00:56 | |
p6eval | rakudo 0310a3: OUTPUT«423» | ||
TimToady | I'd say that's a bit clearererer... | 00:57 | |
nevertheless, it does demonstrate that the restriction in P5 is somewhat arbitrary. | 00:59 | ||
we can't really afford such an arbitrary restriction and remain extensible to user-defined prefix/postfix operators | |||
rakudo: ++e | 01:00 | ||
p6eval | rakudo 0310a3: ( no output ) | ||
TimToady | heh | ||
rakudo: say ++e | |||
p6eval | rakudo 0310a3: OUTPUT«3.71828182845905» | ||
TimToady | !!!! | ||
rakudo: say ++2.718281828 | 01:01 | ||
p6eval | rakudo 0310a3: OUTPUT«Unable to set lvalue on PAST::Val nodecurrent instr.: 'parrot;PAST;Val;lvalue' pc 566 (src/PAST/Node.pir:161)» | 01:02 | |
TimToady | rakudo: enum Foo <:eee<42>>; say eee | 01:03 | |
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near ">; say eee"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: enum Foo of Int <:eee<42>>; say eee | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "of Int <:e"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: enum Foo of Int <eee>; say eee | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "of Int <ee"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: enum Foo <eee fff ggg>; say eee | 01:04 | |
p6eval | rakudo 0310a3: OUTPUT«0» | ||
TimToady | rakudo: enum Foo <eee fff ggg>; say ++eee | ||
p6eval | rakudo 0310a3: OUTPUT«Method 'succ' not found for invocant of class ''current instr.: 'parrot;Perl6Object;' pc 2019 (src/classes/Object.pir:721)» | ||
TimToady | rakudo: enum Foo (eee => 42); say ++eee | 01:05 | |
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "(eee => 42"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: enum Foo (eee => 42); say eee | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "(eee => 42"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: enum Foo ('eee' => 42); say eee | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "('eee' => "current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: say e++; say e++; | 01:06 | |
p6eval | rakudo 0310a3: OUTPUT«2.718281828459052.71828182845905» | ||
TimToady | rakudo: my $x = 42; say ++$x; say ++$x; | ||
p6eval | rakudo 0310a3: OUTPUT«4344» | 01:07 | |
TimToady | rakudo: my $x = 42; say ++e; say ++e; | ||
p6eval | rakudo 0310a3: OUTPUT«3.718281828459053.71828182845905» | ||
TimToady | curious | ||
rakudo: my $x = 42; say e += 1; say e += 1; | |||
p6eval | rakudo 0310a3: OUTPUT«get_iter() not implemented in class 'Integer'current instr.: 'prefix:=' pc 20782 (src/builtins/misc.pir:17)» | ||
TimToady | rakudo: say ++pi | 01:08 | |
p6eval | rakudo 0310a3: OUTPUT«4.14159265358979» | ||
TimToady | rakudo: say ++++pi; | ||
p6eval | rakudo 0310a3: OUTPUT«5.14159265358979» | ||
TimToady | rakudo: say ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++pi | 01:09 | |
p6eval | rakudo 0310a3: OUTPUT«42.1415926535898» | ||
TimToady | :) | ||
01:19
agentzh left,
agentzh joined
01:29
Whiteknight left
|
|||
diakopter | rakudo: my $a=3; say ++$a--; say $a | 01:35 | |
p6eval | rakudo 0310a3: OUTPUT«43» | ||
diakopter | rakudo: my $a=3; say --$a--; say $a | 01:36 | |
p6eval | rakudo 0310a3: OUTPUT«21» | ||
diakopter | rakudo: --(my $e = $e); say $e | 01:40 | |
p6eval | rakudo 0310a3: OUTPUT«-1» | ||
diakopter starts | |||
std: --(my $e = $e); say $e | 01:43 | ||
p6eval | std 26101: OUTPUT«ok 00:02 38m» | ||
diakopter | egash | ||
rakudo: my $e = $e | |||
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | rakudo: my $e = $e = 1 | 01:44 | |
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | rakudo: my $e = $e = 1; say $e | ||
p6eval | rakudo 0310a3: OUTPUT«1» | ||
diakopter | rakudo: my $e = $e = 1 = $e; say $e | ||
p6eval | rakudo 0310a3: OUTPUT«Unable to set lvalue on PAST::Val nodecurrent instr.: 'parrot;PAST;Val;lvalue' pc 566 (src/PAST/Node.pir:161)» | ||
diakopter | now _that's_ a Future | 01:45 | |
01:46
orafu joined
|
|||
diakopter | rakudo: my $e = sub { $e() }; $e() | 01:47 | |
p6eval | rakudo 0310a3: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;Signature;params' pc 3355 (src/classes/Signature.pir:179)» | ||
diakopter | oh. | ||
01:47
Tene_ is now known as Tene
|
|||
diakopter | rakudo: my $e = sub { .=$e }; $e() | 01:49 | |
p6eval | rakudo 0310a3: OUTPUT«Unable to parse block; couldn't find final '}' at line 1, near ".=$e }; $"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
diakopter | rakudo:$e = (my $e = sub { $e = $^a } and $e($e)); $e($e); say 1; | 01:53 | |
well, it worked directly to p6eval. | 01:54 | ||
and by "worked", I mean "didn't hang" | |||
its reply was: 20:51 <p6eval> highlight 26101: OUTPUT«Odd number of elements in hash assignment at Cursor.pm line 139.â | 01:55 | ||
01:56
mikehh left
|
|||
diakopter | std: "I am libertine languagified.".say | 01:57 | |
p6eval | std 26101: OUTPUT«ok 00:04 35m» | ||
TimToady | rakudo: $e = (my $e = sub { $e = $^a } and $e($e)); $e($e); say 1; | 01:58 | |
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | std: my $f=$f | ||
p6eval | std 26101: OUTPUT«ok 00:02 35m» | ||
TimToady | names are introduced immediately in p6 | ||
diakopter | oh. | 01:59 | |
is that recent? | |||
TimToady | unlike p5 | ||
no, many years old | 02:00 | ||
diakopter | hrm. | ||
TimToady | otherwise my $e = { $e() } wouldn't work | ||
diakopter | rakudo: my $e = sub { e$() }; | 02:01 | |
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "$() };"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | what is this, basic? | ||
diakopter | rakudo: my $e = sub { e$($e}; | ||
rakudo: my $e = sub { $e() }; | |||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "$($e};"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
rakudo 0310a3: ( no output ) | |||
diakopter | rakudo: my $e = sub { BEGIN { $e() }; $e(); }; | 02:02 | |
p6eval | rakudo 0310a3: OUTPUT«Scope not found for PAST::Var '$e' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
02:03
agentzh left
|
|||
TimToady | from A4: | 02:04 | |
Note that the block is truly a closure because it relies on the lexical | |||
scoping of C<$f>. (This form of lexical scoping works in Perl 6 because | |||
the name C<$f> is introduced immediately within the statement. This | |||
differs from the Perl 5 approach where the name is not introduced till | |||
the end of the current statement.) | |||
so it's been that way since at least 2002... :) | 02:05 | ||
it's also what allows parameter defaults to refer back to earlier parameters | 02:06 | ||
02:15
skids joined
|
|||
diakopter | rakudo: $e = (my $e = sub { $e = $^a } and $e($e)); $e($e); say 1; # maybe it'll work if I use the proper bot ehnvohkashunn sinhtaks | 02:15 | |
erm | 02:16 | ||
what yields | |||
rakudo: `ICMP= table tennis` | |||
p6eval | rakudo 0310a3: ( no output ) | 02:17 | |
rakudo 0310a3: OUTPUT«Syntax error at line 1, near "`ICMP= tab"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | |||
diakopter | rakudo: my $e = { $e = $^a ?? $e(0) !! $e(4); $_-- }; $e(3); .say | 02:18 | |
02:18
alc joined
|
|||
diakopter | I really don't know how to explain this. p6eval gives different replies to the same input from me, across #perl6 and privmsg to p6eval. /^o^\ | 02:20 | |
I mean, besides the pathological input.. | |||
it just plain doesn't reply in #perl6 to some of the things it replies to me in privmsg. | 02:21 | ||
p6eval | rakudo 0310a3: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
diakopter | hm | 02:22 | |
moritz_'s poor server | |||
I think I had several long/hot-running requests running. | |||
heh | |||
02:23
eternaleye joined
|
|||
diakopter | std: --.-- | 02:23 | |
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
diakopter | std: --.--==++.++|>>.! | 02:24 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/2WvoOS0iSX line 1:------> --.--==++.++|>>.! expecting any of: prefix or noun whitespaceFAILED 00:02 36m» | ||
diakopter | std: --.--==++.++ | ||
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
02:25
skids left
|
|||
diakopter | std: --.--==++.++|++.++!=--.-- | 02:25 | |
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
diakopter | rakudo: --.--==++.++|++.++!=--.-- | ||
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near "--.--==++."current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
02:25
skids joined
|
|||
diakopter | std: --.--//=++.++||++.++\\=--.-- | 02:26 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Syntax error at /tmp/sy195O1lN0 line 1:------> --.--//=++.++||++.++\\=--.-- expecting any of: postfix postfix_prefix_meta_operatorFAILED 00:02 36m» | ||
diakopter | std: --.--//=++.++||++.++//=--.-- | ||
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
02:26
cdarroch left
|
|||
diakopter | std: .||=$_ | 02:27 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/lcdLv8pqG7 line 1:------> .||=$_ expecting any of: prefix or noun statement end statement list whitespaceFAILED 00:02 34m» | ||
diakopter | rakudo: .=$_; .say | 02:28 | |
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near ".=$_; .say"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
diakopter | std: .=$_; .say | ||
p6eval | std 26101: OUTPUT«ok 00:02 35m» | ||
diakopter | rakudo: $_ = { .() }; .(); | 02:30 | |
p6eval | rakudo 0310a3: OUTPUT«maximum recursion depth exceededcurrent instr.: '_block21' pc 95 (EVAL_18:54)» | ||
diakopter | is that right? | ||
TimToady | looks right to me | 02:32 | |
that I haven't foggiest idea how std is parsing --.-- | |||
diakopter | std: --($_ = $_ - 1) | 02:33 | |
p6eval | std 26101: OUTPUT«ok 00:02 37m» | ||
02:33
Kisu left
|
|||
TimToady | ah, it's parsing it as --(.--) obviously | 02:34 | |
diakopter | rakudo: $_=3; --.--; .say | ||
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near "--.--; .sa"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
diakopter | rakudo: $_=3; --(.--); .say | 02:35 | |
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near "--(.--); ."current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: $_ = 3; -- .--; .say | 02:36 | |
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near "-- .--; .s"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
TimToady | rakudo: $_ = 3; -- $_.--; .say | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near ".--; .say"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
02:36
agentzh joined
|
|||
TimToady | just doesn't believe in .-- I suspect | 02:37 | |
rakudo: $_ = 3; $_.--; .say | |||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near ".--; .say"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
pmichaud | correct, I don't think we do dotted postfix yet. | ||
TimToady | so it looks like we'll be able to execute arbitrary Morse Code... | 02:38 | |
std: ---...--- | |||
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####"--" and "--" are not associative at /tmp/eJP1ESsmn5 line 1:------> ---...--- expecting any of: POST postfix postfix_prefix_meta_operator standard stopper terminatorFAILED 00:02 36m» | ||
diakopter | std: ... --- ... | ||
p6eval | std 26101: OUTPUT«ok 00:02 36m» | ||
pmichaud | ..."oso"? | 02:39 | |
TimToady | std: ...---... | ||
p6eval | std 26101: OUTPUT«ok 00:02 35m» | ||
TimToady | you see, for every space you leave out, you save .5 meg of memory :) | 02:40 | |
diakopter | std: -- --- .-. ... . -.-. --- -.. . | 02:41 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/WfMhZFf8gm line 1:------> -- --- .-. ... . -.-. --- -.. . expecting any of: noun prefix or meta-prefixFAILED 00:02 36m» | ||
02:43
Nikao joined
|
|||
TimToady | you forgot to capitalize the M and the C. :) | 02:44 | |
02:46
Nikao left
|
|||
diakopter | std: {DO} #{ Wabun Code } { --..--- -.-.- -- ..- .-. ... ...-. } | 02:48 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/drwWdWq6Kk line 1:------> {DO} #{ Wabun Code } { --..--- -.-.- -- ..- .-. ... expecting any of: infix or meta-infix | ||
.. in... | |||
diakopter | std: .||=$_ | 02:52 | |
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/fpxyemVi7S line 1:------> .||=$_ expecting any of: prefix or noun statement end statement list whitespaceFAILED 00:02 34m» | 02:53 | |
diakopter | std: .=//=$_ | ||
p6eval | std 26101: OUTPUT«##### PARSE FAILED #####Can't understand next input--giving up at /tmp/1eiODPLX02 line 1:------> .=//=$_ expecting dotty method or postfixFAILED 00:02 34m» | ||
diakopter | rakudo: $_ = $_ //= $_ | ||
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | rakudo: $_ = $_ //= $_; .say | 02:54 | |
p6eval | rakudo 0310a3: OUTPUT«Use of uninitialized value» | ||
02:56
eternaleye_ joined
|
|||
diakopter | rakudo: $_ = 3 = $_ //= $_; .say | 02:56 | |
p6eval | rakudo 0310a3: OUTPUT«Unable to set lvalue on PAST::Val nodecurrent instr.: 'parrot;PAST;Val;lvalue' pc 566 (src/PAST/Node.pir:161)» | ||
diakopter | rakudo: $_ = $_ //= $_ = 3; .say | 02:57 | |
p6eval | rakudo 0310a3: OUTPUT«3» | ||
diakopter | rakudo: $_++ = $_++ //= $_++ = 3; .say | 02:58 | |
p6eval | rakudo 0310a3: OUTPUT«3» | ||
diakopter | rakudo: $_++ //= $_++ = $_++ = 3; .say | ||
p6eval | rakudo 0310a3: OUTPUT«3» | ||
diakopter | rakudo: ++$_ //= ++$_ = ++$_ = 3; .say | 02:59 | |
p6eval | rakudo 0310a3: OUTPUT«3» | ||
diakopter | rakudo: ++$_ //= ++$_ = ++$_ = 3; .say; $_.say | ||
p6eval | rakudo 0310a3: OUTPUT«33» | ||
diakopter | rakudo: ++$_ //= ++$_ = (++$_ = 3); .say; $_.say | 03:01 | |
p6eval | rakudo 0310a3: OUTPUT«33» | ||
03:01
skids left
03:02
skids joined
03:06
charsbar_ joined,
mib_dfzp3n left
|
|||
diakopter | rakudo: $a++ = (my $a = 4)++; $a.say | 03:07 | |
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in find_method()current instr.: 'postfix:++' pc 20877 (src/builtins/op.pir:33)» | ||
diakopter | rakudo: $a++ = (my $a = 4)++; | ||
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in find_method()current instr.: 'postfix:++' pc 20877 (src/builtins/op.pir:33)» | ||
03:07
skids left
|
|||
diakopter | rakudo: $a = (my $a = 4)++; | 03:08 | |
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in getprop()current instr.: 'infix:=' pc 14068 (src/builtins/assign.pir:21)» | ||
diakopter | rakudo: $a = (my $a = 4); | ||
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in getprop()current instr.: 'infix:=' pc 14068 (src/builtins/assign.pir:21)» | ||
diakopter | rakudo: $a = (my $a); | ||
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in getprop()current instr.: 'infix:=' pc 14068 (src/builtins/assign.pir:21)» | ||
diakopter | rakudo: $a = ($a); | ||
p6eval | rakudo 0310a3: OUTPUT«Scope not found for PAST::Var '$a' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
diakopter | rakudo: (my $a) = $a; | ||
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | rakudo: (my $a) = $a = 1; $a.say | 03:09 | |
p6eval | rakudo 0310a3: OUTPUT«1» | ||
diakopter | rakudo: (my $a) = 1; $a.say | ||
p6eval | rakudo 0310a3: OUTPUT«1» | ||
03:10
eternaleye left
|
|||
diakopter | rakudo: ((my $a = 1)/($a.say))++; $a.say | 03:10 | |
p6eval | rakudo 0310a3: OUTPUT«11» | ||
03:11
b2gills left
|
|||
diakopter | rakudo: ((my $a = 1)/($a.say)/($a = 2))++; $a.say | 03:11 | |
p6eval | rakudo 0310a3: OUTPUT«12» | ||
diakopter | rakudo: (($a = 1)/($a.say)/(my $a = 2))++; $a.say | 03:12 | |
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in getprop()current instr.: 'infix:=' pc 14068 (src/builtins/assign.pir:21)» | ||
diakopter | rakudo: ((my $a = 1)/($a.say++)++/(my $a = 2))++; $a.say | 03:13 | |
p6eval | rakudo 0310a3: OUTPUT«Redeclaration of variable $a12» | ||
diakopter | rakudo: ((my $a = 1)/($a.say++)++/($a = 2))++; $a.say | ||
p6eval | rakudo 0310a3: OUTPUT«12» | ||
diakopter | rakudo: ((my $a = 1)/(say $a++)++/($a = 2))++; $a.say | 03:15 | |
p6eval | rakudo 0310a3: OUTPUT«12» | ||
diakopter | rakudo: ((my $a = 1)/(say $a++)++/($a = 8))++; $a.say | 03:16 | |
p6eval | rakudo 0310a3: OUTPUT«18» | ||
diakopter | rakudo: (my $a = 1)/(say ++++$a)/($a = 8)/($a.say) | 03:17 | |
p6eval | rakudo 0310a3: OUTPUT«38» | ||
diakopter | rakudo: ((my $a = 1)/(say ++++$a)/($a = 8)/($a.say)).say | 03:19 | |
p6eval | rakudo 0310a3: OUTPUT«380.375» | ||
03:19
meppl left
|
|||
diakopter | interesting | 03:20 | |
pugs: (my $a = 1)/(say ++++$a)/($a = 8)/($a.say) | 03:39 | ||
p6eval | pugs: OUTPUT«***  Unexpected "++++$" expecting bare or pointy block construct, ":", identifier, operator or ")" at /tmp/4BiajxxYK5 line 1, column 18» | ||
03:39
cls_bsd_ joined
|
|||
diakopter | pugs: (my $a = 1)/(say ++$a)/($a = 8)/($a.say) | 03:40 | |
p6eval | pugs: OUTPUT«28» | ||
diakopter | rakudo: (my $a = 1)/(say ++$a)/($a = 8)/($a.say) | ||
p6eval | rakudo 0310a3: OUTPUT«28» | ||
03:43
Kisu joined
03:56
orafu left,
orafu joined
04:04
mtve left
04:05
drbean left
04:06
drbean joined
04:32
alc left
04:35
FurnaceBoy left
04:44
masak joined
|
|||
masak | howdy, Sixers. | 04:44 | |
TimToady | howdy doo | ||
masak | a Windows user has tried to get November building on Windows. \o/ | 04:49 | |
eiro | hello world | 05:07 | |
05:12
alc joined
05:20
justatheory left
05:37
parduncia joined
05:49
mikehh joined
05:50
parduncia left
05:57
alc left
06:01
payload left,
payload joined
06:05
khatar joined
06:06
khatar left,
eiro joined
06:16
wolverian left
06:20
wolverian joined
06:26
RootKwok joined
06:29
c1sung left,
Tene_ joined
06:30
Tene left
06:31
mtve joined
06:38
wolverian left
06:39
wolverian joined
06:46
orafu left,
orafu joined
06:50
DemoFreak joined,
mib_3wmvr4 joined,
mib_3wmvr4 left
06:51
mberends joined
06:52
iblechbot joined
|
|||
masak | mberends: ping. | 06:56 | |
mberends | masak: ahoy there! | 07:03 | |
masak | mberends: ahoj, fellow Perl 6 hacker. | ||
mberends: I'm in the middle of the strife. | 07:04 | ||
of getting HTTP::Daemon to run. :) | |||
mberends | is that difficult? | 07:05 | |
masak | about to commit a patch where a lot of _ are replaced by :: in the module names in the Pod. | 07:06 | |
but after that, I still have some problems. | 07:07 | ||
mberends | the way it worked for me was to clone the stock demo Daemon and gradually replace its guts while it was running. | ||
masak | stand by for gist. | ||
gist.github.com/91124 | 07:09 | ||
07:09
orafu left
|
|||
mberends | Tip: while HTTP::Daemon runs, delete the .pir files. Then you can edit, save, and refresh the browser to see changes immediately | 07:09 | |
07:09
orafu joined
|
|||
masak | ooh. | 07:10 | |
but I don't think that's my problem here. | |||
note that the final error appears as I hit the page. | |||
mberends | gist looks good, but I'm not a full spec p6 compiler ;) | ||
masak | halp! | ||
what's that supposed to mean? it's not working. :) | 07:11 | ||
scroll down to when I run the script. | |||
mberends | gah! that is the detritus of attempting to link to the bacek++ new socket functions! they are not complete! kill! kill! | ||
masak | (which, by the way, is taken verbatim from the HTTP::Daemon Pod, with those modifications) | ||
mberends: plz fix. kthxbai. | 07:12 | ||
I'll just do my commit first. | |||
mberends | my bad. sry. | ||
rly sry | |||
masak | happy to be adding quality to your software, sir. that's all. :) | 07:13 | |
there, pushed. | |||
as far as I can see, the underscores have been there since HTTP::Daemon and git first met. | 07:14 | ||
moritz_ | masak: were there any tests for .ins? | ||
masak | I just don't see why; they are obviously wrong. | ||
moritz_: don't think so; you want me too add some? | |||
moritz_ | masak: that would be great | ||
moritz_ tries to keep the test coverage high | |||
masak | moritz_: I ran the spectests before committing, though. so I'm still a good boy by my count. | 07:15 | |
especially since it takes ages. :P | |||
moritz_ | yes, that's really annoying | ||
mberends | masak: good boy | ||
moritz_ | maybe I can do somethinig about that over the easter vacations | ||
masak purrs | |||
moritz_ | lot of time, but not connected to the internets very much | 07:16 | |
masak | moritz_: you'd be responsible for speeding up the entire development of Rakudo Perl 6. too good a prospect to resist, methinks. | ||
07:17
wolverian left,
wolv joined
|
|||
moritz_ | I have to talk to pmichaud first, though | 07:18 | |
masak | aye. | 07:19 | |
07:21
payload left
|
|||
masak | hm, the directory structure of t/spec/S32-* does not mirror dpcs/Perl6/Spec/S32-setting-library/* | 07:22 | |
moritz_ | right | 07:23 | |
pugs_svn | r26102 | moritz++ | [t/spec] initial, very basic tests for IO.ins | ||
masak | but it seems I could simply create a new S32-io in the former, and still be consistent. | ||
oh. | |||
or not. | |||
rakudo: =$*IN; say "FOO" | 07:27 | ||
p6eval | rakudo 0310a3: ( no output ) | ||
masak | what's going on there? | 07:28 | |
moritz_ | masak: p6eval starts rakudo with 'echo -n | perl6 $file' to prevent it from hanging | 07:32 | |
hm | |||
rakudo: say "still alive" | 07:33 | ||
p6eval | rakudo 0310a3: OUTPUT«still alive» | ||
moritz_ | but it prints nothing on my local copy as well | ||
masak | moritz_: locally, does it say "FOO" for you? | 07:34 | |
moritz_ | no | ||
masak: submit a bug ;-) | |||
masak submits a bug | |||
Matt-W | Good morning | ||
moritz_ | it doesn't even try to read something from STDIN | ||
it just terminates | |||
masak | Matt-W: a good morning to you, sir. | ||
moritz_ | masak: anyway, it's usually a bad idea to test IO with p6eval | ||
masak | moritz_: aye. I'll remember that. | ||
07:35
nihiliad left
07:38
DemoFreak left
07:39
payload joined
|
|||
eiro | i'm trying to figure out what $self-xC3>$method becomes in perl6 | 07:55 | |
$self->$method (sorry for weird symbols) | |||
masak | eiro: so $method is a string, yah? | ||
eiro | masak, yep | 07:56 | |
i imagine there is something more rubysh like : $.send($method) | 07:57 | ||
masak | rakudo: class A { method foo { say "OH HAI" }; method bar($method) { eval("self.$method") } }; A.new.bar("foo") | ||
p6eval | rakudo 0310a3: OUTPUT«OH HAI» | 07:58 | |
masak | that's the closest I get right now. | ||
hold on, I'll try with .HOW.dispatch too. | |||
07:58
c1sung joined
|
|||
masak | rakudo: class A { method foo { say "OH HAI" }; method bar($method) { self.HOW.dispatch(A, $method) } }; A.new.bar("foo") | 07:58 | |
p6eval | rakudo 0310a3: OUTPUT«OH HAI» | ||
masak | yup, that's better. | ||
ruoso++ | 07:59 | ||
08:01
cls_bsd_ is now known as cls_bsd
08:03
[particle] joined
|
|||
eiro | masak, \o/ HOW !!! | 08:08 | |
masak | eiro: indeed. | 08:09 | |
eiro | that's cool: i looked as the way to generate graphviz UML class diagrams from *pir | ||
masak | wow, cool! | 08:10 | |
08:10
[particle]1 left
|
|||
eiro | but perhaps there is a better way | 08:10 | |
masak | eiro: well, what is your goal? | ||
eiro | a real introspection | ||
masak | eiro: using STD.pm might be a good idea. | ||
eiro | masak, well ... i want to see in real life how much my brain is sick | ||
masak | eiro: who doesn't? :P | 08:11 | |
eiro | :-) | ||
the uml diagram of my last program is a good clue :) | |||
so i want to do it :-) | 08:12 | ||
masak | eiro: my question was more like "What do you want the UML diagrams to show?" | ||
with the answer to that question, it might be possible to help you further. | |||
eiro | masak, seriously: i acctually work on a old and big project that really lack some documentation and i think that every autodocumenting tool can help to avoid the mistake in the future | 08:13 | |
i dream about a perl6 rewrite of this software | |||
so i prepare some tools for it | |||
masak | eiro: two words: start simple. | 08:14 | |
eiro | ( i'll need ya: it's a full webbasef soft ) | ||
masak | because this sounds like an ambitious project. | ||
eiro | that's what i do | ||
masak | and you'll need all partial successes you can get. | ||
eiro | for the moment, i just write some tools close to the project | 08:15 | |
not the project itself | |||
i need support to MARC, ASN.1, Z39-50, and REST | |||
masak | ok... | 08:16 | |
eiro | so there's a long road | ||
masak | aye. | ||
eiro | i start now ;) | ||
masak | let me know when you get somewhere. :) | ||
eiro | masak, sure! | ||
masak | I like to review other people's Perl 6 code. | ||
eiro | cool :) | ||
thanks in advance | 08:17 | ||
masak | np. now go forth and write cool Perl 6 code. | ||
eiro | i'll also need some infos about your web framework: templating system, MVC separation ... | 08:18 | |
(perhaps: help to hack on it) | |||
masak | nice! | ||
I'll try to give as detailed a status update as I can. | 08:19 | ||
(it might be good for the next blog post, too.) | |||
there are three of us working on the Web.pm grant. | |||
Tene, ihrd and I. | |||
08:20
donaldh joined
|
|||
masak | Tene is currently working on a Tags module, with which you can generate HTML code easily, and with Perl 6 idioms (such as for loops) thrown in wherever you need then. | 08:20 | |
ihrd is working on Dispatch, something called Routes, and is aiming for an MVC framework, which he calls Forest. | 08:21 | ||
08:21
donaldh left
|
|||
masak | we don't have much of server backends for that yet, so I assume we'll be faking it with files for the time being. SQLite would be nice, though. | 08:21 | |
I'm working on the request-and-response stuff, the low-level things that are one step from the web server itself. being greatly inspired by (aka "stealing from") Ruby's Rack, which IMO does things so right that there's no good reason to deviate. | 08:23 | ||
in the coming weeks, I'll be looking more at porting Python's Genshi, a templater which many people seem to like, as well as Ruby's Hpricot, a HTML parsing and modification library. | 08:25 | ||
eiro | masak, about Tags modules: how does it deal with namespaces ? | ||
masak | EOU | ||
eiro: at present, it doesn't. | |||
eiro | <xsl:for-each><html:li> | ||
masak | eiro: I'd recommend asking Tene the same question. | ||
eiro | arggg ... | ||
Tene_, ??? | |||
masak | eiro: as far as I know, it doesn't do XML. | ||
eiro | masak, but ... everything is xml now on the web! | 08:26 | |
masak | eiro: not really, no. | ||
08:26
bacek_ left
|
|||
masak | especially not HTML. | 08:26 | |
eiro | xhtml+svg+... | ||
:( | |||
masak | eiro: I wish you were right, but... | ||
the reality out there is quite different. | |||
I don't want to shut out people who want to generate XHTML though, which is why I want to port Genshi. | 08:27 | ||
it's XML-based. | |||
eiro | masak, your framework must bring good pratices on the perl6 world so you have to handle it ! :) | ||
masak | eiro: I agree fully. | ||
eiro: I just don't automatically assume that XML == Good Practice. | |||
there are many, many reasons to prefer HTML to XHTML. | |||
see www.webdevout.net/articles/beware-of-xhtml | 08:28 | ||
eiro | what ? sure it is! html is an awfull bastarization of SGML! it *must* *die* | ||
masak | eiro: eventually, perhaps. but it cannot die today, because XHTML isn't a viable alternative. | 08:29 | |
I'm all for generating XHTML in my own applications, but I simply cannot force it on everybody in Web.pm. | |||
that's not realistic. | |||
eiro | perhaps: i'll read your article asap and tell ya :) | ||
masak | sounds good. | 08:30 | |
I'm very open to discussing this. | |||
eiro | is there a dedicated mailing list ? | ||
masak | eiro: for Web.pm? yes, we're using the Novmber mailing list. | 08:32 | |
groups.google.com/group/november-wiki | |||
Tene_ reads scrollback | |||
masak | eiro: also see www.b-list.org/weblog/2008/jun/18/html/ if you have the energy. it's equally good. | 08:33 | |
Tene_: morning. | |||
Tene_ | masak: I was due for sleep 3 hours ago, actually. :) | 08:34 | |
masak | right. you're on that continent. | 08:35 | |
Tene_ | Yeah, the weird one. | ||
masak | mberends: ping. | 08:37 | |
Tene_ | eiro: It doesn't handle namespaces mostly because I don't know how to do it correctly. I'd be glad for any suggestions. | 08:38 | |
eiro | arg ... i need to create a google account :( | 08:40 | |
ok .. i'll do it! for perl6, for OSS, for freedom ! | |||
;) | |||
masak | the sacrifices we have to make. | 08:41 | |
08:43
Tene_ is now known as Tene
|
|||
eiro | Tene, well ... i remember a very nice code written in lua that deals with namespace in a very neat way. I'll see if we can apply it on perl6 | 08:46 | |
08:46
RootKwok left
|
|||
Tene | eiro: I don't know what the API should look like or what exactly should be generated. | 08:46 | |
masak | eiro: for a different approach to tags generation, see my SVG module on github. | 08:47 | |
eiro | Tene, neither me for the moment :) | ||
ok, thx | |||
08:47
orafu left
|
|||
masak | eiro: it's a bit more on the static side than Tene 's, but I have high hopes for it, at least for SVG. | 08:48 | |
08:48
orafu joined
|
|||
eiro | ok ... lot of things to read now ... i'll come back | 08:49 | |
masak | eiro++ | ||
eiro | now i'll work to earn my daily meal ;) | ||
++ | |||
masak | speaking of which... :) | 08:50 | |
masak .WORK | |||
08:56
ejs joined
09:03
payload1 joined
09:06
cognominal joined,
cognominal left
09:07
cognominal joined,
payload left
09:11
kidd left
09:21
elmex left,
elmex joined
09:25
PacoLinux joined
09:27
plash joined
|
|||
bacek | mberends: hey, what's wrong with sockets? | 09:30 | |
(and good evening) | 09:31 | ||
09:49
jferrero joined
10:09
pmurias joined
10:11
payload1 left
10:12
Southen joined
10:13
iblechbot left
10:21
DemoFreak joined
|
|||
masak | Mosher's Law of Software Engineering: Don't worry if it doesn't work right. If everything did, you'd be out of a job. | 10:28 | |
that makes me feel much better. | |||
10:29
Southen_ left
11:00
eiro left
11:01
eiro joined,
eiro left
|
|||
masak | rakudo: say ++e | 11:02 | |
p6eval | rakudo 0310a3: OUTPUT«3.71828182845905» | ||
masak submits rakudobug | |||
as a mathematician, I'm deeply insulted. | |||
11:03
eiro joined,
eiro left
|
|||
jnthn | What's a constant? ;-) | 11:04 | |
masak | jnthn: that attitude actually explains a lot. :P | 11:06 | |
11:08
brunoV left
11:12
eiro joined
11:37
orafu left
11:38
orafu joined
|
|||
eiro | masak, does november still use netcat ? | 11:43 | |
moritz_ | I think it never did | ||
masak | eiro: no, it doesn't. and hasn't ever. | ||
eiro: you're thinking of HTTP::Daemon. | |||
moritz_ | it runs on top of apache as an ordinary CGI script | ||
masak | I think HTTP::Daemon uses socat nowadays, and is on its way over to Parrot sockets. | 11:44 | |
and if Lyle succeeds, November might soon run on IIS as well. | |||
eiro | oh ... i thought that there was no socket in perl6 | ||
oh | |||
ok | 11:45 | ||
masak | std: --.-- | ||
p6eval | std 26102: OUTPUT«ok 00:02 36m» | ||
masak | rakudo: --.-- | ||
p6eval | rakudo 0310a3: OUTPUT«Syntax error at line 1, near "--.--"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
eiro | is there something like poe planned ? | 11:46 | |
masak | is STD.pm overly permissive here, or is Rakudo overly restrictive? | ||
eiro: I don't have any such plans :) but hopefully there will be real threading in Rakudo, as opposed to Perl 5. | 11:47 | ||
eiro | thanks .. | 11:48 | |
masak | ah. Rakudo simply doesn't implement .-- yet... | ||
rakudo: my $a; $a.-- | |||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near ".--"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
jnthn | I'm kinda curious what STD thinks --.-- means... | 11:49 | |
Oh, maybe --($_.--) | |||
masak | jnthn: aye. | ||
rakudo: $a = (my $a) | 11:50 | ||
p6eval | rakudo 0310a3: OUTPUT«Null PMC access in getprop()current instr.: 'infix:=' pc 14068 (src/builtins/assign.pir:21)» | ||
masak submits rakudobug | |||
diakopter: you keep felling fruit to the ground, and then leave it lying there... :) | |||
jnthn | ...then merges it will the probably many other rakudobugs of "using a variable before declaring it causes the null pmc access in getprop"? | 11:51 | |
I'm sure we already have at least 2 for this issue. | |||
moritz_ | masak: we have tickets for that | ||
masak | this case merits a ticket, methinks. | ||
this is in the same statement. | |||
do we have tickets for that? | 11:52 | ||
moritz_ | rakudo: $amy $a = 1 | ||
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 2, near "my $a = 1"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
moritz_ | rakudo: $a;my $a = 1 | ||
p6eval | rakudo 0310a3: ( no output ) | ||
moritz_ | rakudo: $a;my $a = 1; say "alive" | ||
p6eval | rakudo 0310a3: OUTPUT«alive» | ||
eiro | perl6 unicode operators are hard to undertand: # RAKUDO: синтаксис Hash :exists еще не реализован | 11:53 | |
;) | |||
moritz_ | these are comments, not operators :-) | ||
masak | eiro: that comment has an English translation, too. :) don't play innocent. | ||
eiro | masak, coming from east side of the earth, right ? ;) | 11:54 | |
masak | eiro: besides, I can read it fine. | ||
eiro: nope. | |||
I'm from the same side as you. | |||
11:54
payload joined
|
|||
masak | but while you were watching TV, I studied languages. :P | 11:54 | |
(but I didn't write that comment, ihrd did. he's from that side of the Earth.) | 11:55 | ||
moritz_ | it's ihrd++ who comes from the east | ||
eiro | masak, i didn't watch TV: i was trekking and reading books of philosophy ... but it didn't help to earn money so i gave up :) | 11:56 | |
ok | |||
masak | eiro: use.perl.org/~masak/journal/37341 | ||
11:56
kane_ joined
|
|||
masak | eiro: ack. and to be honest, I've watched my fair amount of TV. it's a very painless way to waste a life. | 11:57 | |
oh, and Hash.:exists is still not реализован! what's up with that? :) | 11:58 | ||
eiro | masak, i have to be honest too: i didn't read only philo books :) | 11:59 | |
masak | good. :) | ||
that would have been almost as bad as too much TV, I think... | |||
pmurias | to much TV = any TV? ;) | 12:00 | |
12:01
nbrown joined
|
|||
masak | mberends: from the HTTP:Daemon Pod: "The most recent successfully tested Rakudo revision is Parrot r37432." | 12:03 | |
12:04
PacoLinux left
|
|||
masak | mberends: does that mean that you haven't tested HTTP::Daemon since the Great Leaving of the Nest? | 12:04 | |
mberends: or is it just stale Pod? | |||
jnthn | TV - I watch *so* little of it... | 12:06 | |
*sigh* Not too much more things to do before I can work on Rakudo today. | 12:07 | ||
eiro | masak, not at all ... i fact i was born at the bottom of the vosges (mountains) and i spend a lot of time ridding from top to top | 12:08 | |
masak is storyboarding his NPW talk | |||
eiro | jnthn, nothing lost about it :) | 12:09 | |
masak | eiro: I have a similar background. the mountains and the forests were mine, for miles and miles. | ||
eiro | masak, what mountains ? | ||
jnthn, will you come to france for FPW2009 ? | 12:10 | ||
12:10
orafu left,
orafu joined
|
|||
eiro | (i have to finish my slides) | 12:10 | |
masak | eiro: the cliffs and hills of a small island in the Swedish western archipelago. | ||
eiro | sweden! i really want to visit the country! images from there are so beautifull | 12:11 | |
Matt-W | eiro: It's great there | 12:12 | |
12:12
zamolxes joined
|
|||
jnthn | eiro: No, I won't make FPW - had already planned a vacation on those dates, before they were announced. | 12:13 | |
masak | eiro: come see our lakes. and our lovely telephone system... | ||
jnthn | eiro: If you go to Sweden, don't miss Abisko. :-) | ||
masak | jnthn: what? | ||
jnthn hopes masak knows where Abisko is. | |||
masak | oh, yeah. | 12:14 | |
that one. | |||
sure I know. | |||
jnthn | masak: It's probably the most beautiful bit of Sweden I've found to date. | ||
I really loved it up there. Gotta go back some day. | |||
masak | jnthn: no, actually I haven't heard that name, ever. | ||
eiro | jnthn, *what*! but i come there just to see you talking! you have to change you vacations! | 12:15 | |
(i note Abisko.) | |||
jnthn | masak: Wow. | ||
masak: travel.jnthn.net/country/sweden/abisko/ | |||
masak | jnthn: I've yet to be so far north. | 12:16 | |
jnthn | masak: I've met few Swedes who have. | ||
12:17
payload left
|
|||
jnthn | Hint to Swedes: 2/3 of your country is *north* of Stockholm! ;-) | 12:17 | |
masak | we try not to think too much about that. | ||
jnthn | Having been up there, I always find it incredibly bizzare to here people talk about Stockholm being in the north. | ||
masak | :) | ||
jnthn | erm, *hear* | 12:18 | |
masak | the paradoxes of Swedish geography... | ||
jnthn | srsly though, I did find the north very pretty. It's worth a trip up there, IMHO. :-) | 12:20 | |
masak | I believe you. | ||
one day, I'll go there. | |||
right now, I'm mostly glad winter is being phased out. | 12:21 | ||
don't need to chase it unnecessarily. | |||
12:24
payload joined
|
|||
jnthn | masak: Got t-shirt weather there yet? | 12:24 | |
12:24
payload left
|
|||
masak | jnthn: 冬暖夏涼 | 12:25 | |
jnthn: uh, I mean no, not unless you want a cold. | 12:26 | ||
jnthn | :-) | 12:27 | |
12:30
DemoFreak left
|
|||
masak | but the returning sunshine is a welcome feature. it's at that point that everybody realises that they've been cheated on something really important for the better part of five months. | 12:32 | |
jnthn | I actually don't completely dislike winter. | 12:33 | |
masak | it has its merits. | ||
jnthn | Snow can be pretty. | ||
masak | but this sunshine... wow. | ||
jnthn | Yes. :-) | 12:34 | |
Being able to sit outside in a t-shirt and enjoy a cold pivo is so nice. | |||
12:37
wolv is now known as wolverian
12:50
yahooooo left
12:53
iblechbot joined,
PacoLinux joined
13:08
ruoso joined
13:52
ejs left
14:02
ilbot2 joined
14:07
hercynium left
14:13
skids joined
|
|||
mberends | bacek: I had problems porting HTTP::Daemon over to using listen() and accept(), not your fault ;) | 14:18 | |
masak | mberends: you're back! \o/ | 14:19 | |
mberends: please see comment about Rakudo/Parrot revision in backlog. | 14:20 | ||
mberends | masak: 14:03: That's Pod rot, HTTP::Daemon _can_ work with latest Rakudo if I don't break it ;) | ||
masak | mberends: do you have an estimate on an unbroken HTTP::Daemon? | ||
masak has coding itch | |||
masak sings "unbreak my module" ♪ | 14:22 | ||
dalek | kudo: 2c7f5b3 | pmichaud++ | docs/spectest-progress.csv: spectest-progress.csv update: 349 files, 8436 passing, 0 failing |
||
moritz_ | that's a nice number ;) | ||
masak | aye. we've had it for three days now. :P | ||
Matt-W | I particularly like the 0 failing bit | ||
but 8,439 passing is nice | 14:23 | ||
very nice | |||
moritz_ | masak: we'll have more on tomorrow's update | ||
masak | moritz_: nice. | ||
Matt-W wonders when rakudo will pass 9,000 | |||
jnthn | I'm working on getting us a few more too. :-) | 14:25 | |
Lyle | masak: I got november to run on Vista command line, but not through apache or iis | ||
I've just emailed the group about it | 14:26 | ||
I think an index.p6 rather than wiki.sh would be the solution | |||
moritz_ | Lyle++ | ||
masak | Lyle++ | ||
I'll read the mail first. | 14:27 | ||
14:27
justatheory joined,
meppl joined
|
|||
mberends | masak: getting right tuit | 14:29 | |
masak | mberends: awesome. | ||
Lyle: you have permission to make any changes you think are needed to make this work on your box. after that, we'll discuss a compromise of what goes into the repo. :) | 14:31 | ||
Lyle: if you like github, this is your chance to fork, commit, and do a pull request. | |||
14:32
wolverian left
14:33
exodist joined
14:34
hercynium joined
14:36
payload joined,
[particle]1 joined
|
|||
mberends | masak: git blocked here by $work firewall :( can repair HTTP Daemon only after 3 hours. presumably you're hanging around for parrotsketch? | 14:39 | |
14:39
orafu left
|
|||
masak | mberends: not tonight, I'm afraid. | 14:39 | |
14:39
orafu joined
|
|||
masak | but that's OK; I'll research the other parts of what I need to get the Lobster working until tomorrow morning. | 14:40 | |
oh, and thanks for reminding me about parrotsketch. :) | |||
now I have time to think about whether I have something to report. | |||
pmichaud | moritz_: possible --jobs patch for t/harness: nopaste.snit.ch/16177 | ||
I haven't tested it yet on a system that has TH3 | 14:41 | ||
Lyle | masak: Not to keen on git, still need to give it some practice | ||
masak | Lyle: that's OK too. :) | ||
Lyle | masak: got to get on with some work now, but I'll have a look at it again later... | ||
masak | cool. | 14:42 | |
pmichaud | bbiab | ||
moritz_ | pmichaud: testing it now, needs some tweaking... | ||
pmichaud: the exec line should be exec => ['perl6'], (including the square brackets) | 14:55 | ||
pmichaud: apart from that it's fine, and with a sufficiently new TAP::Harness it works in parallel | |||
14:56
wolverian joined,
eternaleye_ left
|
|||
pmichaud | does it need to be './perl6' ? | 14:57 | |
moritz_ | erm, yes | ||
pmichaud | anyway, if you like, fix up my bugs and commit when working :-) | 14:58 | |
moritz_ | I have a version running here, and commit if the summary works | ||
masak often commits when working | |||
moritz_ | s/commit/push/ | ||
I'm still a bit caught in the svn terminology | 14:59 | ||
pmichaud | same here, as you can tell :-) | ||
14:59
hercynium left
15:00
orafu left
15:01
orafu joined,
kane_ left
|
|||
mberends | masak: pierced the $work firewall, doing your fix via my box at home :D | 15:02 | |
masak | mberends++ # renegade Perl 6 hacking | ||
mberends | masak: try r37917 autoexec.demon.nl:8888 | 15:03 | |
seein' ya | 15:04 | ||
an' my favicon face | |||
masak | :) | 15:05 | |
you look so happy! | |||
mberends | committing :D | ||
moritz_ | it's not too fast, but it's *very* nice! | 15:07 | |
[particle]1 | still needs netcat, though :( | ||
mberends | pushed. hopefully the native socket support will speed it up. | ||
masak | it's Rakudo. :) the application we all love and use, but which has gotten significantly _slower_ in the past few months. | ||
15:08
[particle]1 is now known as [particle]-
|
|||
masak | mberends: pulling. | 15:08 | |
15:08
[particle]- is now known as [particle1,
[particle1 is now known as [particle]-
|
|||
jnthn | masak: Well, if you'd prefer Rakudo to be fast and wrong... ;-) | 15:08 | |
pmichaud | fast and wrong we can do. | ||
moritz_ | speaking of pushing... I've now finished a spectest run 13 minutes | ||
masak | jnthn: not complaining. (I did say 'love') | ||
mberends: a pull reveals nuttin'. | 15:09 | ||
mberends | :O | ||
masak | mberends: did you push to eric256/perl6-examples? | 15:10 | |
dalek | kudo: ea94175 | (Moritz Lenz)++ | t/harness: re-enable parallel testing in t/harness again Requires a sufficiently recent Test::Harness. For example the harness works fine with 3.12, but for parallelism you need something newer, 3.16 seems to work. |
15:11 | |
kudo: 27f0c01 | (Moritz Lenz)++ | README: document requirements for parallel testing |
|||
moritz_ | folks, please pull rakudo, do a 'TEST_JOBS=3 make spectest', tell me if it runs inparallel and what's your version of Test::Harness | ||
masak tries | |||
mberends | masak: I _thought_ I had, but the github site is unchanged. | 15:12 | |
masak | mberends: aye. | ||
pmichaud | moritz_: I didn't put any code for handling TEST_JOBS in my patch... do we need it? | ||
mberends investigates | |||
pmichaud | or is TH3 smart enough to look there automatically? (The Parrot::Test::Harness explicitly sets the jobs parameter from TEST_JOBS prior to calling TAP::Harness; I omitted that from mine for now.) | ||
15:13
nihiliad joined
|
|||
masak | moritz_: it's parallel. moritz_++ pmichaud++ | 15:13 | |
skids | pmichaud: www.perlfoundation.org/perl6/index....erl6_tasks is now a tuit eater for Synopsis work. Old stuff moved to github wiki, and could be linked to rakudo.org/status | ||
(link to github is on the original page) | 15:14 | ||
mberends | masak: git status is like "Your branch is ahead of 'origin/master' by 1 commit", that probably means pull first then push again | ||
skids | Sorry for the delay, weekend consumed by HD crash. | ||
pmichaud | ouch, HD crash | ||
moritz_ | pmichaud: no, it seems it's not needed, it was just old habit ;-) | ||
masak | mberends: git pull --rebase | ||
pmichaud | skids: do you have an account on rakudo.org ? | ||
skids | Yeah, HD crash == time suckage | ||
I do but could not figure out how to edit another person's post. | 15:15 | ||
pmichaud | normally it's just login and then click the edit link at the top of the page | ||
at least, that's the way it appears to me | |||
maybe you're not set up as an author? | |||
skids | Yeah I don't see an edit link... | 15:16 | |
literal | < mberends> masak: git blocked here by $work firewall :( | ||
mberends: ssh blocked as well? | |||
mberends | masak: git realpushed | ||
masak pulls | |||
15:16
zamolxes left
|
|||
pmichaud | skids: when I log in, I see a link for "Create content" on the left... do you get that? | 15:16 | |
skids | nope. | 15:17 | |
mberends | masak: podrot is still there, this being a hack to unhack a previously failed hack. | ||
pmichaud | aha. You need to email [email@hidden.address] and ask for page creation privileges. | ||
skids | Thanks, I'll do that. | 15:18 | |
masak | mberends: I might get around to fixing potrot. | ||
mberends | I also have tuits this evening, see how it goes :) | 15:19 | |
masak | ooh, imcc errors are gone in this new version as well! | 15:20 | |
socat error remains. | 15:21 | ||
see previous paste. | |||
it says 'No such file or directory'. which file or directory is it trying to find? | |||
mberends looks, frowning | 15:22 | ||
masak | I see no file access in the test-daemon script. | ||
jnthn actually manages to break "say 42" in his local tree | 15:23 | ||
[particle]- | yeah, but is it faster? | ||
literal | haha | ||
jnthn | make spectest is way faster, yeah! | 15:24 | |
However we fail everything because we don't give any output. ;-) | |||
15:24
dKingston joined
|
|||
masak | ok, I won't mention speed again. it's just that it'd be nice not to celebrate Christmas in syrup... | 15:25 | |
moritz_ | jnthn: what is failing? unchanged trunk? | ||
dalek | kudo: 4453712 | pmichaud++ | build/Makefile.in: Refactor checks for Makefile updates so that 'make realclean' continues to work. |
||
pmichaud | masak: it's fine to mention speed -- we know it's an issue. | 15:26 | |
15:26
mberends left
|
|||
pmichaud | masak: are you noticing compilation speed or runtime speed as the bigger issue? | 15:27 | |
masak | pmichaud: runtime. | ||
pmichaud | okay. | ||
PerlJam is still just happy to have a compiler that executes actual perl 6 code, so speed isn't an issue yet. | |||
pmichaud | for that, we keep increasing the pain level on Parrot | ||
jnthn | moritz_: No, a fairly tricky patch I'm working on. :-) | ||
masak | pmichaud: when I put a lintel in Druid nowadays, there's a noticeable pause. | ||
PerlJam: indeed. | |||
15:27
Tene_ joined
|
|||
masak | PerlJam: it's just that I got kinda used to what little speed there used to be. :P | 15:28 | |
moritz_ | jnthn: and I thought I broke the harness. puh. | ||
PerlJam | masak: but keep mentioning the speed problem ;) | ||
jnthn | moritz_: Sorry! | ||
15:28
mberends joined
|
|||
masak covers mouth | 15:29 | ||
pmichaud | jnthn: btw, I'm very close to having bytecode line number annotations in PCT output :-) | 15:30 | |
moritz_ | jnthn: well, in the worst case I would just have reverted that patch | ||
jnthn | pmichaud++ # excellent! | ||
15:30
PhatEddy joined
|
|||
pmichaud | so a possible task for later in the week would be better exception reporting :-) | 15:31 | |
jnthn | pmichaud: Will be yet another nice thing for the next release. | ||
moritz_ wonders if there's a spec for line number informatoin in Match objects | |||
jnthn | pmichaud: Yes. :-) | ||
We can haz prettier backtracez. | |||
moritz_ | and if not, maybe writing one would make sense | ||
pmichaud | moritz_: there's not one in Match objects, but STD has one. | ||
masak | mberends: what's './test.pl' in the HTTP::Daemon source? | 15:32 | |
PhatEddy | rakudo: class Foo {my Num $.e1 = exp 1;}; say Foo.e1; say ++Foo.e1 | 15:34 | |
p6eval | rakudo 0310a3: OUTPUT«2.71828182845905Cannot assign to readonly variable.current instr.: 'die' pc 15853 (src/builtins/control.pir:204)» | ||
mberends | masak: sry, mibbit lostit. ISTR that test.pl was part of the native socket attempt. | 15:35 | |
PhatEddy | looks a bit promising if I could figure out how to export the e1 method | ||
moritz_ | rakudo: sub e { exp 1 }; say e; say ++e; | 15:36 | |
p6eval | rakudo 0310a3: OUTPUT«2.718281828459053.71828182845905» | ||
moritz_ | rakudo: sub e { return exp 1 }; say e; say ++e; | ||
p6eval | rakudo 0310a3: OUTPUT«2.718281828459053.71828182845905» | ||
PerlJam | rakudo: sub e { exp 1 }; say e; say ++e; say e; | 15:37 | |
p6eval | rakudo 0310a3: OUTPUT«2.718281828459053.718281828459052.71828182845905» | ||
PhatEddy | Anyone know how to export a class attribute accessor method? | ||
PerlJam | rakudo: sub x { return 4; } say x; say ++x; say x; | 15:38 | |
p6eval | rakudo 0310a3: OUTPUT«Statement not terminated properly at line 1, near "say x; say"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
PerlJam | rakudo: sub x { return 4; }; say x; say ++x; say x; | ||
p6eval | rakudo 0310a3: OUTPUT«454» | ||
PerlJam | That's an interesting behavior | ||
masak | mberends: I don't have such a file, I think. | ||
moritz_ | indeed | ||
15:39
Tene left
|
|||
masak adds PerlJam's find to the ticket | 15:39 | ||
mberends | masak: Daemon startup here is: cd perl6-examples/lib/HTTP; perl6 Configure.p6; make LOCALADDR=10.x.y.z run | ||
masak | ah. trying that. | 15:40 | |
jnthn | PerlJam: Accidental feature! ;-) | ||
mberends | masak: FSVO x.y.z. | ||
masak | uh huh. | ||
PerlJam | jnthn: just add it to the spec :) | ||
mberends | masak: 127.0.0.1 even. And you're right, test.pl is gone. | 15:41 | |
masak | mberends: rot, rot, rot :P | ||
mberends | lol | ||
masak | .oO( something rotten in the state of Daemon... ) |
||
mberends knows what he'll get for homework today... | 15:42 | ||
mberends .oO( speaking of which, I'm almost going to miss my train! ) | 15:43 | ||
masak: continue in 2 hours? | 15:44 | ||
masak | mberends: have to depart soon, unfortunately. :/ | ||
but I'll keep working offline tonight. | |||
and we'll continue to take over the wo... er, hack on this, tomorrow. | |||
mberends | ok, see you in the morrow | 15:45 | |
masak | aye, sir. | ||
15:45
orafu left,
mberends left,
orafu joined
|
|||
masak shouts something after mberends | 15:46 | ||
mberends: FWIW, the 'make run' thing worked! \o/ | |||
mberends: (but it's pretty bad IMHO that the examples in the Pod didn't.) | |||
but 'make run' working is Very Good News. now I can continue my Lobster work offline. :) | 15:49 | ||
pmichaud | @seen eric256 | ||
lambdabot | I saw eric256 leaving #perl6 2m 16d 9h 17m 28s ago, and . | ||
15:52
brunoV joined
|
|||
masak has always been curious why there's an ', and .' there. | 15:52 | ||
15:52
meppl left
15:56
sitaram left
|
|||
skids ponders the fact that .oO(...) is valid in many languages | 15:57 | ||
PhatEddy | rakudo: constant $x = 1; $x += 2; say $x | ||
p6eval | rakudo 0310a3: OUTPUT«3» | ||
masak | oh noes! | 15:58 | |
PerlJam | another one of those features. | 15:59 | |
masak | I'm having a fun time imagining how our tests for the 'constant' keyword might look if that passes... | ||
masak adds that one to the growing list of sins | |||
16:01
clintongormley joined
|
|||
pmichaud | I think constant is not yet implemented (as constant, at any rate). | 16:02 | |
16:02
Psyche^ joined
|
|||
masak | pmichaud: that theory fits the data, at least. :P | 16:02 | |
16:03
amoc left
|
|||
pmichaud | oh, and since it came up in conversation yesterday (from reading backscroll) -- my expectation has been that Rakudo will use a parrot property to identify containers versus constants | 16:03 | |
(in case jnthn happens to read the above :-) | |||
jnthn | *sigh* So after debugging for ages why sub foo(Int @x) { }; my Int @y = 1,2,3; foo(@y); failed the type-check...and figuring it was in signature binding...I find that while my Int @y; @y.of.say gives Int, after assigning to @y it loses it's type. *sigh* | 16:04 | |
pmichaud | that seems.... odd. | 16:06 | |
moritz_ | jnthn, pmichaud: when do you plan to replace 'is also' on classes with 'augment'? | ||
pmichaud | oh, whenever. :-) | ||
moritz_ | there's a patch to update the test suite in RT | ||
and I don't want to maintain that forever | 16:07 | ||
pmichaud | let's see what it would take to do it in rakudo. | ||
16:07
Khisanth left,
masak left
|
|||
pmichaud | it's a somewhat significant change, because we're taking something that was once a trait and turning it into a declarator. | 16:08 | |
jnthn | pmichaud: Yeah, I'm having fun working out exactly where it fails... | ||
pmichaud | jnthn: the type information is just a property on the @y container, yes? | ||
moritz_ | and while you are at it, I think that 'class A { ... }; class A { actual methods here }' shouldn't complain | ||
rakudo: class A { ... }; class A { method b { } }; say "alive" | 16:09 | ||
jnthn | pmichaud: No | ||
p6eval | rakudo 0310a3: OUTPUT«Re-declaration of type A at line 1, near "; say \"ali"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
jnthn | pmichaud: It's a parametric type. | ||
moritz_ | pugs: class A { ... }; class A { method b { } }; say "alive" | ||
p6eval | pugs: ( no output ) | ||
moritz_ | elf: class A { ... }; class A { method b { } }; say "alive" | ||
jnthn | pmichaud: So it stores it as a lexical. | ||
p6eval | elf 26102: OUTPUT«Parse error in: /tmp/rmxt0P75qHpanic at line 1 column 10 (pos 10): Missing right braceWHERE: class A { ... }; class A { method b { } WHERE: /\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:255:in `_block_rest' STD_red/std.rb:242:in `block in block' | ||
..S... | |||
jnthn | pmichaud: The real issue is | ||
16:09
sitaram joined
|
|||
moritz_ | pugs: say "alive" | 16:09 | |
p6eval | pugs: OUTPUT«alive» | ||
jnthn | my Int @y; say @y ~~ Positional[Int]; # 1 | 16:10 | |
my Int @y; @y = 1,2,3; say @y ~~ Positional[Int]; # 0 | |||
pmichaud | jnthn: yes, that's my point. | ||
what is it that associates @y with Positional[Int] ? | |||
(internally) | 16:11 | ||
jnthn | pmichaud: doing a role | ||
pmichaud: Basically, since we are some way off making Array parametric | |||
I do on the container the equivalent of @y does Positional[Int] | |||
(Just emit a call to infix:<does> | |||
pmichaud | doesn't that use setprop at some level? | ||
jnthn | ) | ||
No | |||
I don't believe so anyway... | |||
pmichaud | well, that's likely the problem then. | 16:12 | |
jnthn | ? | ||
pmichaud | if I do my Int $x; | ||
is that still held as a property on the $x PMC ? | |||
or did that change also? | |||
jnthn | For scalars, then yes, it's held as a property. | 16:13 | |
16:13
nihiliad left
|
|||
jnthn | But does | 16:13 | |
my @y = 1,2,3; # actually replace @y? | |||
Because I was under the impression it should call !STORE | |||
pmichaud | depends on what you mean by "replace" | ||
jnthn | Hmm. It claims it does call !STORE. | 16:14 | |
pmichaud | yes, I think it calls !STORE (from Array) | ||
16:14
Patterner left,
Psyche^ is now known as Patterner
|
|||
jnthn | As in, the actual type, such that if I infix:does'd it, it'll retain that. | 16:14 | |
my @y; @y[0] = 1; say @y ~~ Positional[Int] # 1 | 16:15 | ||
So it's just assigning of the whole thing. But it sure does call !STORE, as you expected. So, hmm. | 16:16 | ||
pmichaud | well, be careful with that one. | ||
you didn't assign to @y, you assigned to @y[0] | |||
jnthn | pmichaud: Yes, I know. Just isolating the problem. | 16:17 | |
oh, hmm | |||
oh noes...I know what it is. :-( | |||
.sub 'infix:=' :multi(['Perl6Array'], _) | |||
Seems for some reason after we've called infix:<does> on an Array, we don't call this multi-variant. | 16:18 | ||
(Even though it is a subclass. Hmm.) | |||
pmichaud | it probably thinks another (likely the scalar variant) is closer. | ||
PerlJam | jnthn: Isn't knowing half the battle? Rejoice that you're half way to a solution! ;) | ||
jnthn | Nasty. | ||
pmichaud | or it doesn't think that the variant is a ['Perl6Array'] | ||
jnthn | Yeah, I'm not sure which one. | 16:19 | |
pmichaud | looking beyond this specific problem... is it your expectation that types on containers will be done with properties or using the <does> approach? | ||
(i.e., as we get farther along) | |||
because I think it should be the same for Scalars | 16:20 | ||
(whichever it is) | |||
jnthn | I'm not convinced it'll be quite either-or. | ||
It's for sure that my Int @y needs to have @y doing Positional[Int] | 16:21 | ||
But when you take, say @y[42], then this "container" is at that point somewhat divorced from it's parent container. | |||
pmichaud | it's just "Int" at that point, yes? | ||
jnthn | Right, so in that case it'd need a property. | ||
pmichaud | it cant be something that does Int ? | 16:22 | |
jnthn | Well, anything that Int.ACCEPTS(...) could be assigned to it. | ||
But it is just like a normal scalar type-check at that point. | |||
The Positional[Int] is more for talking about the array as a whole. | 16:23 | ||
sub foo(Int @x) { } # tests for does Positional[Int] | |||
pmichaud | right, I see the difference. | ||
(now I do, anyway) | |||
jnthn | In that second case, we don't consider the values. | ||
Just that it does the role. | |||
16:23
orafu left
16:24
orafu joined
|
|||
jnthn | In the long run, I expect that we will not re-bless, but instead Array becomes a role. | 16:24 | |
Then we pun an Array[Int] | |||
Which is defined as something like role Array[::T] does Positional[T] { ... } | 16:25 | ||
(Which will be more efficient, of course.) | |||
pmichaud | right. okay, I'm following now (mostly) | 16:26 | |
thanks for efficient explanation :-) | |||
if it helps, I'm fine with eliminating the multi-ness of 'infix:=' in favor of explicit type checks | |||
jnthn | Anyway, at this point I ain't so sure what to do next... | ||
Hmm. That could be one option. | 16:27 | ||
pmichaud | or, you could leave them as multis, but put some guards in the default 'infix:=' to re-dispatch to the correct version if Parrot guesses wrong. | ||
jnthn | We have over the course of Rakudo history flip-flopped between the two, I think. | ||
Yeah, but assignment is something we want to be, well, unslow. :-) | |||
pmichaud | I suspect doing the check isn't going to add significantly. | ||
it's just a does and a tailcall | 16:28 | ||
(does, test, and tailcall) | |||
jnthn | True, but PCC is slow so the re-dispatch hurts. But maybe I shouldn't worry about that for now. :-) | ||
Anyway, if you're OK with me working around it like that for now, i'll go with it. | |||
PerlJam | pmichaud: or figure out how to guarantee that parrot doesn't guess wrong. | ||
pmichaud | well, if you prefer to fix Parrot, I'd be happy with tha...... what PerlJam said | 16:29 | |
PerlJam | pmichaud: but perhaps that's equivalent to what you said first ;) | ||
pmichaud | for infix:= we've tended to flip between methods and subs | ||
jnthn | Ah, true. | 16:30 | |
16:30
Khisanth joined
|
|||
jnthn | (fix) Well, I could always give them signatures and re-bless them into Perl6MultiSub's in that case. :-P | 16:30 | |
Oh hey, maybe that isn't such a stupid idea... | 16:31 | ||
pmichaud | I'd be fine with that also. | ||
I'm not terribly attached to the current infix:= implementation other than the fact that it "works" | 16:32 | ||
I'm very open to refactors (as long as they "work" to at least the same level as what we have now) | |||
jnthn | Maybe we should schedule some time to discuss this area at NPW. | ||
pmichaud | actually, we need to be making a list somewhere of NPW topics to discuss :-) | ||
jnthn | We still need to sort out binding to hash and array values too. | ||
pmichaud | binding in general is an issue too. | 16:33 | |
jnthn | Which probably figures into this lot. | ||
pmichaud | I'm happy with figuring this out at NPW, also. | ||
we probably also need to come up with a list of tasks that others can work on if they want. | 16:34 | ||
jnthn | OK. In that case I'll probably plump with the quick fix. | ||
For now. | |||
pmichaud | quick fix sounds good. | ||
jnthn | Yes, that too. | ||
I'd really like to get a first cut of this stuff working. | |||
pmichaud | anyway, my suggestion is explicit typecheck in infix:= | 16:35 | |
(the one that is being mistakenly called) | |||
16:39
jferrero left
|
|||
jnthn | pmichaud: OK, that seems to help :-) | 16:40 | |
Woo, and my patch at least makes it through the sanity tests. | 16:43 | ||
I fear the spectests will be a different story though. | |||
16:45
braceta joined,
nihiliad joined,
braceta left
|
|||
diakopter | rakudo: ;3;;3;;3;;3; ;3;; ;3; 3;;3;3;;3; ;; ;33;3;333; 3 ;;3;;3 ; ;;; ;; ; | 16:47 | |
p6eval | rakudo 0310a3: ( no output ) | ||
diakopter | rakudo: ;3;;3;;3;;3; ;3;; ;3; 3;;3;3;;3; ;; ;33;3;333; 3 ;;3;;3 ; ;;; ;; ; say 'ok' | ||
p6eval | rakudo 0310a3: OUTPUT«ok» | ||
pmurias | ruoso: how should the module where we fill in capture's MESSAGE be called? | ||
ruoso | hmm... re-capture? ;) | 16:48 | |
pmichaud | moritz_: I don't know that we'll be able to s/is also/augment/ anytime very soon. | 16:49 | |
it's a fairly significant change to the way we build classes and roles. | |||
(from a parsing perspective) | |||
16:49
kane_ joined,
kane__ left
|
|||
pmichaud | we may want/need contextual variable support in PGE/NQP in order to do it properly. | 16:51 | |
pmurias | ruoso: i'm not very happy with that name but i can't think of a better name | 16:53 | |
ruoso | pmurias, I think it's about stage 1 caputre | 16:54 | |
maybe s1native | |||
pmurias | i could be filled in native | 16:55 | |
ruoso | hmm... in fact | 16:56 | |
it could | |||
pmurias | or we could have capture-part1 and capture-part2 | ||
16:58
schinkelm joined
16:59
sri_kraih_ left
|
|||
jnthn | OK, I'm scared... | 17:04 | |
> multi foo(Int &x) { say 1 } | |||
> multi foo(Str &x) { say 2 } | |||
> sub a() returns Int { return 42 } | |||
> sub b() returns Str { return "OH HAI" } | |||
> foo(&a); foo(&b); | |||
1 | |||
lambdabot | <no location info>: parse error on input `42' | ||
<no location info>: parse error on input `2' | |||
<no location info>: parse error on input `"' | |||
<no location info>: parse error on input `;' | |||
<no location info>: parse error on input `1' | |||
jnthn | 2 | ||
pugs_svn | r26103 | hinrik++ | [util/perl6.vim] add by keyword, color storage keywords (let, my, our, ...) differently than other keywords | 17:06 | |
PerlJam | scared but in a good way? | ||
jnthn | PerlJam: Yes. :-) | 17:07 | |
Especially happy that I didn't have to go fiddle with the multi dispatcher and this Just Worked. | |||
PerlJam | push it out so that my rakudo can do this too :) | 17:08 | |
jnthn | Also, that this is not a special case, but you can now write your own parametric types and dispatch on the different parameters too. | ||
PerlJam | (assuming spectest didn't randomly fail) | ||
jnthn | As in, variants of the parametric type with different type parameters. | ||
make spectest is failing some stuff. | |||
It's hard to be sure how serious it is just yet. | 17:09 | ||
Also, I gotta now go do $other_stuff for one of my clients, but hopefully I can get this patch cleaned up and pushed later this evening. | |||
pugs_svn | r26104 | hinrik++ | [util/perl6.vim] classify the proto keyword differently | 17:10 | |
PerlJam | jnthn++ | ||
jnthn | There are several test files that have fails so far, but glancing over the failure modes they basically look to boil down to two bugs so far. | 17:11 | |
But I'm only down to S04 yet, so... | |||
pugs_svn | r26105 | hinrik++ | [util/perl6.vim] update TODO | 17:13 | |
17:14
kane_ left
|
|||
pugs_svn | r26106 | pmurias++ | [re-smop] | 17:14 | |
r26106 | pmurias++ | added missing files | |||
r26106 | pmurias++ | added .positional to capture | |||
17:14
hercynium joined
17:16
[particle]- left
17:17
frew|work left
17:19
hercynium left
17:20
hercynium joined
|
|||
pugs_svn | r26107 | pmurias++ | [re-smop] fixed all gcc warnings | 17:20 | |
17:22
[particle]1 joined,
[particle]1 is now known as [particle]-
|
|||
jnthn | pmichaud: ping | 17:27 | |
pmichaud: Or actually can scribble it here...I did add a dynop very like the one you just added recently. :-) | 17:28 | ||
17:28
schinkelm left
17:30
eternaleye joined
17:32
eternaleye left
17:34
eternaleye joined
|
|||
diakopter | std: my $a = my $b = 4; | 17:35 | |
p6eval | std 26107: OUTPUT«ok 00:02 35m» | ||
diakopter | rakudo: my $a = my $b = 4; | ||
p6eval | rakudo 0310a3: ( no output ) | ||
Tene_ | pmichaud: any chance you could get the text of the line in an annotation too? | 17:42 | |
17:42
Tene_ is now known as Tene
|
|||
Tene | pmichaud: that could certainly make for much nicer error reporting. :) | 17:42 | |
TimToady | if you have the position in the original program string, you can fetch the line out at the last moment without carrying it along | 17:43 | |
is how STD does it | 17:44 | ||
moritz_ | TimToady: should .line or so be specced in the Match object? | ||
TimToady | line numbers are also generated from the position in the progam string | ||
why? | |||
you can derive it from the pos | 17:45 | ||
as STD does | |||
I suppose if Match knows its original string, then .line can be provided | |||
but STD currently cheats on that for efficiency | |||
and just uses a contextual var for the original string | 17:46 | ||
moritz_ | so is counting newlines when you need to more efficient that counting them on the way, and storing them? | ||
TimToady | used to carry .orig around in all the Cursors, but that was hard to manage in P5 without accidental dups | ||
moritz_: I don't know, but it's a lot more stable in the face of possible language mutation | 17:47 | ||
moritz_ | TimToady: ok, fine by me | ||
17:47
yahooooo joined
|
|||
TimToady | you want the positions anyway so you can report where in the line it failed, so the line number is actually rather redundant | 17:48 | |
and you only have to generate your translation table once | 17:49 | ||
moritz_ | I guess you can find an efficient way to build some sort of cache to map .pos ranges to line numbers | ||
if you need it often | |||
TimToady | I've got various per-position things cached already in STD, so adding in line # isn't much more | ||
like did I already check for whitespace here? | 17:50 | ||
diakopter | packra | ||
17:51
orafu left
|
|||
TimToady | see @*MEMOS in STD.pm | 17:51 | |
17:51
orafu joined,
aindilis joined
|
|||
TimToady | and method lineof | 17:51 | |
pmichaud | Tene: yes, I can put the text of the line in an annotation also. But if we're doing that, we ought to just put the entire program text into the compiled output and use that. | 17:56 | |
pmurias | bjj& | 17:57 | |
17:57
pmurias left,
skids left
|
|||
pmichaud | Match in PGE keeps track of its original string, but it's not significantly more or less efficient than holding it in a contextual variable. | 17:58 | |
(i.e., it's just a reference) | 17:59 | ||
TimToady | on the other hand, my impression is that PGE treats its match state objects as mutable, while Cursor is (at least notionally) based on immutable objects that get copied more frequently | 18:03 | |
with immutable state it is never necessary to put Cursor objects back to their previous state on backtracking; you just use the old object | 18:04 | ||
which is how it can use lazy lists for its backtracking engine | |||
PerlJam | garbage collection is a good thing | 18:05 | |
TimToady | anyway, carrying relatively static refs around gets more expensive the more you copyt them | ||
PerlJam | TimToady: What do you think about having // alwasy produce a Regex object and requiring m// to actually perform a Match? | ||
TimToady | what's the boolean value of // then? :) | 18:06 | |
PerlJam | Bool::True (always :) | ||
moritz_ | PerlJam: that would make $str.split(/.../) very non-dwimmy | ||
TimToady | I like the current design | ||
p6 is all about lazy context | 18:07 | ||
18:07
sitaram left
|
|||
PerlJam | moritz_: no it wouldn't ... you're passing a Regex object to split and split does the matching. | 18:07 | |
moritz_ | speaking of split... it seems all implementations still think it's split($needle, $haystack) | ||
TimToady | note that we've removed the necessity to introspect the / | 18:08 | |
moritz_ | PerlJam: right, I was confused | ||
pmichaud | TimToady: the question we came up with last week was something like: /.../ ?? 'true' !! 'false' | 18:10 | |
how do we know that /.../ is to be an immediate match? | |||
TimToady | it's in a boolean context | ||
pmichaud | do all regexes in boolean context match against $_ ? | ||
TimToady | yes | 18:11 | |
pmichaud | okay. | ||
TimToady | $x ~~ is a topiclaizer | ||
I've been saying this for years... | |||
[particle]- | so /.../ is the same as ?/.../ | ||
pmichaud | no. | ||
18:11
barney joined
|
|||
pmichaud | it depends on the context of /.../ | 18:11 | |
PerlJam | ?//, ~//, and +// are all immediate matches against $_ though | ||
lambdabot | Unknown command, try @list | ||
pmichaud | afaict, the synopses don't make it clear that any Regex in a boolean context performs a match | ||
TimToady | m// is the problem child under this view | 18:12 | |
if m// means ?// then you can't use is in list context | |||
*it | |||
[particle]- | what if m// means \// | ||
TimToady | I huh in your general direction | 18:13 | |
[particle]- | or is that |// (i'm still confused with that syntax) | ||
TimToady | I rehuh in your general direction | ||
[particle]- | basically, lazy context detection | ||
TimToady | context is always lazy | ||
pmichaud | TimToady: so, m/.../ always forces an immediate match on $_ (unless topicalized by smartmatching), /.../ produces a regex that matches against $_ when in boolean context (as all regexes do) | ||
TimToady | so I don't know what you mean | ||
[particle]- | neither do i, i suppose | 18:14 | |
TimToady | m// always forces an immediate match on $_ *especially* if topicalized by smartmatching | ||
PerlJam | [particle]-: m the stands for "magic" :) | ||
pmichaud | okay. | ||
TimToady | the m// seems the $x via $_ | ||
pmichaud | so $x ~~ m/.../ matches $x against the Match object produced by m/.../ | ||
TimToady | *sees | ||
PerL_MonK | im afraid to ask what '?' stands for then | 18:15 | |
[particle]- | hrmm. | ||
pmichaud | oh, okay, what you just said then. | ||
[particle]- | PerL_MonK: prefix:<?> evaluates an expression in boolean context | ||
TimToady | basically, I guess, matches *always* match against $_ | 18:16 | |
PerL_MonK | i was expecting a more, magical answer ;) | ||
pmichaud | with foo(Regex $x) { $_ = 'blah'; say ?$x; } | ||
[particle]- | can ops curry? | ||
PerlJam | TimToady: right, $x~~ as topicalizer just hasn't sunk in. | ||
[particle]- | $x ~~; | ||
pmichaud | is $x matched against the local $_ or against the $_ in effect when the regex was defined? | ||
[particle]- | /match_me/; | ||
18:16
jhorwitz joined
|
|||
TimToady | however, they match against the $_ in effect at the location of the // | 18:16 | |
pmichaud | okay | ||
you just answered that, then. | |||
grep and split are special, though. | 18:17 | ||
TimToady | not at the ? location, which could be down in a service sub like split | ||
[particle]- | heh | ||
TimToady | either that, or a splitter has to alias its $_ to the CALLER::<$_> explicitly | ||
pmichaud | this doesn't match the discussion I remember on the topic -- at least not entirely. | 18:18 | |
TimToady | maybe that makes more sense | ||
[particle]- | the pessimizer will be busy | ||
Tene | pmichaud: do you have a plan for context vars? | ||
pmichaud | with "something".split(/.../) --- how does split set the topic for the regex, then? | 18:19 | |
Tene: answer #1: Parrot isn't up for "real" context vars yet | |||
18:19
skids joined
|
|||
pmichaud | Tene: answer #2: I've just introduced an opcode that allows us to simulate it a bit | 18:19 | |
Tene: for real context vars the way that Perl 6 wants them, we need a lot more introspection on cotnexts | 18:20 | ||
PerlJam | TimToady: seems like that's a general implementation detail useful for split-like methods | ||
pmichaud | *contexts | ||
TimToady | perhaps $x ~~ // really turns into <-> $_ { // }($x) | ||
18:20
meppl joined
|
|||
PerlJam | <-> is rw parameters? | 18:20 | |
TimToady | yes | 18:21 | |
diakopter | std: my $d=$d | ||
p6eval | std 26107: OUTPUT«ok 00:02 35m» | ||
TimToady | or whatever the right syntax is, the idea being that a match passed to a splitter is really a closure with a prebound $_ | 18:22 | |
PerlJam | I guess that gives s/// some help, but I'm not sure why rw for // | ||
TimToady | well, should really be "is ref" I suppose | ||
PerlJam | diakopter: be aware that those are the same $d | ||
diakopter | PerlJam: please explain.. | 18:23 | |
PerlJam | diakopter: you need to do something like my $d = $OUTER::d; to get the one from the outter scope. | ||
TimToady | as I said last night, declarations introduce names immediately | ||
18:24
PerL_MonK left
|
|||
PerlJam | diakopter: as soon as you see "my $d", that puts $d in the local scope | 18:24 | |
pmichaud | .oO( I think "match passed to a splitter" was to be "regex passed to a splitter" ...?) |
||
PerlJam | TimToady: yeah, but you have to use many different words until everyone gets it :) | ||
diakopter | ... faq (by diakopter) | ||
pmichaud | I'm guessing that a regex is a closure with a default parameter of OUTER::<$_> | 18:27 | |
at least for the /.../ and m/.../ forms | |||
much like we do for other un-signatured closures | 18:28 | ||
[particle]- | can a regex ever take anything other than one param? | ||
PerlJam | Depends on if you count adverbs as parameters :) | 18:29 | |
18:30
justatheory left
|
|||
TimToady | token foo ($more, $params) {...} | 18:31 | |
however, ~~ has no way to supply those extra params | |||
[particle]- | but split does | 18:32 | |
PerlJam | If // is a closure with $_ as invocant, then ($x ~~ /.../)($foo, $bar); should work | ||
[particle]- | it's nice to have a language that still has corners | 18:34 | |
PerlJam | ($str ~~ HTML)('strict') # or something. | ||
pmichaud | PerlJam: I don't see how that can be. | ||
PerlJam | But then I'd want something like $str ~~ HTML('strict') | 18:35 | |
moritz_ | if HTML overrides .accepts, it can return a closure... | ||
PerlJam | pm: i'm hand-wavy right now. that first one probably wouldn't work, but the second one might. | 18:36 | |
pmichaud | it's easier to follow if you say $regex | ||
instead of HTML | |||
TimToady | well, all this is kinda beside the point if $x ~~ $y means $y.ACCEPTS($x) | ||
PerlJam | But I wonder what happens when you do $str ~~ HTML; and there are required parameters | 18:37 | |
pmichaud | I'm really not concerned about the smart match case at the moment. | ||
I'm more interested in the .split(/.../) .match(/.../) and /.../ ?? foo !! bar cases at the moment | |||
smartmatch is "special" -- we can do syntactic things to make it do what we want. | 18:38 | ||
TimToady | I suspect those guys probably just make sure their $_ is aliased appropriately | 18:39 | |
pmichaud | I'm confused about what's been decided, then. | ||
TimToady | I'm just confused... :) | ||
pmichaud | with my $regex = /.../; $foo.split($regex) ..... is $regex matching against split's $_ or the caller to split ? | 18:40 | |
PerlJam | TimToady: you mean .split and .match alias $_ appropriately, while /.../ ?? foo !! bar; just matches against the local $_ | ||
diakopter | (or the $_ in the context of $regex' declaration) | ||
TimToady | split sets $_ to $foo in that case | ||
pmichaud | okay, so $regex matches against its callers $_, not against the $_ of the regex definition. | 18:41 | |
TimToady | I don't think /.../ closurizes | ||
yes | |||
pmichaud | and with ?$regex ... ? | ||
is it still matching against the $_ at the point of the boolean, or ... ? | 18:42 | ||
TimToady | prefix:<?>'s caller's $_, again | ||
pmichaud | okay. | ||
TimToady | or something like that--at some point primitives take over and emulate the semantics, of course | 18:43 | |
pmichaud | so, a regex in boolean context does an immediate match against $_ . I can handle that. | ||
TimToady | so the actual eval of // might be triggered by binding, for instance, not the actual body of ? | ||
18:43
cdarroch joined
|
|||
PerlJam | so, do I remember right that $str ~~ Foo is specced now and means something like Foo.parse($str) where .parse() invokes the TOP rule? | 18:44 | |
pmichaud | No. | 18:45 | |
$str foo asks "$str does Foo?" | |||
sorry | |||
$str ~~ Foo asks "$str does Foo?" | |||
(unless the spec changed again while I wasn't looking) | |||
moritz_ | it didn't ;-) | ||
if you want Foo.parse, you write Foo.parse($str) ;-) | 18:46 | ||
PerlJam | okay, so you still have to do $str ~~ / <Foo::TOP> / or Foo.parse($str) (but .parse does invoke TOP) | ||
pmichaud | .parse wants to invoke TOP by default, yes. | ||
PerlJam | okay, so if .parse invokes TOP, does it have a slurpy on the end (or something) for parameters to TOP? | 18:47 | |
(or does TOP ever take parameters?) | |||
pmichaud | all methods have slurpy named | ||
18:58
DemoFreak joined
|
|||
pmichaud | if you mean slurpy positional -- we haven't put that there but could certainly do so if needed. | 18:59 | |
19:04
justatheory joined,
hercynium left
19:11
plash left
19:15
orafu left,
orafu joined
19:32
Util joined
|
|||
Util | evalbot: 'my $z = 1**Inf; say $z.perl' | 19:33 | |
moritz_ | rakudo: my $Z = 1**Inf; say $Z.perl | ||
p6eval | rakudo 0310a3: OUTPUT«1» | ||
moritz_ | it runs on linux | ||
Util | And outputs "NaN" on MinGW/Win32. Thanks, moritz. | 19:34 | |
moritz_ | rakudo: say (1**NaN).perl | 19:36 | |
p6eval | rakudo 0310a3: OUTPUT«1» | ||
Util | Shouldn't that have produces NaN? | 19:37 | |
moritz_ | that's a good question | ||
Util | s/produces/produced/ | ||
moritz_ | my first thought was "yes" | ||
but then... can you imagine *any* x so that 1**x gives something other than 1? | 19:38 | ||
[particle]- | rakudo: say (1**'a').perl | ||
p6eval | rakudo 0310a3: OUTPUT«1» | ||
19:40
dKingston left
|
|||
Util | 1**x == 1 when x is any number. If x is not a number, all bets should be off. 1**"Util_says_some_line_noise" should be NaN or throw an exception, IMHO. | 19:41 | |
moritz_ | you've got a point there | 19:42 | |
19:45
frew|work joined
19:46
eternaleye left
19:49
barney left
19:52
sri_kraih joined
20:08
orafu left,
orafu joined
|
|||
jnthn is back from nom | 20:22 | ||
pmichaud: Will Thursday work for Rakudo day? | 20:23 | ||
pmichaud | yes | 20:25 | |
that's probably best for me. | |||
Friday kids are home from school. | |||
jnthn | OK, it's best for me too, I think. | 20:26 | |
pmichaud | I should have bytecode annotations done well before then. | ||
(working on them now, in fact) | |||
jnthn | Tomorrow will have too many distractions, and Friday I probably need to wrap some non-Rakudo stuff up before The Trip. | ||
(bytecode annotations) great! | |||
We can haz better errors! | 20:27 | ||
Will you provide a hook in HLLCompiler for subscribing some sub that receives an uncaught exception? | |||
Or just some default we can subclass is fine I guess. | |||
pmichaud | jnthn: we can do that, yes. | 20:29 | |
jnthn | OK, great. :-) | ||
pmichaud | something somewhere. | ||
jnthn | specificity win ;-) | 20:31 | |
lucs | Apart from running some code (which might fail because of some misunderstanding on my part), what's a practical way to figure out whether/how a given feature is currently implemented? (For example, I'm wondering about heredoc operators...) | 20:34 | |
skids | run it in the evalbot here, where people are watching. | ||
and check rakudo.org/status and RT | 20:35 | ||
lucs | Er, I wouldn't want to pollute the channel with my ignorance :/ | ||
Ah, status, ok. | |||
jnthn | I think you can pm evalbot too. | ||
[particle]- | or examine t/spe | ||
*t/spec | |||
lucs | Ok, thanks. | 20:36 | |
20:36
Tene_ joined
20:37
sri_kraih_ joined
|
|||
pmichaud | and Rakudo doesn't implement heredocs yet. | 20:42 | |
(in case status doesn't say that.) | |||
TimToady | STD parses them, fwiw | ||
lucs | pmichaud: That's what it looks like :) | 20:43 | |
pmichaud | I'll have to check out STD's parsing. | ||
but at some point I'm going to be tired of emulating STD and just use it. :-) | |||
TimToady | std: q:to'foo';stufffoo | ||
p6eval | std 26107: OUTPUT«##### PARSE FAILED #####Unrecognized quote modifier: 1 at /tmp/d5ckZFXAjZ line 1:------> q:to'foo';FAILED 00:02 34m» | 20:44 | |
pmichaud | then again, it's possible STD doesn't parse some of them :-) | ||
TimToady | strange... | ||
20:45
sri_kraih left
20:47
ruoso left
20:49
Tene left
20:52
hercynium joined
|
|||
TimToady | std: q:to/foo/;stufffoo | 20:59 | |
p6eval | std 26107: OUTPUT«ok 00:03 35m» | ||
TimToady | std: q:to"foo";stufffoo | ||
p6eval | std 26107: OUTPUT«ok 00:02 35m» | ||
TimToady | std: q:to'foo';stufffoo | ||
p6eval | std 26107: OUTPUT«##### PARSE FAILED #####Unrecognized quote modifier: 1 at /tmp/bNbf3B3f2c line 1:------> q:to'foo';FAILED 00:02 34m» | ||
PerlJam | don't you run afoul of the fact that ' can be in identifiers? | 21:04 | |
TimToady | std: q:to 'foo';stufffoo | ||
p6eval | std 26107: OUTPUT«ok 00:03 35m» | ||
TimToady | apparently :) | ||
moritz_ | is the ' really needed in identifiers? | 21:05 | |
I can see the point for the dash - and I frequently use it | |||
PerlJam | don't won't isn't etc. | ||
pmichaud | Depends on whether you like O'Malley or Klingon :-) | ||
moritz_ | but all examples for ' that I've seen were constructed | ||
PerlJam | is($foo); isn't($bar); | 21:06 | |
moritz_ | pmichaud: usually you don't give your variables names like O'Malley - that's typically used in data instead | ||
ah well, maybe I'm just not open enough for that kind of change | |||
I just think of Acme::don't, and how I explained that to non-perl-programmers (and not-so-experienced perl programmers as well) | 21:07 | ||
TimToady | the point is, I think, that the error message was misleading | ||
PerlJam | yes, indeed. | ||
TimToady | if it had said that to'foo is unrecognized I'd have known right away what the problem was | ||
PerlJam | (I too have little desire for ' in identifiers, fwiw) | ||
pmichaud | I can go either way on it. I know that apostrophes get used often in French, for example, and that the words are simply wrong w/o them. | 21:09 | |
e.g., $message-d'erreur | |||
PerlJam | does that mean that any glyph used in natural language text can be used in identifiers? | 21:10 | |
:-) | |||
pmichaud | no, but if we've gone to the trouble of allowing unicode alphanumerics in identifiers, we could at least allow the apostrophe (if it's not onerous to do so) | 21:11 | |
pugs_svn | r26108 | lwall++ | [STD] emit correct error message on unrecognized quote modifier | 21:13 | |
r26108 | lwall++ | treat Xop as non-diffy | |||
moritz_ | what does "diffy" mean? | 21:15 | |
lucs | FWIW, there are very few words in French that require an apostrophe, they are used more for (not sure of the right term here) connecting words with elision (e.g., "l'avion" instead of the incorrect "le avion" ("the plane") -- but one word that requires an apostrophe for example: "aujourd'hui" ("today")). | ||
TimToady | produces a result of a different type than its arguments. Xop takes a list and produces a list of (potentially) the same type, so we don't want to disallow [Xop] for instance | 21:16 | |
PerlJam | lucs: "contractions" is the word we use in english. (like "don't" for "do not") | ||
lucs | Ah, right :) | ||
pmichaud | PerlJam: but they're not really "contractions" | ||
PerlJam | l'avion looks like a contraction to me. | ||
TimToady | huffmanizations :) | ||
moritz_ | TimToady: ah, that makes sense. I was going to bother you about [Xop] at some point anyway ;-) | 21:17 | |
jnthn | j'ai le contractions...je suis alle a l'hopital! | ||
rgs | d'hui is actually the contraction of de hui, hui meaning here in ancient French (latin hic) | ||
moritz_ | lol | ||
lucs | jnthn: Bring out the cigars! | ||
pmichaud | aujourd'hui would literally be "the day that is here" | ||
TimToady | std: q:to 'foo';stufffoo | ||
p6eval | std 26108: OUTPUT«ok 00:02 34m» | ||
pmichaud | or "on the day that is here" | ||
TimToady | std: q:to'foo';stufffoo | ||
p6eval | std 26108: OUTPUT«##### PARSE FAILED #####Unrecognized quote modifier: 1 at /tmp/V90UyOCajW line 1:------> q:to'foo';FAILED 00:02 34m» | ||
TimToady | still a large lag on that... | 21:18 | |
pmichaud | I don't think of l'avion as a contraction because the "uncontracted" form is technically incorrect. | ||
TimToady | why does it report version 26108 but keep 26107 semantics for many minutes? | ||
lucs | The point is that "aujourd'hui" is a single word, but "l'avion" is two. | ||
pmichaud | lucs: correct. | ||
rgs | lucs: d'accord. | ||
:p | |||
PerlJam | TimToady: are you sure your changes worked? ;) | ||
TimToady | yes | 21:19 | |
was using @k in a scalar context | |||
hence the 1 | |||
PerlJam | std: q:to'foo';stufffoo | ||
p6eval | std 26108: OUTPUT«##### PARSE FAILED #####Unrecognized quote modifier: to'foo at /tmp/zvglHXR7EY line 1:------> q:to'foo';FAILED 00:02 34m» | ||
PerlJam | that is *weird* | 21:20 | |
moritz_ | std.pm is still being recompiled | ||
TimToady | what did you do different, besides wait longer? :) | ||
moritz_ | ah, now it's done | ||
the server is a bit slow | |||
PerlJam | moritz_: seems like it's reporting the wrong version then. | ||
TimToady | spoiled, only takes 30 seconds here... | ||
21:20
jhorwitz left
|
|||
moritz_ | PerlJam: I think it first runs 'make', which first builds, and then checks STD.pm with itself, and then updates the revision number | 21:21 | |
it's now in the './tryfile STD.pm' step | |||
TimToady | anyway, nearly all apostrophe errors should be handled by reporting what it is that you didn't recognize | 21:23 | |
likewise - errors | |||
moritz_ | std: 1 | ||
p6eval | std 26108: OUTPUT«ok 00:02 35m» | ||
TimToady | std: say rand-rand | 21:24 | |
p6eval | std 26108: OUTPUT«Undeclared routine: rand-rand used at 1 ok 00:02 35m» | ||
moritz_ | PerlJam: actually it's the other way round - it always reports the current svn revision, not the built revision | 21:25 | |
21:31
PhatEddy left
21:33
clintongormley left
21:38
FurnaceBoy joined
|
|||
jnthn | our List multi method map(Code *&expr) { | 21:42 | |
Why the slurpy? | |||
std: our List multi method map(Code *&expr) { ... } | |||
p6eval | std 26108: OUTPUT«ok 00:03 39m» | ||
moritz_ | because... there's a section on "slurpy code blocks" somehwere, I think in S04 or S06 | ||
21:44
payload1 joined
|
|||
jnthn | ah, found it, thanks. | 21:45 | |
ah! | |||
It's not the slurpy I think | |||
So much as that it's wrong in another way. | |||
Code &expr means "an expression that returns Code" | |||
21:46
skids left,
payload left
|
|||
moritz_ | aye | 21:46 | |
jnthn | And I think that *&expr from what I can see in the synopses would not change that. | ||
I think we can drop the Code there, since all we need is something we can call. And the presence of the & sigil gives us that. | |||
21:47
Woody4286 joined
|
|||
jnthn | OTOH, our List multi method grep(Code $test) { is fine | 21:47 | |
Because of the $ there. | |||
21:47
jferrero joined
|
|||
jnthn | Though I am curious why we don't just write &test | 21:47 | |
21:48
brunoV left
|
|||
jnthn removes the Code | 21:49 | ||
moritz_ | (removing stuff)++ | ||
pmichaud | the Code might be there to make the multi more explicit. | 21:50 | |
e.g., to distinguish (Code $test) from (Str $test) | |||
as opposed to having to see the difference between (&test) and ($test) | |||
jnthn | pmichaud: Aye, but if you don't write the & sigil then you can't make it a slurpy block. NOt that we really support those just yet anyway... | 21:51 | |
pmichaud | correct, we need the sigil for a slurpy block. | ||
*&code is a significant enough difference for me :-) | |||
jnthn | I only knew those existed as of five mins ago. Wow. | ||
Good good. :-) | |||
Ah, when Rakudo gets correcter than it's own setting. ;-) | 21:52 | ||
A lot of my fails were related to map | |||
pmichaud | but this points to another reason why setting should be sparing of type constraints :-) | ||
pugs_svn | r26109 | moritz++ | [t/spec] tests from and for RT #64478, ihrd++ | ||
pmichaud | yes, I found a few places in the suite that had foo(Hash %h) | 21:53 | |
(where %h was being used as a simple hash, not a HoH) | |||
jnthn | Yeah. We'll be a bit upset about those now too. | 21:54 | |
moritz_ | it's always hard to get things right that aren't implemented yet by any compiler | ||
jnthn | oh hey, I wonder if that's why hash.t was failing... | ||
moritz_ | actually there are a few more instances of that | 21:55 | |
jnthn | ah, surprise! | ||
Well, that's hash.t corrected and passing. | 21:56 | ||
moritz_ | type-based.t is also wrong | ||
and pair.t | |||
moritz_ fixes these right now | |||
jnthn | moritz_: Oh, thanks! :-) | ||
I just fixed hash.t | |||
pugs_svn | r26110 | jnthn++ | [t/spec] Correct test that said Hash %hash when it really just meant %hash (Hash %hash is a HoH. | ||
jnthn | I'll delete those from my list to investigate. | 21:57 | |
pugs_svn | r26111 | moritz++ | [t/spec] fix wrong usage of Hash %h and Array @a | ||
pmichaud | yay, more passing tests? | 21:58 | |
or are these tests that passed in spite of being wrong? | |||
jnthn | pmichaud: They were passing before in spite of being wrong. | ||
pmichaud | drat. | 21:59 | |
jnthn | pmichaud: Don't worry, we'll get more passes soon. ;-) | ||
pmichaud | isn't "impatience" one of the virtues? | ||
pugs_svn | r26112 | moritz++ | [t/spec] remove more wrong type constraints of the form 'Array @a' | ||
moritz_ | ack++ | ||
ack'ing for Array\s*@ and Hash\s*% found a few of those | 22:00 | ||
22:00
nihiliad left
|
|||
moritz_ | (actually ack found all that I fixed) | 22:00 | |
pmichaud | might also look for "Code\s*&". | 22:01 | |
moritz_ | yes, one hit | ||
jnthn | OK, down to 5 more tests to investigate now. | ||
pugs_svn | r26113 | moritz++ | [t/spec] remove one more wrong type constraint, pmichaud++ | 22:02 | |
22:03
wknight8111 joined
|
|||
jnthn | OK, only 3 test files now that I actually need to investigate, out of 20 initial fails. yay. | 22:04 | |
I know what 2 of them are. | |||
If anyone fancies checking on: t\spec\S06-signature\passing-arrays.t 9 1 6 | |||
If it's a perfectly valid test, I'll need to fix it... | |||
(as in, fix Rakudo) | |||
22:05
nbrown_ joined
|
|||
moritz_ | jnthn: did you svn up? | 22:05 | |
pmichaud | jnthn: which tests appear to be failing in passing-arrays.t ? | 22:06 | |
it appears correct to me. | |||
jnthn | not ok 6 - non-slurpy array does not take a single Int | 22:07 | |
22:07
kidd joined
|
|||
jnthn | It's more than possible I've messed up. | 22:07 | |
pmichaud | that test is correct. | ||
jnthn | That is exaclty the area of the code I have changes in. | ||
OK, thanks. | |||
pmichaud | rakudo: sub foo(@a) { say @a.perl; }; foo(3); # should be an error | ||
p6eval | rakudo 0310a3: OUTPUT«Non-Positional argument for @a in call to foocurrent instr.: 'die' pc 15853 (src/builtins/control.pir:204)» | ||
pmichaud | for exactly that reason. | ||
jnthn | oh oh oh | 22:08 | |
Then I'll know just what that is... | |||
pugs_svn | r26114 | moritz++ | [t] warn about my Array @a | 22:09 | |
pmichaud | + isa_ok(:foo.value, Bool::True, ':foo.value isa Bool::True'); | 22:13 | |
...is that right? | |||
(the "isa" part?) | |||
jnthn | Yes. Duh. Stupid me. | ||
22:14
nbrown_ left
|
|||
moritz_ | pmichaud: what do you expect it to be? a Bool instead of Bool::True? | 22:14 | |
pmichaud: it used to be an Int, but it's a Bool these days | |||
jnthn: after I corrected the passing-arrays.t test it also fails in trunk | |||
jnthn | True, but isa feels...wrong. | ||
moritz_: Oh? | 22:15 | ||
moritz_ | s/after/since/ | ||
Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures: | |||
:(Any @bar) | |||
:(Any %bar) | |||
that's because dispatch by sigil-implied types is NYI | |||
jnthn | oh how handy | ||
moritz_ | I'd say we regress on that one | ||
wait | 22:16 | ||
that's a different file | |||
type-based.t | |||
moritz_ confused | |||
sorry | |||
jnthn | moritz_: Well, still it's a win because locally that works now. ;-) | ||
> multi foo(@x) { say 1 } | |||
> multi foo(%x) { say 2 } | |||
> foo([1,2,3]); foo({ a => 1, b => 2}); | |||
1 | |||
lambdabot | <no location info>: parse error on input `2' | ||
<no location info>: parse error on input `@' | |||
<no location info>: parse error on input `{' | |||
jnthn | 2 | ||
moritz_ | jnthn: should I fudge it anyway? | 22:17 | |
I mean I don't know in which time frame you'll push | |||
jnthn | moritz_: Can you hold off comitting it for long enough for me to do another make spectest... | ||
moritz_ | jnthn: sure I can | ||
jnthn | Or fudge now if you like and we can unfudge later. But I hope to commit soon. | ||
pmichaud | asking for "isa Bool::True" just feels wrong. | 22:18 | |
moritz_ | pmichaud: what would you prefer? isa Bool? | ||
pmichaud | yes | ||
and a separate test for truthity | |||
. | |||
moritz_ | we have that already | ||
pmichaud | then we should just verify that :foo.value is a Bool | ||
pugs_svn | r26115 | moritz++ | [t/spec] improvements suggested by pmichaud++ | 22:19 | |
pmichaud | jnthn: are you about to commit a lot of changes to actions.pm ? Want me to hold off on a fix for :key and :!key ? | 22:20 | |
pugs_svn | r26116 | moritz++ | [t/spec] fudge type-based.t for now, hopefully jnthn++ can ufudge it again | ||
r26116 | moritz++ | soon ;-) | |||
jnthn | pmichaud: It's a fairly sizable diff, yeah. | ||
pmichaud | I can wait. My fix for the others is small. | ||
(and for those reading along... the proposed patch in #64478 may be slightly off.) | 22:21 | ||
jnthn | Got passing-arrays.t running again. :-) | ||
pmichaud | \o/ | ||
moritz_ | (real-time feedback on IRC)++ | ||
jnthn | If that's Ilya's patch I'm at least partly to blame since I suggested to him what to try... | 22:22 | |
pmichaud | I haven't looked too closely, but I'm worried that the value part might be a bind instead of an assign | ||
jnthn | If it is, then we were doing it wrong before too... | 22:23 | |
pmichaud | no, because before we were using a value node | ||
jnthn | Or probably anyway. | ||
pmichaud | i.e., 0 / 1 as Int | ||
jnthn | Oh, yes. | ||
Ah! And pairs can be assigned to! | |||
pmichaud | correct. | ||
jnthn | I had forgotten that. | ||
Good catch. | |||
pmichaud | oh, but we ultimately call infix:=> .... so.... | 22:24 | |
jnthn | I'm not sure how smart that is. OTOH, I'm not sure our pairs are assignable yet... | 22:25 | |
pmichaud | I don't think they are yet, but they likely will be at some point. | ||
jnthn | rakudo: my $x = a => 42; say $x.perl; $x = 100; say $x.perl; | ||
p6eval | rakudo 0310a3: OUTPUT«"a" => 42100» | ||
moritz_ | rakudo: my $x = a => 3; $x.value = 400; say $x.perl | ||
p6eval | rakudo 0310a3: OUTPUT«"a" => 400» | ||
pmichaud | right. | ||
jnthn | Is that second output thus meant to be "a" => 100 there? | 22:26 | |
22:26
nbrown left
|
|||
pmichaud | rakudo: my $x = a => Bool::True; $x.value = 3; say Bool::True; | 22:26 | |
p6eval | rakudo 0310a3: OUTPUT«1» | ||
jnthn | (In which case paris are specialny) | ||
pmichaud | I'm wanting to make sure we don't accidentally change Bool::True :-) | ||
rakudo: my $x = a => Bool::True; $x.value = 3; say $x.perl; | |||
p6eval | rakudo 0310a3: OUTPUT«"a" => 3» | ||
jnthn | Yes, that would probably offend logicians too. We already offended the mathematicians with our e not being so constant. :-) | 22:27 | |
Lyle | Hi All | 22:28 | |
moritz_ | to parphrase TimToady, it's their turn now, everybody's been offended by Perl 6 at least once ;-) | 22:29 | |
jnthn | Ah well, thankfully not my turn again yet. ;-) | ||
Lyle | I'm trying to track down problems with Rakudo on windows when called by IIS or Apache | ||
jnthn | Lyle: OH HAI :-) | 22:30 | |
Lyle: Cool. I'm doing Rakudo dev on Windows too. :-) | |||
dalek | kudo: f822294 | (Moritz Lenz)++ | docs/ChangeLog: [docs] more ChangeLog |
||
22:30
Tene_ is now known as Tene
|
|||
jnthn | Lyle: What problems are you running into? | 22:30 | |
Lyle | I figure I can add the -t flag to do a trace to find out what happening | ||
but I can't find the docs | |||
jnthn | perl6 --trace=1 may do it | ||
Lyle | jnthn: all works fine on the command prompt, but not through cgi | 22:31 | |
jnthn | Lyle: In what sense is it failing? | ||
Not giving any output? | |||
If so, one interesting thing to try: write a little PIR CGI script and run that with Parrot and see if it works. | 22:32 | ||
Lyle | jnthn: basic scripts like hello on apache | ||
jnthn | That'll at least tell us if it's a Parrot-level or Rakudo-level issue. | ||
pmichaud | there's also the parrot_trace(1) builtin. | ||
Lyle | but none of IIS | ||
pmichaud | (which can also be done with Q:PIR { trace 1 }; :-) | 22:33 | |
22:33
Southen_ joined,
iblechbot left
|
|||
jnthn | Lyle: It gives output on Apache, but not IIS? | 22:33 | |
Lyle | jnthn: yes | ||
pmichaud | bbiab | 22:34 | |
Lyle | jnthn: I've managed to get november working on the command prompt | ||
jnthn | Lyle: Does it work at the command prompt also if you re-direct the output? | 22:35 | |
Lyle | jnthn: with > filename on the end? | 22:36 | |
jnthn | Lyle: Aye. | ||
Lyle | jnthn: yes it does | 22:37 | |
jnthn: when called through apache it just hangs and them timesout | |||
moritz_ | Lyle: did you precompile it? | 22:38 | |
jnthn | Lyle: What about if you try and capture it from a Perl script, e.g. perl -e "print `perl6 ...`" | ||
Lyle | jnthn: I can see the perl6.exe process just sitting there in taskmgr | ||
jnthn | (Just pondering if it's some IO-level thing...) | ||
moritz_ | Lyle: it might be too slow if you don't precompile it | ||
jnthn | Lyle: Using CPU? | ||
Lyle | not using cpu | 22:39 | |
jnthn | Hmm... | ||
Suggesting it may be blocking on some IO. :-S | |||
Lyle | mortiz: hate to sound dumb, but how do I pre-compile? I'm very new to this | ||
22:39
exodist left
|
|||
moritz_ | Lyle: maybe November has a 'make' target for that | 22:40 | |
Lyle | jnthn: perl -e "print...etc outputs properly from the command prompt | 22:41 | |
moritz_ | if not, you can precompile with ./perl6 --target=PIR sourfile.pl > sourcefile.pir | ||
jnthn | Lyle: OK. Odd. | ||
Lyle: Does a simple "print 'hello world'" style script work in Apache? | |||
Lyle | moritz: oh yes, sorry, yes it's been precompiled into pir files | 22:42 | |
jnthn | And - this may be hard to test - but perhaps it is reading from $*IN (which I suspect November does to read POST data) that is hanging. | ||
Lyle | jnthn: yes simple script does work | ||
jnthn: in apache | |||
s1n | sanity check: can anyone else see this? | 22:44 | |
moritz_ | s1n: no, I can't ;-) | ||
s1n | hah good, seems irc is the only thing working properly :( | 22:45 | |
moritz_ | Lyle: it might be a security feature that you can't open files from cgi scripts or something, unless they are explicitly allowed... | 22:46 | |
Lyle: try a very simple CGI that works otherwise, and add a few lines that open a file, read a line, and close it again | 22:47 | ||
and then try again through the web server | |||
Lyle | jnthn: a trace should reveal that shouldn't it? | ||
jnthn | Lyle: Your best bet may me to try and pare down November, or build a simple Hello World up towards it, to work out exactly what it is that's causing the hang. | ||
22:47
Southen left
|
|||
jnthn | Lyle: A trace could well be revealing too. | 22:47 | |
Lyle | moritz: I've done that already :) | ||
moritz_ | Lyle: and did it work? | ||
Lyle | mortiz: yes | ||
jnthn | Lyle: As could, if you can, breaking into it with a C debugger if it's hung on some blocking IO call. | ||
dalek | kudo: 6eef54b | jnthn++ | src/classes/ (2 files): Signature on positional and associative postcircumfixes should not use @ and % sigils, since they are what define said sigils in the signature. |
22:48 | |
kudo: fb553bd | jnthn++ | src/ (3 files): More progress on typed arrays and hashes. This patch allows them to be declared, gets them responding correctly to .of, allows checking for (potentially typed) positionals/associatives/callables in the signature and allows the sigils and the Positional/Associative/Callable parametric types to participate in multi dispatch. |
|||
kudo: 4abd893 | jnthn++ | : Merge branch 'master' of [email@hidden.address] |
|||
Lyle | mortiz: on apache and on IIS the files were written to, but still no output | ||
Lyle | jnthn: that's a bit above me at this point but I'll look into it | ||
Are there any docs on how to use the trace? Where it outputs to, etc? | 22:49 | ||
jnthn | Lyle: Well, trouble is, it outputs I think to STDERR | ||
Lyle: But you could try at the start of the script $*ERR := open("some_log_file", :w) | 22:50 | ||
Oh | |||
But I fear that'll not actually work. :-| | |||
Lyle | jnthn: I could just point $*ERR to a local file then? | ||
jnthn: oops you said that already lol | |||
jnthn | Yeah, but I don't think it'll influence where Parrot goes and prints stuff.. :-( | ||
Lyle | oh | ||
jnthn | moritz_: You can perhaps unfudge those sigil tests now. | 22:51 | |
moritz_: Also probably others too. | |||
moritz_: I'll probably look soon at test coverage for this bunch of stuff I've been working on. | |||
...googling for masak november didn't entirley get me what I was hoping for... | 22:53 | ||
22:53
davidad1 joined
|
|||
moritz_ | try viklund november ;-) | 22:53 | |
moritz_ rebuilds and gets a segfault | 22:54 | ||
jnthn | fail | ||
moritz_ | let's see if a 'make clean' can change that | ||
22:55
davidad left
|
|||
moritz_ | gets further now | 22:55 | |
jnthn | Lyle: If you look at say the file "wiki" | ||
moritz_ | -L/usr/lib -licuuc -licudata -lpthread -lm | ||
Linked: perl6 | |||
jnthn | I suggest create a CGI that works like hello world. | ||
And then | |||
moritz_ | that's better ;-) | ||
jnthn | Add things like: use CGI; | ||
etc | |||
moritz_: Phew! :-) | |||
Lyle | jnthn: ok | 22:56 | |
jnthn | my $cgi = CGI.new; | ||
$cgi.init(); | |||
See if that hangs it. | |||
If so, you've narrowed it down quite a bit. | |||
rakudo: my Int @a = 1,2,3; say @x.of | |||
p6eval | rakudo 0310a3: OUTPUT«Scope not found for PAST::Var '@x' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
Lyle | jnthn: Any idea's on IIS? I've posted in the forum on iis.net but nothing yet | ||
jnthn | rakudo: my Int @a = 1,2,3; say @a.of | 22:57 | |
p6eval | rakudo 0310a3: OUTPUT«get_iter() not implemented in class 'Integer'current instr.: '_block14' pc 54 (EVAL_17:39)» | ||
jnthn | meh, too soon | ||
Lyle: | |||
Lyle: No, not off hand. | |||
moritz_ | it should rebuild at the full hour, or so | ||
jnthn | Lyle: IIS is kidna Teh Suck, but I do have to work with it now and then so I have it running here too...so I can probably also take a crack at it. | ||
Lyle | jnthn: I've emailed jan from activestate about it but he is on holiday | ||
22:58
justatheory left
|
|||
Lyle | jnthn: hopefully he'll be able to help when he gets back | 22:58 | |
jnthn: cool :) | |||
jnthn | Aye, if he has time and/or interest perhaps. :-) | ||
Lyle | Thanks for the help everyone. I've got to hit the hey, hopefully I'll get further tomorrow | 22:59 | |
jnthn | Lyle: Thanks for working on it. :-) | 23:00 | |
pugs_svn | r26117 | moritz++ | [t/spec] unfudge two tests, jnthn++ | 23:03 | |
moritz_ | rakudo: my Int @a; say @a.of | 23:04 | |
p6eval | rakudo 0310a3: OUTPUT«get_iter() not implemented in class 'Integer'current instr.: '_block14' pc 54 (EVAL_17:39)» | ||
moritz_ | ah, it needs a reconfigure | 23:05 | |
and the build script on the server didn't grok that | |||
rakudo: my Int @a; say @a.of | 23:07 | ||
p6eval | rakudo 0310a3: OUTPUT«Int» | ||
23:07
cognominal left
|
|||
moritz_ | (it might still report the wrong version; please ignore that) | 23:07 | |
rakudo: my Int @a = 2..4; say @a[1]; | |||
p6eval | rakudo 0310a3: OUTPUT«3» | ||
moritz_ | rakudo: my Int @a = 2..4; @a[0] = 4.5; say "alive" | 23:08 | |
p6eval | rakudo 0310a3: OUTPUT«alive» | ||
moritz_ | rakudo: my Int @a = 2..4; @a[0] = 'foo'; say "alive" | ||
p6eval | rakudo 0310a3: OUTPUT«alive» | ||
23:09
Doubi joined
|
|||
moritz_ | I'm going to bed now, the autounfudge will run without me, I'll review its results tomorrow | 23:10 | |
jnthn | moritz_: Note type-checking of assignments is not yet done. :-) | ||
23:10
Tene_ joined
|
|||
jnthn | Gotta save something for tomorrow. ;-) | 23:10 | |
moritz_ | for the impatient: t/spec/S03-operators/autovivification.t looks like a skip could be removed | ||
good night | |||
jnthn | night, moritz_ | ||
23:11
cognominal joined
|
|||
jnthn -> sleep too, night all | 23:12 | ||
23:18
Util left,
skids joined
23:23
Tene left
23:26
davidad joined
23:28
Tene_ is now known as Tene
23:29
s1n joined,
davidad1 left
|
|||
meppl | good night | 23:35 | |
23:36
meppl left
|
|||
skids | so commitbit.pugscode.org's password is for svn+ssh://svn.pugscode.org/pugs right? | 23:39 | |
Or is it for someplace else? | |||
cuz it don't work | |||
23:42
cdarroch left
|
|||
diakopter | I don't know if svn+ssh is enabled...? | 23:42 | |
I thought it was just http | |||
skids | for auth'd access? It does exchange a key | 23:43 | |
23:47
mncharity joined
|
|||
mncharity | @tell pmurias re your interest in erlang, on-ruby.blogspot.com/2009/03/reia-n...ng-vm.html | 23:48 | |
lambdabot | Consider it noted. | ||
23:48
mncharity left
23:53
brunoV joined
23:56
Lyle left,
dukeleto|work left
|