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