Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-10-06

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 theorbtwo joined #perl6
00:05 theorbtwo joined #perl6
00:23 amnesiac joined #perl6
01:16 vbattsAtWork joined #perl6
02:21 weinig joined #perl6
02:22 drbean_ joined #perl6
02:29 mr_ank joined #perl6
02:52 hkb_zz joined #perl6
03:26 araujo joined #perl6
03:36 bsb joined #perl6
03:39 REPLeffect_ joined #perl6
03:47 japhb joined #perl6
05:11 jisom joined #perl6
05:38 drrho joined #perl6
06:06 elmex joined #perl6
06:33 dduncan left #perl6
06:35 kanru joined #perl6
07:10 jisom_ joined #perl6
07:21 iblechbot joined #perl6
07:30 blindfish joined #perl6
07:50 drbean joined #perl6
07:52 f0rth joined #perl6
07:52 Aankhen`` joined #perl6
07:53 f0rth joined #perl6
08:05 iblechbot joined #perl6
08:14 araujo joined #perl6
08:23 arrowax joined #perl6
08:53 franck___ joined #perl6
08:57 masak joined #perl6
08:58 masak mornin'
08:58 moritz_ good localtime() ;)
08:59 masak moritz_: good localtime()
08:59 masak though ours is roughly the same, I'd guess
08:59 moritz_ masak: I think we are in the same time zone (GMT+1)
08:59 moritz_ + 1h DST or something
08:59 masak let's see
08:59 masak it's not daylight savings...
08:59 masak yep, same time zone
08:59 moritz_ 11AM right now
08:59 masak correct
09:00 * masak is doing haskell today
09:00 moritz_ masak: so I can wish you a good moritz.localtime() ;)
09:00 masak moritz_: likewise :)
09:00 masak simplifying a firend's implementation of Hunt the Wumpus in haskell
09:01 Aankhen`` Beware the Jabberwocky.
09:01 masak :)
09:02 masak I'm currently operating along the principle:
09:02 masak "If you have to specify base case and recursion case, then you probably missed a useful function in Prelude"
09:02 masak it's working exceedingly well
09:04 moritz_ the question is: does it improve readability?
09:05 masak moritz_: in a way, no
09:05 masak because it depends more heavily on Prelude
09:05 masak actually, it depends
09:05 masak I had a function that searched through a list, and I replaced it with `lookup`
09:05 masak great improvement, even in readability
09:10 pugs_svnbot r18301 | moritz++ | t/regex/from_perl6_rules/null.t
09:10 pugs_svnbot r18301 | moritz++ |  * fixed smartlink
09:10 pugs_svnbot r18301 | moritz++ |  * removed deprecated <null> pattern, use <?> or '' instead
09:10 pugs_svnbot diff: http://dev.pugscode.org/changeset/18301
09:11 lambdabot Title: Changeset 18301 - Pugs - Trac
09:12 baest joined #perl6
09:13 masak moritz_: the <null> pattern is gone?
09:13 moritz_ masak: yes
09:13 pmurias joined #Perl6
09:13 masak what's <?> ?
09:14 moritz_ it's an empty assertion
09:14 masak ok
09:14 moritz_ just like <?foo>, but with foo set to ''
09:14 moritz_ see http://perlcabal.org/syn/S​05.html#Nothing_is_illegal
09:14 lambdabot Title: S05
09:15 masak ah, thx
09:16 * masak thinks regexes and rules might well be the killer app of perl 6
09:16 pugs_svnbot r18302 | moritz++ | t/regex/from_perl6_rules/charset.t: fixed smart links
09:16 pugs_svnbot diff: http://dev.pugscode.org/changeset/18302
09:16 lambdabot Title: Changeset 18302 - Pugs - Trac
09:17 masak mind you, perl 6 contains many cool things
09:17 masak but regexes are so very powerful in p6
09:17 moritz_ they are indeed ;)
09:17 moritz_ but sometimes I wonder if all that power is really needed except when writing "real" parsers
09:18 moritz_ anyway, shower &
09:18 masak moritz_: seems to me that many programming problems converge towards being "real" parsers anyway
09:18 masak so, might as well have the tools for it
09:21 masak take something as common as reading a HTML file
09:21 masak wham, recursive regexes needed
09:21 drrho left #perl6
10:23 zomgb00bie joined #perl6
10:39 cognominal_ joined #perl6
10:40 kanru joined #perl6
10:47 pmurias auto-threading implies contend blocks?
10:47 pmurias auto-threading of junctions
10:56 chris2 joined #perl6
11:15 rlb3_work joined #perl6
11:17 pmurias masak: OMeta is very similiar to perl6 rules
11:23 * masak googles
11:24 masak Overseas Medical Equipment Technical Assistants? :)
11:25 masak ah, found it
11:25 masak http://lambda-the-ultimate.org/node/2477
11:25 lambdabot Title: OMeta: an Object-Oriented Language for Pattern Matching | Lambda the Ultimate
11:25 pmurias yes
11:43 jferrero joined #perl6
11:44 lichtkind joined #perl6
11:51 c9s joined #perl6
12:03 drupek12 joined #perl6
12:18 toshinori joined #perl6
12:41 riffraff joined #perl6
13:04 jwest- joined #Perl6
13:04 jwest- anyone works on crypto
13:47 f0rth_ joined #perl6
13:59 moritz_ what's crypto?
14:00 jwest- cryptography
14:02 rindolf joined #perl6
14:02 moritz_ I'm sure there are people working on that ;)
14:03 moritz_ but not on the perl 6 modules ;)
14:17 zomgb00bie left #perl6
14:52 dlocaus joined #perl6
14:54 kanru joined #perl6
15:14 daxim_ joined #perl6
15:15 _Helios joined #perl6
15:17 rindolf joined #perl6
15:47 amnesiac joined #perl6
15:56 polettix joined #perl6
15:58 amnesiac left #perl6
16:45 Jedai joined #perl6
17:19 devogon joined #perl6
17:33 Psyche^ joined #perl6
17:42 Foix joined #perl6
17:42 Foix left #perl6
17:43 Aankhen`` ?kp6 [ 1, 2, 3, 4 ].map:{ $^a + 1 }
17:43 lambdabot (line 1, column 20):
17:43 lambdabot unexpected "{"
17:43 lambdabot expecting white space or simple term
17:43 Aankhen`` Whoops.
17:43 Aankhen`` kp6: [ 1, 2, 3, 4 ].map:{ $^a + 1 }
17:44 Aankhen`` Hmm, no exp_evalbot.
17:49 iblechbot joined #perl6
18:07 weinig joined #perl6
18:07 * Aankhen`` scratches his head over matching arguments to signatures.
18:07 Aankhen`` s/signatures/parameters/
18:09 [particle] Aankhen``: know any c?
18:10 Aankhen`` [particle]: No, thank $DEITY. :-)
18:10 Aankhen`` Okay, a little bit.  Enough to run screaming when I see it.
18:10 [particle] i could point you to the arg processing code for parrot, but you might not like what you see :)
18:11 Aankhen`` Ah, I appreciate the suggestion.
18:11 Aankhen`` I figure I'm reinventing every wheel possible anyway, I might as well do this one too.
18:11 [particle] following the function names might at least give you an idea of the algorithm
18:11 Aankhen`` It's a learning experience.
18:11 Aankhen`` (Mostly learning what not to do, mind you.)
18:12 [particle] it can be represented by a (complex) state machine
18:14 Aankhen`` KP6 doesn't understand named arguments yet, does it?
18:14 [particle] iunno
18:15 [particle] i don't think so, from what little i remember
18:15 Aankhen`` Doesn't look like it does.
18:16 * Aankhen`` wonders how this will be represented in KP6: foo(|$capture, $other_thing)
18:19 weinig joined #perl6
18:28 Torment joined #perl6
18:57 jisom joined #perl6
19:07 barney joined #perl6
19:12 jwest- joined #perl6
19:13 fglock joined #perl6
19:14 fglock kp6: 42
19:17 dlocaus left #perl6
19:21 * Aankhen`` waves at fglock.
19:21 fglock Aankhen``: hi
19:22 Aankhen`` fglock: It might be looking too far ahead, but could you tell me about this: * Aankhen`` wonders how this will be represented in KP6: foo(|$capture, $other_thing)
19:22 fglock the evalbot might be missing -Ilib-modules-kp6-mp6-p5 -Ilib-kp6-mp6-p5
19:22 fglock Aankhen``: looking
19:23 Aankhen`` At present the AST indicates prefix:<|>… is that the correct way to do it?
19:24 Aankhen`` I'm a little confused with regards to captures and splicing arguments, as you may have noticed. :-)
19:24 fglock Aankhen``: see t/kp6/36-multi.t
19:24 fglock it uses prefix:<|>
19:25 Aankhen`` Indeed.
19:25 _go___ joined #perl6
19:25 Aankhen`` OK.
19:26 rindolf joined #perl6
19:26 fglock re named args, this is supported:
19:26 fglock echo 'say ( [ 1, 2, 3, 4 ].map: -> $a { $a + 1 } )' | perl script/kp6 | perl -Ilib-modules-kp6-mp6-p5 -Ilib-kp6-mp6-p5
19:27 fglock and:  sub ($a) { $a + 1 }
19:28 Aankhen`` By "named args", I meant something like this: foo(:a(1))
19:28 Aankhen`` Thanks for the example, though; I'd been scratching my head over how to use &map.
19:28 moritz_ kp6: for 1..10 -> $a { say $a }
19:28 moritz_ uhm
19:28 fglock it's partially supported:   sub x ($a) { %_{"a"} + 1 }; say x( a => 3 )
19:29 Aankhen`` Ah, neat.
19:29 fglock the %_ members are not bind to lexicals yet
19:29 Aankhen`` That's okay, I'm only interested in the parsing part of it. <G>
19:30 exp_evalbot joined #perl6
19:31 moritz_ kp6: for 1..10 -> $a { say $a }
19:31 exp_evalbot r18302: OUTPUT[no method 'APPLY' in Class 'Int'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤      KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'APPLY') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤
19:31 exp_evalbot ..main::DISPATCH('KindaPerl6::Runtime​::Perl5::DispatchSugar::Dispatch=...]
19:31 Aankhen`` I think that for now I'm just going to pretend that *required* named arguments don't exist.
19:31 _go joined #perl6
19:31 Aankhen`` Though actually, it wouldn't be all that hard to implement them.  But ah well.
19:32 fglock moritz_: i don't think the runtime code for ranges is finished yet
19:32 fglock kp6:  1..10
19:32 exp_evalbot r18302: OUTPUT[syntax error at position 2, line 1 column 2:␤1..1␤  ^ HERE␤no method 'APPLY' in Class 'Int'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤ KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'APPLY') called at
19:32 exp_evalbot ..lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤  main::DIS...]
19:33 fglock kp6: 1 .. 10
19:33 exp_evalbot r18302: OUTPUT[( 1..10 )␤]
19:33 fglock ah, it's a parsing problem
19:34 fglock kp6: 1 .. Inf
19:34 exp_evalbot r18302: OUTPUT[( 1..inf )␤]
19:34 fglock but looping on a range is not there yet
19:36 fglock i've been studying Erlang and other concurrency model alternatives
19:36 jwest- why wont larry talk
19:36 fglock it's hard to have both efficiency and concurrency
19:42 fglock Erlang seems to leave some heuristic decisions to the programmer, while in Perl 6 the runtime seems to do the decisions on how to distribute tasks
19:52 _go_ joined #perl6
19:52 moritz_ kp6: for 1 .. 10 -> $a { say $a }
19:52 exp_evalbot r18302: OUTPUT[no method 'array' in Class 'Range'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'array') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤
19:52 exp_evalbot ..main::DISPATCH('KindaPerl6::Runtim​e::Perl5::DispatchSugar::Dispatc...]
19:52 moritz_ kp6: for (1 .. 10) -> $a { say $a }
19:52 exp_evalbot r18302: OUTPUT[no method 'array' in Class 'Range'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'array') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤
19:52 exp_evalbot ..main::DISPATCH('KindaPerl6::Runtim​e::Perl5::DispatchSugar::Dispatc...]
19:53 moritz_ kp6: my @a = 1 .. 10
19:53 exp_evalbot r18302: OUTPUT[no method 'array' in Class 'Range'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'array') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤
19:53 exp_evalbot ..main::DISPATCH('KindaPerl6::Runtim​e::Perl5::DispatchSugar::Dispatc...]
19:53 moritz_ kp6: my @a; @a = 1 .. 10
19:53 exp_evalbot r18302: OUTPUT[no method 'array' in Class 'Range'␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 130␤    KindaPerl6::Runtime::Perl5::MOP::__AN​ON__('KindaPerl6::Runtime::Perl5::Dis​patchSugar::Dispatch=HASH(0x85...', 'array') called at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 36␤
19:53 exp_evalbot ..main::DISPATCH('KindaPerl6::Runtim​e::Perl5::DispatchSugar::Dispatc...]
19:54 elmex_ joined #perl6
19:55 fglock hmm - VMlet looks like a Parrot PMC: http://vvm.lip6.fr/overview.php
19:55 lambdabot Title: Virtual Virtual Machine
19:56 pmurias a lot of the Ast nodes could be represented by a generic Lit node
19:56 pjcj joined #perl6
19:56 fglock moritz_: a Range is just an object right now; there is no List-fication  magic yet
19:56 shachaf_ joined #perl6
19:56 fglock pmurias: or by a call to .new
19:59 moritz_ fglock: I think the right way is not to list-ify it, but to allow an iterator, and do the same for lists
19:59 moritz_ kp6: for (1, 2, 3, 4) -> $a { say $a }
19:59 exp_evalbot r18302: OUTPUT[syntax error at position 4, line 1 column 4:␤for (1, 2, 3, 4) -> $a { say $a ␤    ^ HERE␤DISPATCH: calling APPLY on invalid object:$VAR1 = {};␤␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 33␤        main::DISPATCH('undef', 'APPLY') called at - line 16␤]
20:00 moritz_ fglock: but thanks for the explanation
20:00 moritz_ kp6: for 1, 2, 3, 4 -> $a { say $a }
20:00 exp_evalbot r18302: OUTPUT[DISPATCH: calling APPLY KindaPerl6::Runtime::Perl5::Dispat​chSugar::Dispatch=HASH(0x855768c) KindaPerl6::Runtime::Perl5::Dispat​chSugar::Dispatch=HASH(0x814f504) KindaPerl6::Runtime::Perl5::Dispat​chSugar::Dispatch=HASH(0x85576c8)
20:00 exp_evalbot ..KindaPerl6::Runtime::Perl5::Dispa​tchSugar::Dispatch=HASH(0x8557470) on invalid object:$VAR1 = {};␤␤ at lib-kp6-mp6-p5/K...]
20:00 fglock moritz_: i plan to finish Laziness as soon as possible
20:00 fglock but now i'm mostly trying to fix threading
20:01 fglock kp6: for [ 1, 2, 3, 4 ] -> $a { say $a }
20:01 exp_evalbot r18302: OUTPUT[1␤2␤3␤4␤]
20:02 moritz_ kp6: for [ 1, 2, 3, 4 ] -> $a, $b { say "$a|$b" }
20:02 exp_evalbot r18302: OUTPUT[syntax error at position 19, line 1 column 19:␤for [ 1, 2, 3, 4 ] -> $a, $b { say "$a|$b" ␤                   ^ HERE␤DISPATCH: calling APPLY HASH(0x8557290) on invalid object:$VAR1 = {};␤␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 33␤    main::DISPATCH('undef', 'APPLY',
20:02 exp_evalbot ..'HASH(0x8557290)') called at - line 20␤]
20:02 moritz_ kp6: for [ 1, 2, 3, 4 ] -> ($a, $b) { say "$a|$b" }
20:02 exp_evalbot r18302: OUTPUT[DISPATCH: calling APPLY HASH(0x8557f14) on invalid object:$VAR1 = {};␤␤ at lib-kp6-mp6-p5/KindaPerl6/Runtime/Perl5/MOP.pm line 33␤   main::DISPATCH('undef', 'APPLY', 'HASH(0x8557f14)') called at - line 16␤]
20:03 fglock moritz_: go fix the compiler :)
20:05 moritz_ fglock: I would like to, but my computer is so b0rked that it just switches off every now and then, which makes it very hard to concentrate on coding :/
20:05 pmurias go fix your computer ;)
20:06 moritz_ pmurias: I ordered a new one, it should arrive on monday - hopefully ;)
20:06 moritz_ it's a dual core so I can take advantage of auto threading ;)
20:07 moritz_ and it has 3GB ram, so that I can compile pugs without swapping ;)
20:09 pmurias what does .so.2 extension mean?
20:13 fglock pmurias: you were interested on bootstrapping the MOP, there is something here: http://lambda-the-ultimate.org/node/2483
20:13 lambdabot Title: COLA and Open, extensible object models | Lambda the Ultimate
20:13 allbery_b 2nd major API version of a shared object
20:13 * pmurias is trying to get COLA to compile now
20:14 pmurias COLA might make an interesting backend for kp6
20:16 fglock is this the same cola in Parrot?
20:17 Shin_ joined #perl6
20:17 moritz_ from reading http://en.wikipedia.org/wik​i/Cola_programming_language yes
20:17 pmurias no,completely unrelated
20:18 pmurias allbery_b: thanks
20:18 moritz_ it's a bit of a mess to google for it since coca cola takes up all COLA results ;)
20:19 pmurias cola is implemented in pepsi
20:19 pmurias ;)
20:20 pmurias moritz_: they plan to change the name to something not trademarked
20:20 pmurias http://piumarta.com/software/cola/
20:20 lambdabot Title: cola (aka idst, jolt, etc.)
20:21 moritz_ in good old debian tradition they could use the the 'ice' prefix ;)
20:23 pmurias ice tea?
20:25 moritz_ ice{weasel,dove,monkey,tea} ;)
20:26 fglock tea? http://search.cpan.org/~msilva/Lan​guage-Tea-0.02/lib/Language/Tea.pm  (this is what i've been $working a few weeks ago)
20:26 lambdabot Title: Language::Tea - A Tea code converter. - search.cpan.org, http://tinyurl.com/2gqqed
20:28 fglock it uses v6.pm - http://search.cpan.org/src/MSILVA/Langua​ge-Tea-0.02/lib/Language/Tea/Grammar.pm
20:28 lambdabot http://tinyurl.com/2shdjz
20:31 pmurias you and rouso mentioned it at the yapc
20:35 pmurias fglock: has rouso started working on the parrot-c backend?
20:35 pmurias i'm not sure if a PAST one would have more sense
20:38 pmurias * wouldn't
20:38 fglock pmurias: not yet
20:39 pmurias shower&
20:51 pmurias b
20:51 moritz_ bed &
20:52 pmurias pir code to create the PCT (i think the newest PAST is called that) could be emitted
20:54 fglock joined #perl6
20:55 araujo joined #perl6
21:01 pmurias sleep&
21:01 Shin_ left #perl6
21:06 dduncan joined #perl6
21:27 lambdabot joined #perl6
21:29 pugs_svnbot r18303 | Aankhen++ | [kp6-lisp]
21:29 pugs_svnbot r18303 | Aankhen++ | * arguments are now checked as being positional, named, optional, etc. in the runtime.  slurpy blocks are ignored at present.
21:29 pugs_svnbot r18303 | Aankhen++ | * pass function arguments as cells rather than cell contents, so that the parameters are bound rather than copied.
21:29 pugs_svnbot r18303 | Aankhen++ | * added (ugly) printed representations for arguments and signatures.
21:29 pugs_svnbot r18303 | Aankhen++ | * updated &print and &say in GLOBAL.lisp to use a slurpy list parameter.
21:29 pugs_svnbot r18303 | Aankhen++ | * split KP6-SIGNATURE's VALUE slot into separate POSITIONAL, OPTIONAL, NAMED, SLURPY-ARRAY, SLURPY-HASH and SLURPY-BLOCK slots.
21:29 pugs_svnbot r18303 | Aankhen++ | * added PERL->DISPLAY for KP6-CELL objects.
21:29 pugs_svnbot diff: http://dev.pugscode.org/changeset/18303
21:29 lambdabot Title: Changeset 18303 - Pugs - Trac
21:30 Aankhen`` Implict @_ doesn't work, though… I'm not sure how to recognize it in the emitter.
21:31 Aankhen`` And I've punted on Capture objects for now.
21:32 Aankhen`` Man, that code is ugly.
21:32 Aankhen`` I should probably refactor it.
21:32 Aankhen`` Buuuut first.  Sleep
21:32 Aankhen`` !
21:56 fglock joined #perl6
22:24 Limbic_Region joined #perl6
23:14 Daveman joined #perl6
23:57 weinig joined #perl6

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

Perl 6 | Reference Documentation | Rakudo