Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-12-14

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:28 ispy_ joined #perl6
00:29 theorbtwo joined #perl6
01:32 araujo joined #perl6
02:53 kanru joined #perl6
03:45 lichtkind_ joined #perl6
04:18 thestarslookdown joined #perl6
04:34 amnesiac joined #perl6
05:00 justatheory joined #perl6
05:01 justatheory joined #perl6
05:24 rafl joined #perl6
06:04 Ashizawa joined #perl6
06:08 luqui joined #perl6
06:27 Daveman joined #perl6
06:46 Aankhen`` joined #perl6
07:10 jisom joined #perl6
07:15 GeJ joined #perl6
07:30 identish joined #perl6
07:46 dalek joined #perl6
07:54 devogon joined #perl6
07:56 iblechbot joined #perl6
08:11 pravus joined #perl6
08:15 Casan_ joined #perl6
08:22 BinGOs_ joined #perl6
08:27 jjore-m joined #perl6
08:29 cnhackTNT joined #perl6
08:31 franck___ joined #perl6
08:32 zakame_ joined #perl6
08:37 b00t joined #perl6
08:54 dstuxo joined #perl6
08:57 qmole joined #perl6
09:14 elmex joined #perl6
09:17 dstuxo left #perl6
09:56 baest joined #perl6
10:07 pugs_svn r19213 | ruoso++ | [yap6] some more work in hash. YAP6_MEM_TRACE now warns about leaking variables in the end...
10:24 masak joined #perl6
10:38 drrho joined #perl6
11:10 alc joined #perl6
11:13 polettix joined #perl6
11:16 penk joined #perl6
11:21 ofer joined #perl6
11:32 fglock joined #perl6
11:54 ebassi joined #perl6
11:57 njbartlett joined #perl6
12:03 spliced-nipra joined #perl6
12:13 njbartlett_ joined #perl6
12:14 fglock [particle]: ping
12:19 iblechbot joined #perl6
12:26 macae joined #perl6
12:33 Southen joined #perl6
12:33 baest joined #perl6
12:33 qmole joined #perl6
12:33 Khisanth joined #perl6
12:33 exp_evalbot joined #perl6
12:33 pugs_svn joined #perl6
12:33 AzureBOT joined #perl6
12:33 xinming joined #perl6
12:33 kcwu joined #perl6
12:33 nipotan joined #perl6
12:33 buu joined #perl6
12:33 silug joined #perl6
12:33 broquaint joined #perl6
12:33 iblechbot joined #perl6
12:33 njbartlett_ joined #perl6
12:33 fglock joined #perl6
12:33 alc joined #perl6
12:33 elmex joined #perl6
12:33 Casan_ joined #perl6
12:33 kanru joined #perl6
12:33 mncharity joined #perl6
12:33 pbuetow joined #perl6
12:33 jcpiza joined #perl6
12:33 charsbar joined #perl6
12:33 avar joined #perl6
12:33 [particle] joined #perl6
12:33 kane_ joined #perl6
12:33 Auzon joined #perl6
12:33 marmic joined #perl6
12:34 ofer joined #perl6
12:34 drrho joined #perl6
12:34 dalek joined #perl6
12:34 araujo joined #perl6
12:34 cognominal joined #perl6
12:34 reltuk joined #perl6
12:34 arguile joined #perl6
12:34 ead joined #perl6
12:34 bsb joined #perl6
12:34 wolverian joined #perl6
12:34 f0rth joined #perl6
12:34 Eidolos joined #perl6
12:34 cookys joined #perl6
12:34 devogon joined #perl6
12:34 theorbtwo joined #perl6
12:34 zamolxes joined #perl6
12:34 revdiablo joined #perl6
12:34 JarJarBinks joined #perl6
12:34 diotalevi joined #perl6
12:34 drbean joined #perl6
12:34 pjcj joined #perl6
12:34 jiing joined #perl6
12:34 integral joined #perl6
12:34 Juerd joined #perl6
12:34 Grrrr joined #perl6
12:34 allbery_b joined #perl6
12:34 buubot joined #perl6
12:34 idiotmax joined #perl6
12:34 thepler joined #perl6
12:34 tewk joined #perl6
12:35 masak joined #perl6
12:35 Aankhen`` joined #perl6
12:35 bbkr joined #perl6
12:35 Patterner joined #perl6
12:35 lisppaste3 joined #perl6
12:35 djm joined #perl6
12:35 tcliou joined #perl6
12:35 sunnavy joined #perl6
12:35 moritz_ joined #perl6
12:35 Caelum joined #perl6
12:35 Kattana joined #perl6
12:35 ting_ joined #perl6
12:35 kolibrie joined #perl6
12:35 pasteling joined #perl6
12:35 ft joined #perl6
12:35 SamB joined #perl6
12:35 macae joined #perl6
12:38 chris2_ joined #perl6
12:40 chris2_ joined #perl6
12:45 andara joined #perl6
12:50 pmurias joined #perl6
12:53 Daveman joined #perl6
12:56 rindolf joined #perl6
13:19 Southen_ joined #perl6
13:25 explorer joined #perl6
13:29 Aankhen`` joined #perl6
13:29 pbuetow joined #perl6
13:31 ispy_ joined #perl6
13:34 Aankhen`` joined #perl6
13:41 zakame joined #perl6
13:48 gbacon joined #perl6
14:06 IllvilJa joined #perl6
14:18 renormalist joined #perl6
14:32 jhorwitz joined #perl6
14:37 TJCRI joined #perl6
15:13 turrepurre joined #perl6
15:14 JarJarBi1ks joined #perl6
15:30 pmurias fglock: did some experiments with caching get_method_from_object, dosn't seem to make a big difference
15:31 fglock pmurias: most methods are not inherited, i guess
15:31 fglock and Perl 5 calls are expensive anyway
15:32 fglock pmurias: i have a couple of ideas on kp6/perl6
15:32 fglock if we replace mp6 code in kp6 with perl6 code, it might work
15:33 fglock except for the Pad, which perl6 doesn't implement
15:33 fglock this could give some speedup with minimal reprogramming
15:33 fglock it would still emit Perl 5,
15:33 fglock this could be fixed later
15:39 avar gimme p6 pad.pm :)
15:39 fglock avar: you will have that :)
15:41 fglock s/emit Perl 5/emit Perl 5 and Lisp/
15:43 avar yay lithp
15:43 avar fglock: in general more stuff being handled for free will make things easier for me
15:43 avar The last time it worked I stopped on signatures, protoobjects and objects, methods etc
15:44 avar stuff like $::Class = ::DISPATCH() should be do-able in the emitter if the backend implements namespaces/stashes for example
15:48 fglock I'm trying to figure out the next short-term plan for kp6
15:48 fglock things changed in the last few weeks
15:51 fglock our next roadmap milestone would be to integrate the STD grammar
15:51 arguile joined #perl6
15:51 fglock the most visible change would be to have a precedence parser
15:53 fglock the Perl 5 backend is nearly bootstrapped, but it is way slow
15:53 ruoso fglock, I continue to think it would be better to work on more high-level kp6 runtime
15:54 ruoso implemengint Scope, Closure as kp6 objects
15:54 ruoso that would be usable in any backend
15:55 pmurias fglock: what does "replace mp6 code in kp6 with perl6 code means" mean exactly?
15:55 fglock ruoso: agreed
15:55 ruoso pmurias, means what I've just said
15:55 fglock but we have to figure out how to follow the roadmap in the meanwhile
15:55 ruoso stopping depending on p5 runtime
15:55 ruoso and implement more runtime in kp6-level
15:55 fglock no, i mean "perl6", not "Perl 6"
15:55 ruoso ah
15:56 ruoso ok
15:56 ruoso perl6 as perl 6 in parrot?
15:56 fglock it would run either with MiniPerl6, or "perl6" - yes
15:56 fglock we'd have an alternate backend
15:58 [particle] btw we expect to have all sanity tests passing today
15:58 ruoso fglock, anyway
15:59 [particle] (only end blocks remain)
15:59 ruoso this would mean implementing more high-level
15:59 ruoso in kp6
15:59 araujo joined #perl6
15:59 ruoso because for you to use the same base for both backends, you need to compatibilze the runtimes
15:59 fglock [particle]: i have a grammar request: class X { ... } - is this doable?
15:59 ruoso and you do that by implementing more in kp6-level
15:59 fglock ruoso: yes
16:00 [particle] fglock: perl6 or nqp?
16:00 [particle] yes, it's doable
16:00 fglock [particle]: perl6 - I don't see a reason for using nqp if we can use perl6
16:00 fglock unless there is one?
16:01 [particle] closer to the emulated hardware?
16:01 [particle] i can get class blocks implemented
16:01 fglock hmm - but kp6 is meant as a Perl6-in-Perl6
16:01 fglock is nqp really faster?
16:02 [particle] i haven't benchmarked perl6 vs nqp
16:02 [particle] it has no runtime, so it's smaller
16:02 ruoso fglock, kp6-perl6 would still require the kp6 runtime
16:02 ruoso so using nqp will be faster
16:03 ruoso as nqp doesn't have a runtime in itself
16:03 ruoso right, [particle] ?
16:03 [particle] yes, but you may need to create your object model, so you may end up with a small runtime lib
16:03 ruoso [particle], the point is that kp6 is already a runtime
16:03 [particle] anyway, why worry about speed yet?
16:04 [particle] true, kp6 is a runtime
16:04 ruoso the point is that it must be fast enough to have a practical use
16:04 [particle] so is perl6
16:04 ruoso kp6-kp6 doesn't
16:04 fglock [particle]: speed is the main reason to leave the perl5 runtime
16:04 fglock our alternate option is plain-C
16:04 ruoso yap6
16:04 [particle] fglock: understood, but i don't think the speed diff between nqp and perl6 is significant compared to the diff between perl5/nqp
16:05 ruoso [particle], the point is that, if kp6 is a runtime in itself, and perl6 is other runtime
16:05 pmurias [particle]: is nqp much slower?
16:05 [particle] and where nqp/perl6 has much optimization potential, perl5 has little
16:05 ruoso there's no point in stacking them
16:05 ruoso because, as nqp is not a runtime,
16:05 [particle] i expect nqp will be faster than perl5
16:05 ruoso it would be kp6-parrot directly
16:06 ruoso while using perl6 would stack to runtimes
16:06 ruoso kp6-perl6-parrot
16:06 ruoso s/stack to/stack two/
16:06 fglock wait - we are talking about two different things
16:07 fglock using perl6 to run kp6, as in "kp6-in-perl6"
16:07 ruoso which in turn is kp6-in-perl6-in-parrot
16:07 fglock using the code emitted by kp6 to run kp6, as in "kp6-kp6"
16:07 pmurias ruoso: the perl6 runtime has to eventually evolve into something we can use
16:08 ruoso pmurias, the point is that then kp6 has no point in being there at all
16:08 ruoso we just need to work on perl6 directly
16:08 Aankhen`` joined #perl6
16:08 [particle] eventually, perl6 runtime will be able to support everything that kp6 runtime does
16:08 ruoso exactly... but both kp6 and perl6 are *runtime* projects
16:08 ruoso that happens to have a grammar parser
16:09 Psyche^ joined #perl6
16:09 [particle] yes, once perl6 runtime supports everything kp6 runtime does, ku6 runtime can be removed
16:09 ruoso so there's no point in stacking kp6-in-perl6
16:09 ruoso better to work in perl6 directly
16:09 pbuetow joined #perl6
16:09 fglock exactly
16:10 cjfields joined #perl6
16:10 ruoso nqp, otoh,
16:10 [particle] so, are you suggesting that you help extend perl6 now?
16:10 fglock if you can run kp6 over perl6, you are emulating a bootstrapped compiler
16:10 fglock next step, you fix it to be a real bootstrapped compiler
16:10 ruoso [particle], that was always an option and still is
16:10 [particle] fglock: agreed
16:11 ruoso what I don't get is how you deal with three different levels of runtime
16:11 ruoso parrot, perl6 and kp6
16:11 ruoso all at the same time
16:11 [particle] it's not at the same time
16:11 [particle] it's chained emitters
16:12 fglock perl6 and kp6 runtimes will be unified
16:12 fglock it doesn't mean it's easy
16:12 ruoso fglock, ok... that's a point
16:12 ruoso if perl6 and kp6 become compatible
16:12 ruoso it makes sense
16:12 fglock unified = the Parrot backend
16:12 [particle] yes
16:12 pmurias ruoso: they have to
16:13 ruoso pmurias, not necessarly
16:13 ruoso they can be two different Perl 6 runtimes on top of parrot
16:13 Limbic_Region joined #perl6
16:13 ruoso or even on top of other runtimes
16:13 fglock there is a single thing we must find consensus,
16:13 fglock about the Pad structure
16:13 fglock which perl6 doesn't need, and kp6 uses a lot
16:13 ruoso is the calling convention already consensual?
16:14 fglock Parrot abstracts that
16:14 ruoso kp6 doesn't
16:14 pmurias fglock: want they need it once they do BEGIN block?
16:15 fglock [particle]: re help extend, yes - we have to :)
16:15 ruoso I think it makes more sense to work in perl6 directly if that's where we head to
16:15 fglock pmurias: no idea, we need to talk more about that
16:15 [particle] where do you implement 'use'? i wanna do it for perl6 now, so i can start testing 02-test-pm
16:16 fglock [particle]: "use" is a BEGIN block
16:16 fglock which reads more source code
16:16 ruoso but I still think kp6 have a point which is to implement a vm-independent Perl 6 runtime
16:16 [particle] urk. we still don't have end/begin blocks
16:16 [particle] i think for now i can implement use without begin
16:16 fglock [particle]: we could work on that
16:17 [particle] fglock: we hope to have END support by end of day
16:17 pmurias [particle]: kp6 dosn't implement use correctly too
16:17 [particle] yeah, i figured kp6 needed to cheat
16:17 fglock pmurias: "use" was implemented before we had BEGIN :(
16:17 fglock i've been meaning to fix that...
16:17 [particle] fglock: there's various ways to implement END, so we need to figure out the best way, then just do it
16:18 pmurias fglock: having Test.pm, killing the GLOBAL hack, and use strict would be great benefits
16:18 fglock the way we implement END is to build a stack of BEGIN blocks, which get executed after the main compilation
16:19 fglock [particle]: do you have string eval, or AST eval?
16:20 [particle] perl6:    'die'("eval unimplemented")
16:20 fglock ruoso: re vm-independent, it can continue to be
16:20 exp_evalbot kp6: RESULT[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 exp_evalbot ..pugs: OUTPUT[*** Cannot cast from VStr "die" to Pugs.AST.Internals.VCode (VCode)␤    at /tmp/BK6S8SD7og line 1, column 1 - line 2, column 1␤]
16:20 exp_evalbot ..p6: OUTPUT[Method 'viviself' not found␤current instr.: 'parrot;PAST::Compiler;keyed' pc 4822 (src/PAST/Compiler.pir:1194)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1057 (src/PAST/Compiler.pir:133)␤called from Sub 'parrot;PAST::Compiler;post' pc 1252
16:20 exp_evalbot ..(src/PAST/Compiler.pir:217)␤called from Sub 'parrot;PAST::Compiler;post_children' pc 1...
16:21 ruoso fglock, the thing is that it still isn't
16:21 ruoso fglock, kp6 still have a way to go to become a vm-independent runtime
16:22 ruoso today it is a p5-dependant runtime
16:22 [particle] oh, you stupid bot!
16:23 fglock ruoso: re way to go, yes - but it's a matter of adding more AST transformation modules
16:24 ruoso fglock, not only that...
16:24 ruoso implementing Scope, Closure, Method etc
16:24 ruoso is part of that
16:24 ruoso all of these are p5-dependant today
16:25 pbuetow joined #perl6
16:28 turrepurre joined #perl6
16:29 fglock [particle]: re END blocks and my discussion with ruoso - END blocks need to be executed in the scope where they were compiled
16:29 fglock and the Perl 6 definition of scope is not easily represented in Perl 6
16:30 fglock kp6 cheats by using closures to build scopes
16:33 fglock phone &
16:34 barney joined #perl6
16:35 fglock /phone
16:39 Harleaquin joined #perl6
16:43 fglock the END block AST contains a pointer to the scope where it will be executed
16:46 fglock oops
16:46 [particle] we're thinking about using coroutines to register blocks as END, START, etc, and yielding
16:46 fglock [particle]: i'm wrong,
16:46 fglock I'm talking about CHECK blocks
16:48 pmurias joined #perl6
16:48 pmurias joined #perl6
16:50 justatheory joined #perl6
17:11 awwaiid joined #perl6
17:13 cjfields joined #perl6
17:14 amnesiac joined #perl6
17:25 cjfields I'm a bioperl programmer.  We have been giving serious thought towards reimplementing bioperl via perl6.  What would be the best place to start (kp6,parrot,pugs)?
17:26 jcpiza download cpan
17:26 cjfields Hmm?
17:27 jcpiza and reuse the existent libraries
17:27 jcpiza many are from perl5
17:28 cjfields checking cpan...
17:29 fglock cjfields: you can start with pugs, if you don't need speed for now
17:29 cjfields Yeah, tried getting pugs to compile (using ghc 6.8.1), kerplooey.
17:29 fglock it depends on which Perl 6 features you are mostly interested
17:30 cjfields Saw there is a diff included, but still problematic.
17:30 fglock cjfields: i'm using ghc 6.6.1
17:31 cjfields fglock: Might need to downgrade to ghc 6.6.1 to get it running.
17:33 cjfields I think we would be interested in getting the core modules set up; parsers to follow, so I/O, exceptions, etc.
17:33 cjfields Then we would worry about parsers for various formats.
17:39 zamolxes joined #perl6
17:40 TJCRI joined #perl6
17:48 kst joined #perl6
17:58 Auzon ok
17:58 Auzon Oops.
17:58 turrepurre joined #perl6
18:06 cjfields Well, that's a pain.  I'm using Leopard, which ghc 6.6.1 apparently has problems on.  ghc 6.8.1 works, though, but doesnt seem to play with pugs very nicely.
18:07 cjfields May have to play with the diff'd files.  I also noticed ghc 6.8.2 is out already.
18:29 * fglock gives up C--
18:30 barney Is rubinus next?
18:33 justatheory joined #perl6
18:36 fglock barney: it doesn't seem to be useable yet, but I'll take a closer look later
18:39 barney cool
18:46 cjfields left #perl6
18:48 pugs_svn r19214 | ruoso++ | [yap6] Hash and List now have ELEMS. YAP6_ELEMS(value) returns a YAP6__CORE__int*
18:54 jisom joined #perl6
18:55 ruoso fglock, which type have the response to WHAT?
18:55 ruoso is it WHAT?
18:55 ruoso hmm
18:55 * ruoso with memory problems...
18:57 * ruoso figured out....
18:57 ruoso WHAT will return the dispatcher in yap6
18:57 ruoso it's good when the things just fit :)
18:58 devogon_ joined #perl6
18:59 pugs_svn r19215 | ruoso++ | [yap6] hash_proxyscalar_dispatcher_FETCH
19:04 pugs_svn r19216 | ruoso++ | [yap6] YAP6_WHAT(value) implemented
19:05 jferrero joined #perl6
19:07 pugs_svn r19217 | ruoso++ | [yap6] typecasts in YAP6_WHAT
19:11 fglock ruoso: .WHAT is a prototype object, it's of the same type as the object
19:14 pbuetow joined #perl6
19:27 Southen_ joined #perl6
19:35 __Ace__ joined #perl6
19:37 pugs_svn r19218 | fglock++ | [kp6-perl5] "but" doesn't modify the original value
19:37 justatheory joined #perl6
19:48 neuromu joined #perl6
19:49 ferreira joined #perl6
19:49 fglock kp6:  my $x = 0; $y = $x but True; my $z = ($y.WHAT).new; say ( $z ?? 1 !! 0 );
19:49 exp_evalbot r19218: OUTPUT[0␤]
19:50 fglock is this correct?  # does "but" alter the prototype or not
20:00 fglock left #perl6
20:11 blindfish_ joined #perl6
20:18 justatheory joined #perl6
20:31 ferreira open for suggestions and corrections: http://feather.perl6.nl/~ferreira/perl6-operators/default.html
20:31 lambdabot Title: default.pod6
20:31 ferreira This is a micro-article on the // operator
20:38 turrepurre joined #perl6
20:39 avar ferreira: 'use 5.10' is recommended
20:40 avar also, I'd mention right away that C<x // y> = C<defined(x) ? x : y>
20:41 ferreira sounds like a good idea
20:42 Auzon Would it be worth mentioning the low precedence version? (That still exists, right?)
20:43 [particle] err
20:43 ferreira Not sure. I thought of introducing it in another article about "and", "or" and "orelse" (or whatever name it has)
20:44 ferreira avar: $ perl -e 'use 5.10'     gives me     Perl v5.100.0 required (did you mean v5.10.0?)--this is only v5.10.0
20:45 [particle] yes, you want 5.010
20:45 [particle] perl 5.8.1 aka perl 5.008_001
20:46 jmacclur1 joined #perl6
20:48 avar urgh, wth
20:59 arguile joined #perl6
21:04 turrepurre joined #perl6
21:08 thoughtpolice joined #perl6
21:18 hanekomu joined #perl6
21:36 akreal joined #perl6
21:48 Schwern joined #perl6
21:53 araujo joined #perl6
21:53 kanru joined #perl6
22:14 explorer__ joined #perl6
22:20 explorer__ left #perl6
23:07 Notrix joined #perl6
23:13 ispy_ joined #perl6
23:15 pbuetow joined #perl6

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

Perl 6 | Reference Documentation | Rakudo