Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-10-25

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:05 theorb joined #perl6
00:22 [particle1 joined #perl6
00:22 justatheory joined #perl6
00:55 ingy joined #perl6
00:59 ac joined #perl6
01:06 JBoofy joined #perl6
01:08 lyokato joined #perl6
01:41 nipotan joined #perl6
02:38 pugs_svn r18663 | agentz++ | [PCR] various bug fixes in the tracer
02:38 agentzh heh, i see huge number of commits everyday here :)
02:38 agentzh (kp6 folks)++
02:40 pugs_svn r18664 | agentz++ | PCR - fixed a p5 regex
02:44 cnhackTNT joined #perl6
02:51 agentzh heh, rule XXX {...} also works in the tracer :)
02:53 agentzh http://agentzh.org/misc/tracer/langs2/index.html
02:53 lambdabot Title: Test
02:55 agentzh regex XXX {...} does not work with the tracer since it uses the backtracking engine into which i haven't planted hooks.
03:05 elmex joined #perl6
03:11 cnhackTNT joined #perl6
03:25 agentzh wow, this also works! take a look at how PCR's own regex parser works in detail! http://agentzh.org/misc/tracer/grammar/index.html
03:25 lambdabot Title: Test
03:25 agentzh you shouldn't miss this!
03:25 agentzh ;)
03:27 pugs_svn r18665 | agentz++ | [PCR] made the tracer scroll the grammar iframe automatically when the grammar is too large
04:11 thoughtpolice joined #perl6
04:23 funktio joined #perl6
04:25 cnhackTNT joined #perl6
05:00 lyokato joined #perl6
05:25 weinig joined #perl6
05:25 jisom joined #perl6
05:33 devogon joined #perl6
05:34 cnhackTNT joined #perl6
05:36 pina joined #perl6
05:42 cnhackTNT joined #perl6
06:02 Daveman joined #perl6
06:22 araujo joined #perl6
06:29 cognominal_ joined #perl6
06:46 gorax joined #perl6
06:59 dduncan left #perl6
07:09 viklund joined #perl6
07:19 bloonix q!
07:19 bloonix oops
07:32 franck___ joined #perl6
07:32 riffraff joined #perl6
07:35 daxim_ joined #perl6
07:35 moritz joined #perl6
07:51 rindolf joined #perl6
08:08 ruoso joined #perl6
08:18 penk joined #perl6
08:37 [particle1 joined #perl6
08:41 viklund joined #perl6
08:46 meppl good morning
08:50 lichtkind joined #perl6
08:52 iblechbot joined #perl6
09:16 masak joined #perl6
09:17 BinGOs_ joined #perl6
09:30 masaks_evil_twin joined #perl6
09:32 masak joined #perl6
09:50 lichtkind_ joined #perl6
09:58 fglock joined #perl6
10:08 pugs_svn r18666 | fglock++ | [kp6-kp6] added script/kp6-kp6.pl to Makefile
10:36 ruoso joined #perl6
10:59 gugod joined #perl6
11:12 pugs_svn r18667 | fglock++ | [kp6-perl5] redirect MiniPerl6::* calls to KindaPerl6::*
11:24 ruoso joined #perl6
12:32 polettix joined #perl6
12:38 cmarcelo joined #perl6
13:46 pugs_svn r18668 | fglock++ | [kp6] for 1 .. Inf -> $x,$y { say $x,$y }
13:47 masak fglock: nice
13:49 pugs_svn r18669 | fglock++ | [kp6] Range - unused $var
13:50 fglock kp6: my $a = gather { for 1 .. Inf -> $x,$y { take [ $x,$y ] } }; say $a[10];
13:50 exp_evalbot r18668: OUTPUT[21 22␤]
13:50 fglock :)
13:59 fglock kp6: my $a = gather { for 1 .. Inf -> $x { take [ $x ] } }; say $a[10];
14:00 exp_evalbot r18669: OUTPUT[11␤]
14:00 fglock kp6: my $a = gather { for 1 .. Inf -> $x { take $x  } }; say $a[10];
14:00 exp_evalbot r18669: OUTPUT[11␤]
14:02 masak kp6: my $a = gather { for 1 .. Inf -> $x,$y
14:02 masak { take $y,$x } }; say $a[10];
14:02 exp_evalbot r18669: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib​/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket } ␤]
14:02 masak oops
14:02 masak kp6: my $a = gather { for 1 .. Inf -> $x,$y { take $y,$x } }; say $a[10];
14:02 exp_evalbot r18669: OUTPUT[22␤]
14:03 masak hm... yes, that's right :)
14:07 TJCRI joined #perl6
14:11 ruoso joined #perl6
14:14 pugs_svn r18670 | fglock++ | [kp6] Range smartmatch
14:14 fglock kp6: say 2 ~~ 1 .. 5, 2 ~~ 3 .. 7
14:14 exp_evalbot r18669: OUTPUT[DISPATCH: calling APPLY KindaPerl6::Runtime::Perl5::Dispat​chSugar::Dispatch=HASH(0x869937c) KindaPerl6::Runtime::Perl5::Dispat​chSugar::Dispatch=HASH(0x86a0d8c) on invalid object:$VAR1 = {};␤␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 33␤
14:14 exp_evalbot ..main::DISPATCH('undef', 'APPLY', 'KindaPerl6::Runtime::Perl5:​:DispatchSugar::Dispatc...]
14:15 fglock sleep 60
14:16 fglock kp6: say 2 ~~ 1 .. 5, 2 ~~ 3 .. 7
14:16 exp_evalbot r18670: OUTPUT[1 0␤]
14:16 [particle] damn!
14:17 [particle] nice work, fglock. looks like you'll be finishing perl 6 by christmas, after all :)
14:17 fglock :)
14:18 fglock [particle]: it depends on your definition of "finished"
14:20 fglock and "Perl 6", and "christmas" :P
14:21 [particle] but we're clear on "you" and "by", right? ;)
14:26 amnesiac joined #perl6
14:26 pmurias joined #perl6
14:29 fglock most of the runtime is low hanging fruit, see 'for' and 'smartmatch' in http://svn.pugscode.org/pugs/v6/v6-KindaPe​rl6/src/KindaPerl6/Runtime/Perl6/Range.pm
14:29 lambdabot http://tinyurl.com/yrqcu9
14:30 fglock but there several hard things to do
14:32 fglock * there are
14:38 chris2 joined #perl6
14:38 ruoso joined #perl6
14:41 ruoso joined #perl6
14:53 jhorwitz joined #perl6
14:55 pmurias fglock: repeating moritz_ question is onion meant to start as a copy of kp6?
14:56 avar presumably yes, like kp6 started with mp6
14:56 fglock pmurias: maybe, but it will not be an exact copy - all non-runtime perl5 should be rewritten to Perl 6
14:56 avar the point is to always have a stable target runtime
15:00 pugs_svn r18671 | fglock++ | [kp6] smartmatch on Array, List, Integer
15:01 Limbic_Region joined #perl6
15:05 * amnesiac runs avar inside a prolog inference machine
15:05 pugs_svn r18672 | fglock++ | [kp6] fixed say() in Prelude
15:05 fglock kp6: say 42 ~~ ( 1, 2, 4, 42 ), 7 ~~ ( 0, 1, 2 )
15:05 exp_evalbot r18671: OUTPUT[1 0␤]
15:09 avar low hanging fruit indeed
15:09 pugs_svn r18673 | avar++ | [kp6] implemented Array.min, Array.max
15:10 pmurias fglock: how should one run kp6-kp6.pl?
15:11 fglock pmurias: it doesn't run yet
15:12 moritz_ there's a test script in script/
15:12 moritz_ that should run the tests
15:13 pugs_svn r18674 | fglock++ | [kp6] range index
15:13 pmurias moritz_: there are several
15:13 fglock you may need to fix the lib paths
15:14 moritz_ kp6: say 2 .. 3;
15:14 exp_evalbot r18673: OUTPUT[2..3␤]
15:14 fglock kp6: ( 123456789 .. 987654321 )[ 56789 ]
15:14 exp_evalbot r18673: OUTPUT[no method 'INDEX' in Class 'Range'␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 132␤        KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x86...', 'INDEX',
15:14 pugs_svn r18675 | avar++ | [kp6] Implemented List.min, List.max. This is duped between the Array and List classes
15:14 exp_evalbot ..'KindaPerl6::Runtime::Perl5::Disp​atchSugar::Dispatch=HASH(0x86...') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runt...]
15:14 pmurias by the way most of the run_test_*.pl should die
15:15 moritz_ fglock: try again
15:15 fglock kp6: ( 123456789 .. 987654321 )[ 56789 ]
15:15 exp_evalbot r18675: OUTPUT[no method 'say' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 132␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x86...', 'say') called at
15:15 exp_evalbot ..compiled/perl5-kp6-mp6/lib/K​indaPerl6/Runtime/Perl5/MOP.pm line 36␤        main::DISPATCH('KindaPerl6​::Runtime::Perl5::Disp...]
15:15 fglock kp6: say ( 123456789 .. 987654321 )[ 56789 ]
15:15 pmurias run_tests.pl takes a --backend option to determine on what backend to run the tests
15:15 exp_evalbot r18675: OUTPUT[123513577␤]
15:15 theorbtwo joined #perl6
15:16 pmurias kp6: say (1234 .. 6789).min();
15:16 exp_evalbot r18675: OUTPUT[no method 'min' in Class 'Range'␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 132␤  KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x81...', 'min') called at
15:16 exp_evalbot ..compiled/perl5-kp6-mp6/lib/K​indaPerl6/Runtime/Perl5/MOP.pm line 36␤        main::DISPATCH('KindaPerl6::Runtime::Perl5::Di...]
15:16 fglock I didn't sleep enough this night  - can't hack the bootstrap today
15:17 TimToady please take good care of yourself
15:17 pmurias fglock: no problem
15:17 avar fglock: what needs to be done?
15:17 fglock kp6: say (1234 .. 6789).start
15:17 exp_evalbot r18675: OUTPUT[1234␤]
15:18 avar Maybe I can hack some on it
15:18 fglock avar: rename the Range attributes
15:18 fglock avar: re bootstrap?
15:19 avar fglock: Yes
15:19 avar class Range is Value {
15:19 avar has $.start;
15:19 avar has $.end;
15:20 kyrbe joined #perl6
15:20 avar TimToady: should .array on Range explode the range?
15:20 fglock try to find out the problems in kp6-kp6
15:20 fglock avar: that's the eager method
15:20 fglock .eager
15:20 avar ah, ok
15:20 kyrbe left #perl6
15:20 avar can kp6-kp6 even run tests now? last I tried it the files didn't even compile properly
15:22 fglock they compile now - $ KP6_TARGET=KP6-BOOT perl Makefile.PL; make
15:22 avar okey, I'll try to peek at it later
15:22 avar fglock.sleep
15:23 fglock but there are several internal dependencies problems, mostly because of the mp6/kp6 runtime differences
15:25 vbattsAtWork joined #perl6
15:25 cognominal_ joined #perl6
15:26 pugs_svn r18676 | fglock++ | [kp6] Range .min, .max
15:26 avar $ perl script/kp6 -r kp6 -e '1'
15:26 avar Can't locate object method "new" via package "KindaPerl6::Visitor::Emit::AstPerl" at compiled/perl5-kp6-kp6/lib/Ki​ndaPerl6/Runtime/Perl5/Pad.pm line 14.
15:26 avar Compilation failed in require at compiled/perl5-kp6-kp6/lib/Kind​aPerl6/Runtime/Perl5/Runtime.pm line 7.
15:26 avar I don't think I can be very useful with that sort of stuff
15:27 avar $ perl script/kp6 -r kp6 -e '1'
15:27 avar *** Could not load runtime class HASH(0xbdd410) at compiled/perl5-kp6-kp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 1004.
15:27 avar whee new exciting errors:)
15:27 fglock Pad would be better rewritten in Perl 6 instead
15:28 avar fglock: roger
15:28 fglock avar: there is quite a few libs to rewrite - bootstrapping can take a few weeks :P
15:30 vbattsAtWork left #perl6
15:31 moritz_ but kp6 syntax is now a supersot of mp6 syntax, right?
15:32 fglock yes
15:35 f0rth joined #perl6
15:36 pmurias avar: you fixed the first error?
15:38 pmurias throwing the begin-time side effects support away could simplify the bootstrap
15:38 pmurias * \BEGIN time
15:39 pmurias s{\}{}
15:39 moritz_ pmurias: you still have to escape that \ ;-)
15:39 moritz_ pmurias: but we all know what you meant ;)
15:40 fglock pmurias: begin-time side effects is the main kp6 feature :P
15:40 [particle] humans are error-correcting parsers
15:41 f0rth_ joined #perl6
15:42 pmurias moritz_: arg i mistook the \ for an /
15:42 pmurias s/\\// # ;)
15:45 pmurias fglock: i feel that files in KindaPerl6::Runtime::Perl5 should be moved somewhere
15:45 pmurias KindaPerl6::Runtime::Perl5MP6 or KindaPerl6::Compiletime::Something?
15:47 avar pmurias: no, I just got new and exciting ones
15:47 pmurias avar: errors?
15:48 pmurias avar: or filename proposal?
15:48 pmurias * proposals
15:48 fglock pmurias: these changes can go in the v6-Onion version; kp6 should be frozen IMO
15:49 moritz_ fglock: why? I get the impression it's still quite hackable
15:49 pmurias fglock: sorry forgot to add that i meant the ones using the mp6 runtime
15:49 pmurias fglock: the won't exist in Onion
15:50 pmurias *they
15:51 pmurias fglock: you mean instead of trying to compile itself one should just copy the right bits to v6-Onion
15:51 pmurias * trying to get a working kp6-kp6
15:51 fglock pmurias: yes, create a copy and remove the parts you don't need
15:52 pmurias i'm fine with that
15:52 fglock k
15:52 fglock coffee &
15:57 kanru joined #perl6
15:58 Ashizawa joined #perl6
16:03 pugs_svn r18677 | pmurias++ | [onion] - copied some files over
16:04 pmurias avar: we now need some sort of build system for onion
16:06 Timmy joined #perl6
16:06 moritz_ I think mostly we need a plan for onion ;)
16:07 pmurias 1. make it compiled under kp6
16:07 pmurias 2. make it compile itself
16:07 pmurias 3. add features to it
16:08 fglock 1.5 add unit tests to specific subsystems, such as the Pad and a few Grammar tokens
16:09 pmurias TDD+
16:09 pmurias +
16:10 fglock t/kp6/self/
16:11 pmurias t/onion/internals
16:12 fglock it might need eval-string
16:12 ruoso joined #perl6
16:13 fglock pmurias: wasn't kp6-kp6 working already?
16:13 fglock some weeks ago
16:13 pmurias it used to semi-work
16:14 pmurias it parsed little code snippets and return AST
16:14 pmurias ruoso got it to that stage
16:14 pmurias ruoso++
16:15 ruoso but then I gave up for performance reasons
16:15 ruoso :)
16:15 ruoso ruoso--
16:15 ruoso heh
16:15 pmurias karma ruso
16:16 pmurias @karma ruoso
16:16 lambdabot ruoso has a karma of 110
16:16 fglock but the perl5rx option should fix that a bit
16:16 fglock kp6: print " ruoso++ " x 5
16:16 exp_evalbot r18677: OUTPUT[ ruoso++  ruoso++  ruoso++  ruoso++  ruoso++ ]
16:17 pmurias karma pmurias
16:17 pmurias @karma pmurias
16:17 lambdabot You have a karma of 90
16:17 fglock kp6: print " pmurias++ " x 5
16:17 exp_evalbot r18677: OUTPUT[ pmurias++  pmurias++  pmurias++  pmurias++  pmurias++ ]
16:17 fglock @karma pmurias
16:17 lambdabot pmurias has a karma of 96
16:17 fglock :P
16:18 pmurias ;)
16:18 ruoso kp6: my @a = gather for 1..Inf -> $x { say "fglock++"; take $x }; $a[5]++
16:18 exp_evalbot r18677: OUTPUT[syntax error at position 66, line 1 column 66:␤my @a = gather for 1..Inf -> $x { say "fglock++"; take $x }; $a[5]+␤                                                                  ^ HERE␤]
16:19 ruoso hmm
16:19 fglock gather { .. }
16:19 ruoso kp6: my @a = gather { for 1..Inf -> $x { say "fglock++ "; take $x }}; $a[5]++
16:19 exp_evalbot r18677: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib​/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket } ␤]
16:19 ruoso kp6: my @a = gather { for 1..Inf -> $x { say "fglock++ "; take $x; }}; $a[5]++
16:19 fglock ah - it only works with $a
16:19 exp_evalbot r18677: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib​/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket } ␤]
16:19 ruoso weird
16:20 ruoso fglock, wasn't that supposed to work?
16:20 moritz_ ruoso: btw it should be @a[5]++, not $a[5]
16:20 ruoso kp6: my @a = gather { for 1..Inf -> $x { say "fglock++ "; take $x; }}; @a[5]++
16:20 exp_evalbot r18677: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib​/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket } ␤]
16:20 ruoso moritz_, thanks... I've been working in p5 lately ;)
16:20 moritz_ and I think postfix ++ is not yet implemented
16:21 moritz_ kp6: my $a = 3; $a++
16:21 exp_evalbot r18677: OUTPUT[syntax error at position 13, line 1 column 13:␤my $a = 3; $a+␤             ^ HERE␤]
16:21 fglock hmm
16:21 ruoso kp6: my @a = gather { for 1..Inf -> $x { say "fglock++ "; take $x; }}; say @a[5] ;
16:21 exp_evalbot r18677: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib​/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket } ␤]
16:21 fglock 1 .. Inf - needs spaces
16:21 ruoso kp6: my @a = gather { for 1 .. Inf -> $x { say "fglock++ "; take $x; }}; say @a[5] ;
16:22 exp_evalbot r18677: OUTPUT[Can't use an undefined value as an ARRAY reference at compiled/perl5-kp6-mp6/lib/Kin​daPerl6/Runtime/Perl5/Array.pm line 32.␤]
16:22 moritz_ kp6: gather { take 1; };
16:22 exp_evalbot r18677: OUTPUT[no method 'say' in Class 'Str'␤ at compiled/perl5-kp6-mp6/lib/Ki​ndaPerl6/Runtime/Perl5/MOP.pm line 132␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x86...', 'say') called at
16:22 exp_evalbot ..compiled/perl5-kp6-mp6/lib/K​indaPerl6/Runtime/Perl5/MOP.pm line 36␤        main::DISPATCH('KindaPerl6​::Runtime::Perl5::Disp...]
16:22 fglock and $a instead of @a
16:22 moritz_ kp6: say(gather { take 1; });
16:22 exp_evalbot r18677: OUTPUT[1␤]
16:22 ruoso kp6: my @a = gather { for 1 .. Inf -> $x { say "fglock++ "; take $x; }}; @a[5];
16:22 exp_evalbot r18677: OUTPUT[Can't use an undefined value as an ARRAY reference at compiled/perl5-kp6-mp6/lib/Kin​daPerl6/Runtime/Perl5/Array.pm line 32.␤]
16:22 fglock because @a is coerced to Array with bad side effects
16:22 ruoso kp6: my $a = gather { for 1 .. Inf -> $x { say "fglock++ "; take $x; }}; $a[5];
16:22 exp_evalbot r18677: OUTPUT[fglock++ ␤fglock++ ␤fglock++ ␤fglock++ ␤fglock++ ␤fglock++ ␤]
16:22 moritz_ kp6: my @a = gather { take 1; }; @a.say
16:22 ruoso heh
16:22 exp_evalbot r18677: OUTPUT[Can't use an undefined value as an ARRAY reference at compiled/perl5-kp6-mp6/lib/Kin​daPerl6/Runtime/Perl5/Array.pm line 32.␤]
16:23 ruoso kp6: my $a = gather { for 1 .. Inf -> $x { print "fglock++ "; take $x; }}; $a[5];
16:23 exp_evalbot r18677: OUTPUT[fglock++ fglock++ fglock++ fglock++ fglock++ fglock++ ]
16:23 fglock there are several minor bugs around
16:23 ruoso list lazyness is a cool thing...
16:23 ruoso heh
16:23 fglock :)
16:24 fglock laziness impl is about 10% done
16:24 masak fglock: why didn't moritz_'s code work?
16:25 fglock lazy list slicing requires a lot of code
16:25 fglock masak: looking
16:26 fglock it's a bug - the lazy list is wrongly converted to Array, which doesn't know about laziness yet
16:26 pmurias_ joined #perl6
16:26 fglock so you need $a= for now
16:27 avar pmurias_: sorry, not very active a.t.m.
16:28 pmurias_ avar: np
16:28 fglock besides slicing, lazy list cloning is also a problem
16:28 masak fglock: ah
16:28 pmurias_ avar: sleepy or doing something else?
16:30 avar pmurias: working mostly:)
16:33 pmurias avar: won't distract you the ;)
16:33 pmurias *then
16:34 justatheory joined #perl6
16:34 avar pmurias: irc is async, I'll just answer later
16:34 fglock .map is not lazy, right? I remember something like "it works like 'for' "
16:35 fglock trying to find a spec
16:35 TimToady map and for are essentially identical
16:36 fglock which means "always start from index zero"
16:36 moritz_ and both are eager?
16:36 TimToady not in the sense that they evaluate the list eagerly
16:36 TimToady they evaluate the list lazily
16:36 TimToady or "for 1..Inf" wouldn't work
16:37 fglock but (1..Inf).map:{} would never finish?
16:37 fglock I was about to implement that
16:37 TimToady depends on whether you use something inside to return early
16:38 TimToady we don't currently spec that next and last work there, but they could
16:38 fglock ok - it's easier that way :)
16:38 * amnesiac returns the unreturnable
16:41 TimToady note that it goes the other way too: a for in list context is supposed to return all the resulting values like a map
16:41 TimToady which saves a lot wear and tear on the gather/take operators... :)
16:41 moritz_ so the only difference is the order of the arguments?
16:42 TimToady yes
16:42 TimToady and whether people yell at you for using one in a void context  :P
16:42 moritz_ ;-)
16:42 [particle] NO FOR IN VOID CONTEXT!!!!!
16:42 avar will for $my_obj -> $item {} call .array on $my_obj or .for ? I.e. is C<for $obj {}> like C<C$obj.for(...)> ?
16:43 TimToady what is .array?
16:43 avar "get a list out of this"
16:43 avar I'm just wondering whether for desugars to method calls
16:43 [particle] .eager?
16:43 TimToady no, it doesn't
16:43 TimToady it just binds $obj to the formal
16:44 avar .array is kp6ism:)
16:44 amnesiac spanish-ism
16:44 TimToady $foo never assumes @() in list context
16:44 amnesiac .quieroarray
16:45 TimToady but .foo supplies scalar context on its left, so .foo can do whatever it likes with the container
16:46 pugs_svn r18678 | fglock++ | [kp6] Range.map
16:46 TimToady it really desugars to a function, not a method, for @x {...} <==> map {...}, @x
16:48 TimToady and, in fact {...} for @x should produce the same result, on the assumption that {...} is where a bare block might be expected to assume a "do" on the front
16:48 moritz_ TimToady: the question is how to get the elements out of that @x object
16:49 TimToady you just iterate through it
16:49 moritz_ how?
16:50 moritz_ you shouldn't compare the index to .end, right?
16:50 moritz_ because that wouldn't work lazily
16:50 TimToady no, you just keep asking the list for its next element until it complains
16:50 moritz_ so there is some kind of iterator method on list objects
16:51 TimToady whatever prefix:<=> desugars to
16:51 moritz_ ah right, that's it
16:51 TimToady maybe related to .shift
16:51 fglock moritz_: see Runtime::Perl6::Gather
16:51 TimToady but you don't actually want to do @x.shift
16:52 TimToady it's only destructive of the list value, not the objects used to create the list
16:52 TimToady so iterating is perhaps closer to the right model
16:52 rindolf joined #perl6
16:53 TimToady and in fact, that's the basic difference between a list and an array
16:53 TimToady an array prefers to be indexed, while a list prefers to be iterated
16:53 moritz_ but you can do both to both
16:54 TimToady tagmemics is very much in favor of "I want to use an X as if it were a Y, so just let me"
16:55 TimToady verbing nouns being the prototypical example of that in English
16:55 avar fglock: Is v6::Onion aiming for full-p6?
16:55 TimToady but it works in many different ways
16:55 moritz_ avar: of course it does. kp6 did it too ;)
16:55 TimToady "I want to use Perl as if it were a functional programming language..."
16:56 fglock avar: hmm
16:57 fglock [empty.............half-full.............full]
16:57 avar Well, we'll have macros and hopefully STD.pm, so we'll see:)
16:57 TimToady by "full-p6" do you mean the full standard grammar, or the fully extensible grammar?
16:58 fglock it's more like half-full than half-empty
16:58 avar I meant whether it was the last layer of the onion:)
16:58 TimToady the main constraint on extensibility is whether I finish up the longest-token stuff
16:58 TimToady because if that doesn't work, grammars won't derive correctly
16:59 fglock avar: it is more likely yet another layer
16:59 TimToady and if we launch with that broken, we'll break programs when we fix it.
16:59 avar fglock: I think we need a better naming convention:)
17:00 avar "Onion" and something that conveys layers which we won't run out of:)
17:00 fglock avar: version numbers?
17:00 fglock "Pentium"
17:00 fglock oops - that's taken
17:00 avar MiniPerl6 => Onion::One, KindaPerl6 => Onion::Two
17:01 avar tee hee
17:01 [particle] i think you should use something like precedence levels
17:01 fglock we are somewhere like Milestone 5.1 in the roadmap - we could use that number
17:01 TimToady that's what parentheses are for: see Lisp
17:02 TimToady (((onion)))
17:02 [particle] teehee
17:02 masak :)
17:02 fglock TimToady: yes :)
17:02 fglock are we adding or taking parenthesis?
17:03 avar (onion) = mp6, ((onion)) = kp6
17:03 avar the center of the onion is the essence of Perl 6:)
17:03 fglock onion, binium, trinium
17:03 TimToady (...(onion)...) works for me
17:04 TimToady but all countdown schemes are attempts to predict an unpredictable future
17:04 fglock (*..(onion)..*)
17:04 avar Then there's the question of how to map that to cpan and version numbers
17:04 TimToady fortunately, the usual alpha, beta, gamma scheme is (somewhat) openended
17:04 fglock you can always go transfinite
17:05 avar there's a more practical side to this which is that I'd like to make an executable called "onion" which interfaced to layer 1, layer 2 etc.
17:05 CapNemo joined #perl6
17:05 avar merge mp6.pl, kp6 into 'onion'
17:06 fglock avar: it's better than 'v6'
17:06 CapNemo hello
17:07 avar But I still need something in Onion::(.*):: to map kp6,mp6 to, KindaPerl6::Grammar => Onion::(.*)::Grammar
17:07 avar preferably something that sorts according to the order, i.e. not One, Two etc.
17:08 [particle] kp6 is looser mp6 is tighter onion
17:09 [particle] ...all is relative.
17:09 avar Yes but mp6->kp6->...
17:10 avar What I really want to do is package this all up in one package and release it like that, and make it easy to work on different layers
17:10 avar Since mp6 compiles kp6 you could write an emitter on the kp6 OR mp6 level for a target runtime
17:10 CapNemo is there a page on pugscode.org that show the current status/roadmap of p6 ?
17:12 fglock avar: how about make v6.pm plugins?
17:12 TimToady not necessarily what you want here, but see S02:2809 for how to name "countdown" versions
17:12 TimToady what you want here is something more like a policy module that imports other modules on your behalf
17:13 TimToady or the preference rules that the library uses to handle wildcards
17:13 Psyche^ joined #perl6
17:13 fglock CapNemo: there are status pages for the several subprojects, but the most up to date information is in the mailing lists and blogs
17:13 CapNemo fglock, ahh sounds good thanks
17:14 avar TimToady: I'd like a cpan-able name instead of version number
17:14 avar I.e. Onion::(\w+)::*
17:14 avar fglock: do you object to any of this?:)
17:15 fglock do you mean Onion::KindaPerl6 ?
17:15 avar Ye
17:16 avar Except I was pondering renaming it to something where we wouldn't have to come up with "sorta" synonyms
17:16 avar :)
17:16 avar and names that made it obvious in what order they were
17:18 fglock MiniPerl6 to Onion::V1, KP6 to Onion::V2, ...?
17:18 weinig joined #perl6
17:18 fglock V001
17:19 [particle] ::Layer1
17:19 [particle] Onion::Core, Onion::Skin
17:20 avar Onion::Yummy::Tasty::Bits
17:20 TimToady Perl 6 versioning is *not* going to be bound by the limitations of CPAN as it is currently implemented!!!
17:20 fglock Onion::Ring
17:20 qmole Onion::SlightlyBurnt
17:20 masak Onion::Pickled
17:21 fglock fresh, frozen, canned, pickled, dehydrated
17:21 [particle] or you could name the releases Onion, Shallot, GreenOnion, Vidalia, WallaWalla
17:24 qmole you guys know your onions huh
17:24 CapNemo red onion ;)
17:25 TimToady dead onion ;)
17:26 allbery_b leek?  (would have to be a close relative but not quite p6, I guess)
17:27 TimToady and, of course, pearl onion...
17:27 CapNemo ah much better
17:28 [particle] do you know PEARL? i need help.
17:29 TimToady see http://en.wikipedia.org/wiki​/PEARL_programming_language
17:29 lambdabot Title: PEARL (programming language) - Wikipedia, the free encyclopedia
17:30 [particle] ooh, thanks! i'm still a nube.
17:31 fglock avar: re object, no :)
17:32 fglock but renaming all those files and directories will take some work
17:32 CapNemo ahh a new grammar to produce in parrot ;) ...
17:46 xinming_ joined #perl6
17:51 fglock &
18:10 jisom joined #perl6
18:15 barney joined #perl6
18:20 exp_evalbot joined #perl6
18:23 Jamtech joined #perl6
18:31 Jedai joined #perl6
18:43 Notrix joined #perl6
18:54 pmurias joined #perl6
18:55 pmurias avar: you can't write an emitter for kp6 on the kp6 level
18:56 pmurias why would anyone want to use kp6 when Onion is working?
19:04 lambdabot joined #perl6
19:05 pmurias avar: withought going throught an enormous amout of trouble
19:13 Timmy joined #perl6
19:41 theorbtwo joined #perl6
19:43 Jamtech joined #perl6
19:49 Timmy joined #perl6
20:01 cj Can someone point me to some perl6 exception specs?
20:02 moritz_ S02 iirc
20:02 cj danke
20:03 cj is this in sync?
20:03 cj http://dev.perl.org/perl6/doc/design/syn/S02.html
20:03 lambdabot Title: Synopsis 2: Bits and Pieces - perl6
20:04 moritz_ cj: not sure, use http://perlcabal.org/syn/S02.html instead
20:04 lambdabot Title: S02
20:04 fglock joined #perl6
20:04 moritz_ but wait, S02 isn't right
20:05 moritz_ http://perlcabal.org/syn/S​04.html#Exception_handlers and the following
20:05 lambdabot Title: S04
20:05 moritz_ perlcabal.org/syn/ is synced hourly
20:05 fglock pmurias: "emitter for kp6 on the kp6 level" you mean write in mp6?
20:13 `nipra joined #perl6
20:14 Silence joined #perl6
20:16 moritz_ pugs: "foo" ~~ m/oo/; say $/.str
20:16 exp_evalbot OUTPUT[*** No such method in class Match: "&str"␤    at /tmp/xg9xjZkRzh line 1, column 21 - line 2, column 1␤]
20:16 moritz_ pugs: "foo" ~~ m/oo/; say $/.Str
20:16 exp_evalbot OUTPUT[*** No such method in class Match: "&Str"␤    at /tmp/Y20oe5joKN line 1, column 21 - line 2, column 1␤]
20:16 moritz_ pugs: "foo" ~~ m/oo/; say ~$/
20:16 exp_evalbot OUTPUT[oo␤]
20:44 avar joined #perl6
20:59 perlbot joined #perl6
21:05 avar joined #perl6
21:36 fglock left #perl6
21:41 avar joined #perl6
21:56 Daveman joined #perl6
22:00 avar joined #perl6
22:07 marmic joined #perl6
22:10 thoughtpolice joined #perl6
22:38 Limbic_Region joined #perl6
23:11 BinGOs_ joined #perl6
23:18 silug joined #perl6
23:23 devogon joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo