pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:04 Limbic_Region joined 00:16 xinming joined 00:21 jjore is now known as zz_jjore, zz_jjore is now known as jjore 00:26 cjfields joined 00:27 cjfields left
pugs_svnbot r20692 | diakopter++ | [yap6] 00:31
r20692 | diakopter++ | added some S12 syntax features; more to come.x
00:32 xinming_ left
pugs_svnbot r20693 | diakopter++ | [yap6] 00:46
r20693 | diakopter++ | declare all the stuff I just added...
diakopter yap6: say 32; my $gdaasfd = multi sub (Int $sdf: $foo, $bar) { say 9880 } 00:50
exp_evalbot OUTPUT[Parse successful␤]
diakopter yap6: say 32; my $gdaasfd = multi sub (Int $sdf: $foo; $bar) { say 9880 } 00:51
exp_evalbot OUTPUT[Parse successful␤]
diakopter yap6: say 32; my $gdaasfd = multi sub (Int $sdf: $foo; $bar) { has something ; say 9880 }
exp_evalbot OUTPUT[Parse successful␤]
00:51 Limbic_Region left
diakopter yap6: say 32; my $gdaasfd = -> Int $whole, $another,,,,,$someoneElse { has something ; say 9880 } 00:52
exp_evalbot OUTPUT[ Syntax Error near: ">"]
diakopter yap6: say 32; my $gdaasfd = <- Int $whole, $another,,,,,$someoneElse { has something ; say 9880 }
exp_evalbot OUTPUT[ Syntax Error near: "<"]
01:11 Maghnus left 01:26 bacek left, Ched- left 01:27 Ched- joined 01:31 jhorwitz left 03:04 Lorn joined 03:26 Maghnus joined 03:27 nipotan is now known as nipotaway 03:41 eternaleye left 03:42 alester joined 03:43 eternaleye joined 03:45 alanhaggai joined 03:54 alanhaggai__ joined 03:56 alanhaggai_ left 04:00 olmazeg left
pmichaud Is C<pop> a named unary? 04:08
(also C<shift>)
04:09 alanhaggai left
rakudo_svn r28160 | pmichaud++ | [rakudo]: 04:18
r28160 | pmichaud++ | * In scalar assignment, only call .item() on those objects that support it.
04:18 bacek joined 04:20 meppl joined
rakudo_svn r28161 | pmichaud++ | [rakudo]: 04:31
r28161 | pmichaud++ | * Add t/S29-list/grep.t to spectest_regression (bacek++)
04:46 eternaleye left 05:03 xinming_ joined 05:08 eternaleye joined 05:19 xinming left 05:20 alanhaggai_ joined
diakopter heh. theoretically yap6's parser generator system could emit one gigantic capturing regular expression 05:23
05:31 sri_work joined
rakudo_svn r28162 | pmichaud++ | [rakudo]: 05:31
r28162 | pmichaud++ | * Rework handling of named unaries a bit.
05:34 alanhaggai__ left
bacek perl6: my Bool $a=1; my Bool $b=0; say $a xor $b; 06:07
pugs_svnbot r20694 | pmichaud++ | S29-num/abs.t:
r20694 | pmichaud++ | * Unmark two tests as skip (rakudo now understands prefix WHAT)
r20694 | pmichaud++ | * improve skip messages for remaining tests
exp_evalbot kp6 r20693: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824c004)', 'APPLY', 'HASH(0x8e52594)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824c004)', 'APPLY', 'HASH(0x8e52594)') ca...
..pugs: OUTPUT[1␤]
..rakudo r28162: OUTPUT[init_pmc() not implemented in class 'ResizableBooleanArray'␤current instr.: 'parrot;P6metaclass;get_parrotclass' pc 750 (runtime/parrot/library/P6object.pir:462)␤
..elf r20693: OUTPUT[1␤]
bacek time to realclean rakudo in evalbot...
pmichaud ....resizableboolean array? what's up with that?
bacek pmichaud, miscompile after removing Version pmc 06:08
> my Bool $a=1; my Bool $b=0; say $a xor $b;
lambdabot Parse error at "=1;" (column 11)
bacek Type check failed
I've got this in my checkout... 06:09
pmichaud yes, because 1 and 0 aren't booleans. :-)
bacek yes... 06:10
i triggered some very odd rakudo bug during righting test for Test.pm... I fails randomly. 06:11
perl6: my $a=1; my Int $b=1; say $a xor $b; 06:13
exp_evalbot kp6 r20694: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824c004)', 'APPLY', 'HASH(0x8e52594)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤ 06:14
..main::DISPATCH('HASH(0x824c004)', 'APPLY', 'HASH(0x8e52594)') ca...
..pugs: OUTPUT[1␤]
..rakudo r28162: OUTPUT[init_pmc() not implemented in class 'ResizableBooleanArray'␤current instr.: 'parrot;P6metaclass;get_parrotclass' pc 750 (runtime/parrot/library/P6object.pir:462)␤
..elf r20694: OUTPUT[␤]
pmichaud evalbot is going to have trouble with rakudo until parrot gets rebuilt.
bacek pmichaud, can you check ' my $a=1; my Int $b=1; say 'res="' ~ $a xor $b ~'"';' in your version? 06:15
i've got no output at all...
pmichaud > my $a=1; my Int $b=1; say $a xor $b;
lambdabot Parse error at "=1;" (column 6)
pmichaud
>
06:15 alester left
bacek looks like another bug... 06:15
pmichaud well, perhaps not, since $a xor $b is false.
bacek say 'res="' ~ $a xor $b ~'"'; 06:16
ok. My fault. I forgot parentises.
But why false is empty string???
pmichaud note that C<xor> is not a boolean operator. 06:17
i.e., it doesn't return a Bool (unless its arguments are Bools)
so $a xor $b returns undef. 06:18
(which stringifies to '')
bacek yak... 06:19
time to realclean my rakudo... 06:22
06:22 Psyche^ joined 06:30 acmoore_ joined 06:33 vixey left 06:38 acmoore left 06:39 Patterner left, Psyche^ is now known as Patterner 06:41 justatheory left 07:07 nipotaway is now known as nipotan
moritz_ rakudo: say "Good morning" 07:10
exp_evalbot rakudo r28162 OUTPUT[init_pmc() not implemented in class 'ResizableBooleanArray'␤current instr.: 'parrot;P6metaclass;get_parrotclass' pc 750 (runtime/parrot/library/P6object.pir:462)␤
rakudo_svn r28163 | pmichaud++ | [rakudo]:
r28163 | pmichaud++ | * Make C<pop> and C<shift> into named unaries.
pugs_svnbot r20695 | pmichaud++ | S29-array/shift.t, S29-array/pop.t: 07:13
r20695 | pmichaud++ | * Remove some more #?rakudo skip lines
r20695 | pmichaud++ | * Remove some trailing spaces
r20696 | diakopter++ | [yap6] 07:14
r20696 | diakopter++ | Added whitespace detection
r20696 | diakopter++ | Added the through() function, which generates a parser
r20696 | diakopter++ | that slurps stuff up until and including a match on another parser.
r20696 | diakopter++ | Changed some of the core routines to optionally enforce no whitespace.
r20696 | diakopter++ | Trying to find a syntax error in STD_hand.pm; commiting its current
r20696 | diakopter++ | state so that I can diagnose using the html diff.
07:17 c9s left
diakopter well, I can't find my syntax error in STD_hand.pm. Tomorrow. 07:20
07:27 iblechbot joined
bacek rakudo: say 'hi' 07:34
exp_evalbot rakudo r28163 OUTPUT[init_pmc() not implemented in class 'ResizableBooleanArray'␤current instr.: 'parrot;P6metaclass;get_parrotclass' pc 750 (runtime/parrot/library/P6object.pir:462)␤
bacek anyone, please, make realclean evalbot.
moritz_ *rebuilding* 07:35
bacek moritz_, thanks
moritz_ rakudo: say "hi" 07:41
exp_evalbot rakudo r28163 OUTPUT[init_pmc() not implemented in class 'ResizableBooleanArray'␤current instr.: 'parrot;P6metaclass;get_parrotclass' pc 750 (runtime/parrot/library/P6object.pir:462)␤
moritz_ b0rked 07:42
after a 'make realclean' in parrot
trying again
moritz_ just found a segfault in parrot 07:46
sub a { 1 }; &a = sub { 2 }; a()
07:50 alanhaggai_ is now known as alanhaggai 08:13 alanhaggai left
moritz_ rakudo: say "Hi" 08:34
exp_evalbot rakudo r28164 OUTPUT[Hi␤]
moritz_ finally ;) 08:35
bacek moritz++ 08:43
08:44 nipotan is now known as nipotaway 08:55 xinming_ left, xinming joined
bacek perl6: eval('die'); say (defined $!) xor Bool::True; 08:56
exp_evalbot kp6 r20696: OUTPUT[syntax error at position 17, line 1 column 17:␤eval('die'); say (defined $!) xor Bool::True␤ ^ HERE␤]
..pugs: OUTPUT[1␤]
..rakudo r28164: OUTPUT[␤]
..elf r20696: OUTPUT[ at (eval 16) line 3␤ at ./elf_f_faster line 243␤␤]
bacek gotcha! 08:57
perl6: eval('die'); say (defined $!) xor 1;
exp_evalbot kp6 r20696: OUTPUT[syntax error at position 17, line 1 column 17:␤eval('die'); say (defined $!) xor 1␤ ^ HERE␤] 08:58
..pugs: OUTPUT[1␤]
..rakudo r28164: OUTPUT[␤]
..elf r20696: OUTPUT[ at (eval 16) line 3␤ at ./elf_f_faster line 243␤␤]
bacek perl6: try { die }; say (defined $!) xor Bool::True; 08:59
exp_evalbot kp6 r20696: OUTPUT[syntax error at position 17, line 1 column 17:␤try { die }; say (defined $!) xor Bool::True␤ ^ HERE␤]
..pugs: OUTPUT[1␤]
..rakudo r28164: OUTPUT[␤]
..elf r20696: OUTPUT[␤]
09:02 alanhaggai joined
bacek rakudo: try{die}; say defined $!; say (defined $!) xor Bool::True; 09:05
exp_evalbot rakudo r28164 OUTPUT[1␤␤]
bacek rakudo: say (0+(defined $!)) xor 1; 09:38
exp_evalbot rakudo r28164 OUTPUT[1␤]
bacek rakudo: say (defined $!) xor 1;
exp_evalbot rakudo r28164 OUTPUT[1␤]
bacek rakudo: try{die}; say defined $!;
exp_evalbot rakudo r28164 OUTPUT[1␤]
bacek rakudo: try{die}; say defined $!; say (defined $!) xor 1; 09:39
exp_evalbot rakudo r28164 OUTPUT[1␤␤]
bacek rakudo: try{die}; say (defined $!) xor 1; 09:40
exp_evalbot rakudo r28164 OUTPUT[␤]
bacek rakudo: try{1;}; say (defined $!) xor 1; 09:42
exp_evalbot rakudo r28164 OUTPUT[1␤]
moritz_ rakudo: try { die 1; }; say defined $! 09:47
exp_evalbot rakudo r28164 OUTPUT[1␤]
moritz_ rakudo: try { 1; }; say defined $!
exp_evalbot rakudo r28164 OUTPUT[0␤]
09:48 kane_ left 09:54 jan left 09:55 Ched- left 09:57 Ched- joined 10:01 barney joined 10:05 meppl left 11:01 jan_ joined 11:15 alanhaggai left 11:24 alanhaggai joined 11:44 alanhaggai_ joined 11:51 acmoore_ is now known as acmoore 11:54 icwiener joined 11:56 alanhaggai left 11:59 dominiko joined 12:04 dominiko left 12:44 alanhaggai_ left 12:45 perl7 joined 12:46 alanhaggai joined 13:05 mjk joined
diakopter cool; memoize-ing the parser generator functions sped that up a lot. 13:13
, subjectively appraised 13:14
13:14 alester joined 13:15 iblechbot left 13:21 meppl joined 13:22 alester left 13:25 dominiko joined 13:28 iblechbot joined
perl7 congrats! 13:30
13:35 perl7 left
diakopter #perl helped 13:37
cognominal_ what is the equivalent convention for yadayadayada in regex. Cuz ... is meaninful in regex. Shoudl I use <...>? 13:47
diakopter heck if I know... sorry
cognominal_ I want something that is a placeholder that parses but fails if someone paste it. 13:48
13:55 masak joined
pmichaud {...} 14:00
cognominal_ ya that what I am coming with in the mail I prepare to perl6-language :) 14:01
14:25 zev left 14:30 [1]Maghnus joined 14:32 Lorn left
masak moritz_: re perlgeek.de/en/article/mutable-gram...for-perl-6 14:36
lambdabot Title: article | A Mutable Grammar For Perl 6
masak I have now read it, and found it enjoyable
(it took a while, because my browser tab queue has grown into the hundreds during the final spring exams) 14:37
I think I found a spelling error in "<term> [ <operator> term>" 14:38
seems to me the "[" should really be a "|"
so, what is this Auzon fellow working on? 14:44
diakopter masak: www.brokd.com/psoc08/
lambdabot Title: Planet Perl Summer of Code 2008
diakopter masak: oops I mean auzon.blogspot.com/ 14:45
lambdabot Title: Auzon's Blog
pugs_svnbot r20697 | ruoso++ | [smop] braga hacking! Better division between Object/Meta/REPR in src-s1p. src-s1p/P6Meta.pm implements, in Perl 6, the default Perl 6 Metaclass for SMOP.
masak diakopter: cool, thanks 14:46
14:46 mjk left, drbean left, Maghnus left, [1]Maghnus is now known as Maghnus 14:51 drbean joined
diakopter based on my limited understanding, if you do longest-token matching in a recursive descent parser, it effectively is a bottom-up parser 14:52
15:14 dominiko left
pugs_svnbot r20698 | pmichaud++ | S29-num/roots.t: pointy block parameters don't need 'my' 15:18
15:31 icwiener left 15:34 justatheory joined 15:40 chris2 joined 15:44 cognominal_ left 15:49 icwiener joined 16:02 nothingmuch left, alanhaggai left 16:24 Lorn joined 16:32 alester joined 16:34 alanhaggai joined 16:42 ruoso joined 16:43 alester left 16:47 nothingmuch joined, nothingmuch left 16:49 iblechbot left 16:54 nothingmuch joined
ruoso implementing $obj.^isa 16:55
Is "$superclass.WHAT === $candidate" the correct way of checking if $object.^isa($candidate)? 16:56
16:57 nothingmuch left
pmichaud ruoso: what about super-superclass? 17:03
ruoso pmichaud, I meant recursively 17:04
doing that test
but the question is if it should be === test
or if it should be something else
17:08 nothingmuch joined
pugs_svnbot r20699 | ruoso++ | [smop] More P6Meta.pm code. 17:08
17:09 nothingmuch left 17:10 nothingmuch joined
ruoso quick survey... should I keep or remove the restriction on calling BUILDALL on objects with definitions? This exists for the sole pourpose of avoiding the user from making Object defined... 17:11
17:20 khisanth_ joined, khisanth_ left 17:22 Auzon joined
Auzon pugs: <a b c d>.pick(*).perl.say 17:26
exp_evalbot OUTPUT[("d", "b", "c", "a")␤]
Auzon pugs: say <a b c d>.pick(*) eq a&b&c&d
exp_evalbot OUTPUT[*** No such subroutine: "&a"␤ at /tmp/tcYXqErtqx line 1, column 5 - line 2, column 1␤]
Auzon pugs: say <a b c d>.pick(*) eq all <a b c d>
exp_evalbot OUTPUT[all(VBool False)␤]
Auzon pugs: say <a b c d>.pick(*) eq any <a b c d> 17:27
exp_evalbot OUTPUT[any(VBool False)␤]
Auzon perl6: say <a b c d>.pick(*).perl
exp_evalbot kp6 r20699: OUTPUT[syntax error at position 18, line 1 column 18:␤say <a b c d>.pick(*).per␤ ^ HERE␤]
..pugs: OUTPUT[("d", "a", "b", "c")␤]
..rakudo r28165: OUTPUT[Method 'pick' not found for invocant of class 'List'␤current instr.: '_block11' pc 76 (EVAL_12:26)␤
..elf r20699: OUTPUT[Undefined subroutine &GLOBAL::whatever called at (eval 14) line 3.␤ at ./elf_f_faster line 4492␤]
Auzon pugs: say <a b c d>.pick(*).sort === <a b c d> 17:28
exp_evalbot OUTPUT[1␤]
17:33 Blasi left, bbkr_ left
pmichaud how is 1+6i parsed? (specifically, the '6i' part?) 17:38
17:38 bbkr_ joined
pmichaud ah, found it. 17:40
token postfix:sym<i> ( --> Autoincrement)
17:43 cognominal_ joined 17:51 ruoso left 17:54 icwiener_ joined, ruoso joined 17:58 chris2 left 18:04 alanhaggai left 18:07 icwiener left, alester joined 18:09 masak left 18:11 icwiener_ is now known as icwiener 18:16 sri_work_ joined, sri_work left 18:21 jedai joined 18:29 xinming_ joined 18:34 viklund` joined, sri_work_ left, nothingmuch left, Patterner left, eternaleye left, agentzh left, hcchien left, yahooooo left, Khisanth left, cls_bsd left, zostay left, ingy left, viklund left 18:35 eternaleye joined 18:37 Psyche^ joined, Psyche^ is now known as Patterner, cls_bsd joined, zostay joined 18:38 hcchien joined 18:39 ingy joined 18:42 sri_work joined, yahooooo joined 18:44 icwiener left, cls_bsd left, agentzh joined, cls_bsd joined, cls_bsd_ joined 18:45 cls_bsd left 18:46 nothingmuch joined, xinming left 18:51 nothingmuch left, agentzh left 18:52 sri_work left 18:53 sri_work joined
pasteling "nothingmuch" at 82.154.140.37 pasted "class Dog meta OtherMeta.new(" (19 lines, 357B) at sial.org/pbot/31235 18:53
pugs_svnbot r20700 | Auzon++ | [gsoc_spectest] added tests for pick(*). (Added 2 tests) 18:54
18:56 nothingmuch joined, agentzh joined, nothingmuch left 18:59 sri_work left 19:00 sri_work joined, nothingmuch joined
pasteling "ruoso" at 82.154.140.37 pasted "Meta syntax example" (3 lines, 141B) at sial.org/pbot/31236 19:04
19:07 jedai left, Khisanth joined 19:19 nothingmuch left, agentzh left
ruoso TimToady, nothingmuch just convinced me that we need to keep the meta-object to support meta-meta-classes (like the example I've just pasted) 19:21
which means that the metamethods need two invocants.... :) 19:22
or...
an invocant, and a meta-invocant
we actually came to an idea of having a capture and a meta-capture
19:25 nothingmuch joined, agentzh joined 19:26 nothingmuch left 19:27 nothingmuch joined
ruoso for now, we'll assume that this will always be enclosed by a more complex dispatching process that might set some context variables... 19:29
but that needs to be better thought...
19:31 exp_evalbot left, fser left, yves left, shachaf left, awwaiid left, joejaxx left, spinclad left, ilbot2 left, pmichaud left, pasteling left, exp_evalbot joined, fser joined, ilbot2 joined, pasteling joined, pmichaud joined, shachaf joined, yves joined, awwaiid joined, joejaxx joined, spinclad joined 19:34 TreyHarris is now known as TreyOld, TreyHarris joined, TreyHarris left, TreyHarris joined 19:36 TreyOld left 19:43 cls_bsd_ left, eternaleye left, viklund` left, bbkr_ left, Auzon left, Lorn left, barney left, jferrero left, dalek left, diakopter left, qmole left, kolibrie left, PerlJam left, meteorjay left, perlbot left, TimToady left, gugod left 19:44 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, barney joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady 19:46 qmole left, barney left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left 19:49 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, barney joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady, alester left
pugs_svnbot r20701 | ruoso++ | [smop] P6Meta apparently written, we need a lot of features to run it tho... 19:51
19:52 Maghnus left 19:54 qmole left, barney left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left 19:55 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, barney joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady 19:57 lichtkind joined
pugs_svnbot r20702 | Auzon++ | [gsoc_spectest] tabs to spaces. 19:57
r20703 | ruoso++ | [smop] P6Meta is a class, its declaration is as if it was going to be used normally, it is the invocation that is different
19:59 dominiko joined
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: ($inner_invocant: $p1, $p2, $p3)) { say $invocant, $inner_invocant }; foo('a', $a) 20:00
exp_evalbot OUTPUT[*** ␤ Unexpected "($"␤ expecting formal parameter or ")"␤ at /tmp/e4bRRQ2NzG line 1, column 42␤]
20:01 qmole left, barney left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: |($inner_invocant: $p1, $p2, $p3)) { say $invocant, $inner_invocant }; foo('a', $a) 20:01
exp_evalbot OUTPUT[*** ␤ Unexpected "|($"␤ expecting ":", "*", parameter name or ")"␤ at /tmp/BnKjoBRejO line 1, column 42␤]
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: :($inner_invocant: $p1, $p2, $p3)) { say $invocant, $inner_invocant }; foo('a', $a)
exp_evalbot OUTPUT[*** ␤ Unexpected "($"␤ expecting space or ")"␤ at /tmp/Fa5fMS0qDx line 1, column 43␤]
20:01 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, barney joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: ($inner_invocant: $p1, $p2, $p3)) { say $invocant, $inner_invocant }; foo('a', $a) 20:01
exp_evalbot OUTPUT[*** ␤ Unexpected "($"␤ expecting formal parameter or ")"␤ at /tmp/hEHsJ5qwW8 line 1, column 42␤]
ruoso hrm... 20:02
20:03 barney left
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: $inner_invocant) { say $invocant, $inner_invocant }; foo('a', $a) 20:03
exp_evalbot OUTPUT[*** Missing invocant parameters in '&foo': 0 received, 1 missing␤ at /tmp/f5JSPhmXu6 line 1, column 95 - line 2, column 1␤]
ruoso pugs: my $a = \(1: 2,3,4); sub foo ($invocant: $inner_invocant) { say $invocant, $inner_invocant }; foo('a': $a) 20:04
exp_evalbot OUTPUT[aCaptMeth {c_invocant = IFinite 1, c_feeds = [:MkFeed {f_positionals = [:IFinite 2,IFinite 3,IFinite 4:], f_nameds = fromList []}:]}␤]
ruoso pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo('a': $a) 20:06
exp_evalbot OUTPUT[*** ␤ Unexpected end of input␤ expecting ":"␤ Only one invocant allowed␤ at /tmp/TYswmm01J0 line 1, column 112␤]
ruoso pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo($a)
exp_evalbot OUTPUT[*** No such method in class Foo: "&foo"␤ at /tmp/Lz67WjcFAt line 1, column 92 - line 2, column 1␤]
ruoso pugs: my $a = \(1: 2,3,4); class Foo { method foo ([*] $invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo($a) 20:08
exp_evalbot OUTPUT[*** ␤ Unexpected "[*]"␤ expecting formal parameter or ")"␤ at /tmp/ejrOGGxur1 line 1, column 46␤]
ruoso pugs: my $a = \(1: 2,3,4); class Foo { method foo (Whatever $invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo($a)
exp_evalbot OUTPUT[*** No such method in class Foo: "&foo"␤ at /tmp/48PYABXeOZ line 1, column 101 - line 2, column 1␤]
20:08 qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left
pugs_svnbot r20704 | moritz++ | [evalbot] shorter name for evalbot, in order to use up less screen space 20:08
r20704 | moritz++ | it's also not *so* experimental anymore ;-)
20:09 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady
pmichaud evalbot shortname ++ 20:09
pugs_svnbot r20705 | moritz++ | [irclog] recognize 'p6eval' as a bot
moritz_ evalbot control restart 20:10
20:10 exp_evalbot left, exp_evalbot joined
moritz_ evalbot control restart 20:10
20:10 exp_evalbot left, p6eval joined
moritz_ say "this is me" 20:11
rakudo: say "this is me"
p6eval rakudo r28167 OUTPUT[this is me␤]
20:12 Limbic_Region joined
ruoso Btw... I've just decided that $obj.^can($foo) invocation will turn $obj into the first positional argument, and send the meta as invocant... 20:13
this way disatching won't fail because of mismatched invocant type...
pasteling "ruoso" at 82.154.140.37 pasted "can implementation in P6Meta is so cool! :)" (9 lines, 325B) at sial.org/pbot/31239 20:14
pugs_svnbot r20706 | moritz++ | [evalbot] yap6 has a svn revision as well
moritz_ ruoso: for sake of efficiency you should consider storing the methods in a hash 20:16
ruoso: now can is linear in the number of methods
well, but that's probably premature optimization 20:17
ruoso moritz_, yeah... that's not very interesting because it first builds the list of all methods and then grep them...
moritz_, except that it doesn't ;)
moritz_, this is all lazy
:)
but yeah... I should probably make the local lookup and then deliver to the superclass ^can 20:18
moritz_ still O(n)
where n = number of methods
ruoso internally p6opaque will store as a hash
not really a hash, but a bsearcheable data structure 20:19
20:19 qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left
moritz_ we perl programmers tend to forget that there are data structures beside hashes and arrays ;) 20:20
ruoso :)
20:20 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady 20:21 qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left 20:22 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady
pugs_svnbot r20707 | ruoso++ | [smop] HOW calls are made with the meta as invocant and the object as a prepended first positional argument (doing the same thing the sub-dispatch fallback does) 20:22
20:23 qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, eternaleye left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left 20:24 TimToady joined, cls_bsd_ joined, eternaleye joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady
ruoso TimToady, all that brings us back to an old discussion... $obj.HOW.can('foo') is not necessarly the same as $obj.^can('foo') 20:27
if the HOW is shared among objects
$obj.HOW.can('foo') might simply not have all the data it needs... and once SMOP will accept meta objects that are real objects (like a XSD parser)
the idea of having the proxy object that sets the invocant doesn't fit anymore.... 20:28
in fact...
$obj.HOW should probably be clarified to say that it can only be used as in the spec for class-based OO 20:29
prototype-based OO will have a hard-time, since the HOW is shared... 20:30
20:30 eternaleye left
ruoso and one might actually want to talk to the HOW shared object, and might even ask Foo.HOW.^does(Something) for Meta-Meta-Class code composition (like... does this Clsas support Roles? 20:31
Foo.HOW.^does(Object::Composition::Roles)
or even...
Foo.HOW does(Object::Composition::Roles)
Foo.HOW does Object::Composition::Roles; # that, actually 20:32
and all objects that share that metaclass would have this new feature...
20:42 FurnaceBoy joined
ruoso sending an email to p6-language... 20:44
20:48 qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left 20:49 TimToady joined, cls_bsd_ joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady 20:53 ruoso left 20:57 Jedai joined 20:59 nothingmuch left, agentzh left 21:00 nothingmuch joined, agentzh joined 21:09 Jedai left, qmole left, bbkr_ left, diakopter left, kolibrie left, meteorjay left, PerlJam left, Lorn left, cls_bsd_ left, perlbot left, TimToady left, Auzon left, viklund` left, gugod left, dalek left, jferrero left, TimToady joined, Jedai joined, cls_bsd_ joined, viklund` joined, bbkr_ joined, Auzon joined, Lorn joined, jferrero joined, dalek joined, kolibrie joined, qmole joined, meteorjay joined, gugod joined, PerlJam joined, diakopter joined, perlbot joined, irc.freenode.net sets mode: +o TimToady 21:11 iblechbot joined 21:32 pugs_svnbot left, pugs_svnbot joined
diakopter hrm 21:32
pasteling "diakopter" at 209.9.237.164 pasted "commit message for r20708" (25 lines, 1.2K) at sial.org/pbot/31240 21:34
diakopter sorry it was so long
moritz_ I'd summarize that as "major improvements in yap6" ;-) 21:35
21:35 IllvilJa left
moritz_ rakudo: say (1, 2, 3).pick 21:35
p6eval rakudo r28168 OUTPUT[Method 'pick' not found for invocant of class 'List'␤current instr.: '_block11' pc 56 (EVAL_12:22)␤
pmichaud I can probably add that here quickly. :-) 21:36
moritz_ just saw #49085 and wondered if we already had it 21:38
spinclad pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo($a) 21:53
p6eval OUTPUT[*** No such method in class Foo: "&foo"␤ at /tmp/AvBWdoVCI9 line 1, column 93 - line 2, column 1␤]
moritz_ spinclad: you need to interpolate the capture with |$1 21:55
erm, |$a
21:55 Maghnus joined
diakopter moritz_: evalbot? or is it netsplit? 21:55
moritz_ diakopter: I renamed evalbot to make the name use up less screen space ;) 21:56
pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: $p1, $p2, $p3) { say $invocant }}; Foo.new.foo(|$a)
p6eval OUTPUT[*** No such method in class Foo: "&foo"␤ at /tmp/D0ByuTtOht line 1, column 93 - line 2, column 1␤]
moritz_ why doesn't it find the method? 21:57
maybe because 1 !~~ Foo ? 21:59
anyway, sleep 22:00
22:01 iblechbot left
pugs_svnbot r20709 | diakopter++ | [yap6] 22:01
r20709 | diakopter++ | cleaning up warnings for evalbot's sake...
diakopter evalbot control version
p6eval This is evalbot revision 20705
diakopter evalbot control restart 22:02
22:02 p6eval left, p6eval joined
spinclad pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: *$aa) { say $invocant, $aa }}; Foo.new.foo(|$a) 22:02
p6eval OUTPUT[<obj:Foo>CaptMeth {c_invocant = IFinite 1, c_feeds = [:MkFeed {f_positionals = [:IFinite 2,IFinite 3,IFinite 4:], f_nameds = fromList []}:]}␤]
spinclad .oO{gotcha!} 22:03
pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: *($i2: $p1, $p2, $p3)) { say $invocant, $i2, $p1, $p2, $p3 }}; Foo.new.foo(|$a) 22:04
p6eval OUTPUT[*** ␤ Unexpected "*($"␤ expecting parameter name or ")"␤ at /tmp/WsB4VW6GCZ line 1, column 57␤]
spinclad but still don't know how to unpack the inner capture... 22:05
22:08 dominiko left
rakudo_svn r28170 | pmichaud++ | [rakudo]: 22:18
r28170 | pmichaud++ | * Add a preliminary implementation of Complex.
pugs_svnbot r20710 | pmichaud++ | S29-num/complex.t: Update #?rakudo fudging. 22:21
rakudo_svn r28171 | pmichaud++ | [rakudo]:
r28171 | pmichaud++ | * Add 'test_summary.pl' script used to provide an alternate view
r28171 | pmichaud++ | of running spectest_regression (and generate the regression history).
22:26 lichtkind left 22:27 braceta joined
meppl good night 22:41
22:42 braceta left 22:44 Lorn left 22:45 Lorn joined
bacek pugs: sub foo($a){say $a}; my $f:=&foo('hello'); $f() 22:45
p6eval OUTPUT[hello␤*** Cannot cast from VBool True to Pugs.AST.Internals.VCode (VCode)␤ at /tmp/ULoD8z680r line 1, column 44 - line 2, column 1␤]
bacek pugs: sub foo($a){say $a}; my $f:=&foo.prebind('hello'); $f() 22:46
p6eval OUTPUT[*** No such method in class Sub: "&prebind"␤ at /tmp/7DSqTPmAvv line 1, column 22-50␤]
22:46 meppl left
bacek pugs: sub foo($a){say $a}; my $f:=&foo.prebind('a'=>'hello'); $f() 22:47
p6eval OUTPUT[*** No such method in class Sub: "&prebind"␤ at /tmp/PqwijSwHGi line 1, column 22-55␤]
22:49 justatheory_ joined
pasteling "spinclad" at 209.6.140.232 pasted "moritz: typo fixes to perlgeek.de/en/article/mutable-gram...or-perl-6" (64 lines, 5K) at sial.org/pbot/31241 22:50
spinclad moritz_: re perlgeek.de/en/article/mutable-gram...or-perl-6: see sial.org/pbot/31241 22:51
reads well, good article, moritz_++ 22:52
pmichaud agreed, excellent article.
bacek rakudo: say (defined $!) xor 1; 23:00
p6eval rakudo r28171 OUTPUT[1␤]
23:01 jan_ left
pugs_svnbot r20711 | diakopter++ | [yap6] 23:01
r20711 | diakopter++ | hopefully the final warnings fixes for this round.
spinclad pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: |cc ($i2: $p1, $p2, $p3)) { say $invocant, $cc, $i2, $p1, $p2, $p3 }}; Foo.new.foo(|$a) 23:02
p6eval OUTPUT[*** ␤ Unexpected "|"␤ expecting ":", "*", parameter name or ")"␤ at /tmp/5RIE6iHxjT line 1, column 57␤]
bacek rakudo: say undef xor 1;
p6eval rakudo r28171 OUTPUT[1␤]
23:03 jan_ joined
spinclad pugs: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: Capture $cc ($i2: $p1, $p2, $p3)) { say $invocant, $cc, $i2, $p1, $p2, $p3 }}; Foo.new.foo(|$a) 23:03
p6eval OUTPUT[*** ␤ Unexpected "($"␤ expecting "?", "!", trait, "=", default value, "-->" or ")"␤ at /tmp/MHz9WGlqSX line 1, column 69␤]
pmichaud rakudo: say (1 xor 1).WHAT;
p6eval rakudo r28171 OUTPUT[Failure␤]
bacek ouch...
pmichaud correct, it should be Bool::False. As I said in #parrot, the spec changed on me a bit there. 23:04
(either that or I misread it to begin with)
23:04 justatheory left
spinclad rakudo: my $a = \(1: 2,3,4); class Foo { method foo ($invocant: Capture $cc ($i2: $p1, $p2, $p3)) { say $invocant, $cc, $i2, $p1, $p2, $p3 }}; Foo.new.foo(|$a) 23:04
p6eval rakudo r28171 OUTPUT[Statement not terminated properly at line 1, near "= \\(1: 2,3"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤
pmichaud rakudo doesn't do Captures yet. 23:05
spinclad didn't think so; figured this was a long way from working yet
pmichaud I don't know about "long way" -- jonathan++ already has some preliminary support
spinclad Signatures too, and unpacking?
pmichaud signatures might be a little longer.
spinclad i expect the path there is paved with low-hanging fruit :) 23:07
pmichaud I'm gorging myself on low-hanging fruit these days
as posted in #parrot: 22:07 <nopaste> "pmichaud" at 76.183.97.54 pasted "Rakudo spectest regression history" (29 lines) at nopaste.snit.ch/13204 23:08
wolverian 2006?
pmichaud oh, typos :-)
(fixing.)
diakopter oh, I see the problem :D evalbot runs 5.8; I have 5.10 23:09
pmichaud the current HEAD numbers are:
wolverian yeah, it's only on every line ;)
pmichaud 59 test files 1110 1139 697 0 17 425
wolverian what's the diff between skip and todo?
pmichaud skip is a test we don't even bother to try parsing. (In fact, we skip it because we cannot parse it.)
bacek rakudo: say (1 ^^ 1).WHAT
p6eval rakudo r28171 OUTPUT[Failure␤]
pmichaud todo is a test that we can parse but that fails, and we don't expect to fix "immediately". 23:10
23:11 sri_work left
pmichaud 23:10 <nopaste> "pmichaud" at 76.183.97.54 pasted "specte_regression results in head" (62 lines) at nopaste.snit.ch/13206 23:12
pugs_svnbot r20712 | diakopter++ | [yap6] 23:16
r20712 | diakopter++ | don't use 5.10 features for evalbot's sake
bacek perl6: say 1 xor 0 xor 0 23:19
p6eval kp6 r20712: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bf54)', 'APPLY', 'HASH(0x8e52490)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤ 23:20
..main::DISPATCH('HASH(0x824bf54)', 'APPLY', 'HASH(0x8e52490)') ca...
..pugs: OUTPUT[1␤]
..rakudo r28171: OUTPUT[1␤]
..elf r20712: OUTPUT[1␤]
bacek perl6: say 1 xor 1 xor 0
p6eval kp6 r20712: OUTPUT[no method 'APPLY' in Class 'Undef'␤ at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345␤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x824bf54)', 'APPLY', 'HASH(0x8e52490)') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
..main::DISPATCH('HASH(0x824bf54)', 'APPLY', 'HASH(0x8e52490)') ca...
..pugs: OUTPUT[1␤]
..rakudo r28171: OUTPUT[0␤]
..elf r20712: OUTPUT[␤]
diakopter yap6: my $foo = my $fee = 23442; { package Something; say $do_This_Now; }
p6eval yap6 r20712 OUTPUT[Illegal usage: "Can't declare a non-block package]
pugs_svnbot r20713 | diakopter++ | [yap6] 23:29
r20713 | diakopter++ | enable syntax error output for evalbot
23:41 Jedai left