Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-01-18

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:19 luqui joined #perl6
00:36 jferrero joined #perl6
00:54 zamolxes joined #perl6
00:54 avar eval: 3e4
00:55 avar kp6: 3e4
00:55 exp_evalbot r19571: 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(0x824be84)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 169␤
00:55 exp_evalbot ..main::DISPATCH('HASH(0x824be84)', 'APPLY') called at compiled/perl5-kp6-mp6/lib/Kin...
00:55 avar kp6: 3000
00:55 exp_evalbot r19571: RESULT[3000]
01:05 Juerd_ How do captures work in regexes, with & or ~~?
01:06 Juerd_ Are both the LHS and RHS used, in that order, or is one of both sides ignored?
01:16 thoughtpolice joined #perl6
01:24 TimToady captures are numbered sequentiall across & as if it weren't there, I think
01:24 TimToady a ~~ is a submatch that just happens to call our own rule, so it should be the same as an ordinary <foo> submatch
01:25 TimToady oh wait
01:25 TimToady you're not asking about <~~>
01:26 cnhackTNT joined #perl6
01:26 TimToady I think captures are probably number across ~~ as well
01:26 TimToady *numbered
01:26 TimToady since ~~ is really a funny way to write an & anyway
01:27 TimToady but my brain is in sideways currently, so I could be looking out my earhole
01:42 cnhackTNT joined #perl6
01:48 cnhackTN1 joined #perl6
01:50 Juerd_ TimToady: Okay, no surprises there. That's great :)
01:50 Juerd_ What's the easy way to start using grammars?
01:50 Juerd_ Parrot's perl6?
02:16 jjore joined #perl6
02:43 thoughtpolice joined #perl6
03:52 pugs_svn r19572 | putter++ | [kp6] some scattered progress.  a few t/kp6/ tests pass.
04:16 alester joined #perl6
04:23 OuLouFu joined #perl6
04:52 lyokato_ joined #perl6
05:14 pillar_ joined #perl6
05:25 masak joined #perl6
05:45 IllvilJa joined #perl6
06:26 wh0m3_ joined #perl6
06:26 wh0m3_ left #perl6
06:26 thoughtp1lice joined #perl6
06:29 xinming joined #perl6
07:16 devogon joined #perl6
07:31 jisom joined #perl6
07:46 rindolf joined #perl6
07:54 iblechbot joined #perl6
07:56 Alias_ joined #perl6
08:10 BinGOs joined #perl6
08:14 BinGOs joined #perl6
08:32 wknight-away joined #perl6
08:43 BinGOs joined #perl6
08:48 m0dY joined #perl6
08:48 m0dY left #perl6
08:49 drrho joined #perl6
09:09 nothingmuch joined #perl6
09:34 masak joined #perl6
09:38 rho joined #perl6
09:53 njbartlett_ joined #perl6
10:17 jferrero joined #perl6
10:18 ruoso @tell TimToady After I got home, I realised what my problem was. I reminded nothingmuch's "less is more" mantra, and noticed that what is making things weird is that I'm defining too much API. If I leave the stack API simpler, I can simply substitute the implementation at any time for a more optimized one, or even have more than one implementation at the same time... I don't need to make it right in the first time...
10:18 lambdabot Consider it noted.
10:22 rindolf joined #perl6
10:32 ruoso @tell TimToady I can even start working with my lame stack implementation now, as it's simple to implement, and replace it later by a saner one...
10:32 lambdabot Consider it noted.
10:37 akki joined #perl6
10:39 penk joined #perl6
10:40 cognominal_ joined #perl6
10:45 akki left #perl6
10:50 wknight-away joined #perl6
10:54 njbartlett_ joined #perl6
10:58 ofer joined #perl6
11:09 Southen joined #perl6
11:15 alc joined #perl6
11:23 fglock joined #perl6
11:55 nothingmuch ruoso++ # very zen of you =)
11:59 ruoso nothingmuch++ # you're my zen master ;)
12:07 masak joined #perl6
12:10 meppuru joined #perl6
12:11 Juerd_ Does the non-capturing <.foo> work hierarchically?
12:11 Juerd_ If so, is there a way to "include" a rule, while capturing what it captures as if it were literally in the regex?
12:20 Juerd_ If not yet, I suggest the possibility for having a null alias: /<=foo>/
12:24 pugs_svn r19573 | ruoso++ | [smop] Problem Solved!!!! now we have the "interpreter instance" which holds a reference to the continuation. The continuation is the "current state of an interpreter implementation", and the "interpreter instance" delegates to the current continuation the interpreting methods...
12:24 pugs_svn ..the default implementation in smop will be my lame stack for now, and sm0p is a language to specify it. sm0p2C.txt updated to reflect what it means.
12:24 ruoso does perl5 have a way to make it eval only one node of the optree?
12:26 * ruoso really believe there will be ways to integrate the run loop of smop and p5
12:26 Lorn joined #perl6
12:28 agentzh oh my god...
12:28 lambdabot agentzh: You have 1 new message. '/msg lambdabot @messages' to read it.
12:28 agentzh @messages
12:28 lambdabot fglock said 1m 7d 21h 11m 5s ago: there is a v6.pm cpan-testers report with "t/01-sanity/02-counter...............greediness control not implemented: [ '\»' | . ]" - is this PCR related?
12:28 agentzh ......
12:28 fglock it never forgets :)
12:29 agentzh *nod*
12:29 cosimo joined #perl6
12:29 nothingmuch ruoso: look at Runops::Switch etc
12:29 nothingmuch you can overload the optree with a custom optype
12:30 nothingmuch that switches to the smop loop on the fly
12:30 nothingmuch and then just embed smop optrees in the p5 one
12:30 nothingmuch *handwaving*
12:30 * ruoso scared... :)
12:31 nothingmuch i think OP_CUSTOM can do it
12:31 nothingmuch hmm
12:31 nothingmuch you don't even need to override the run loop
12:32 ruoso In fact, I only need to call it one step at a time
12:32 nothingmuch as long as perl's runloop is reentrant you can recurse back into it
12:32 ruoso nothingmuch, I'm starting this question in #p5p... rgs is starting to answer me
12:32 nothingmuch *nod*
12:33 nothingmuch i noticed
12:42 lumi joined #perl6
12:48 chris2 joined #perl6
12:56 pugs_svn r19574 | ruoso++ | [smop] it is SMOP_DISPATCH and not SMOP_MESSAGE.
13:08 pugs_svn r19575 | ruoso++ | [smop] porting the tests to the new interpreter model...
13:11 masak joined #perl6
13:12 rollingbean joined #perl6
13:23 zamolxes joined #perl6
13:29 meppuru joined #perl6
13:39 njbartlett_ joined #perl6
13:56 Aankhen`` joined #perl6
13:58 araujo joined #perl6
13:59 alester joined #perl6
14:04 wknight-away joined #perl6
14:04 polettix joined #perl6
14:05 Aankhen`` joined #perl6
14:05 cmarcelo joined #perl6
14:20 rindolf joined #perl6
14:30 jhorwitz joined #perl6
14:34 penk joined #perl6
14:38 macroron joined #perl6
14:44 ispy_ joined #perl6
14:45 cognominal_ joined #perl6
14:50 macroron joined #perl6
14:54 TJCRI joined #perl6
14:57 fglock joined #perl6
15:04 Aankh|Clone joined #perl6
15:13 ruoso for the record... p5 <-> smop runloop integration will be absolutely transparent, where smop will hand the execution to the p5 optree as CPS and vice-versa... this is important as to smop implement interrupts using CPS even if the interrupting code is a p5 optree execution...
15:25 bphillip1 CPS?
15:25 bphillip1 (for the uninitiated)...
15:26 ruoso Continuation-Passing-Style
15:27 ruoso can I count on wiki.pugscode.org for some long term? or is it kinda deprecated and subject to removal?
15:30 diakopter ruoso: what kind of things do you want to wikify?
15:30 ruoso smop development info
15:30 diakopter probably I'd suggest using TPF's Perl 6 wiki(s)
15:30 diakopter and add an implementation
15:31 ruoso yeah... fglock told me the same
15:31 * ruoso signing in
15:31 [particle] yep, http://www.perlfoundation.org/perl6
15:31 lambdabot Title: Perl 6 / Perl 6
15:32 masak joined #perl6
15:37 fglock [particle]: would you have some time later, to help me hack eval() in rakudo?
15:39 [particle] yes, in a few hours
15:40 fglock nice
15:40 [particle] i'm currently looking at adding exceptions to rakudo, to support warn, die, return, etc
15:47 diakopter will pmichaud/rakudo require committers to sign TPF's contributor agreement (to bind to the AL2, if nothing else)?
15:47 [particle] it's currently under that license, in tpf repo, so yes
15:48 diakopter I mean when it's not in that repo
15:48 [particle] unknown
15:48 diakopter I assume it will still be packaged/released under the AL2
15:49 diakopter [particle]: unknown to you, or unknown to the decider(s)?
15:49 diakopter unknown to you [only], I mean
15:49 [particle] definitely unknown to me
15:50 [particle] i don't know who else it's unknown to, except you :)
15:50 diakopter :D
15:51 * diakopter ponders "known to" versus "known by"
15:56 ruoso http://www.perlfoundation.org/perl6/index.cgi?smop
15:56 ruoso :)
15:56 lambdabot Title: SMOP / Perl 6
15:59 turrepurre joined #perl6
15:59 [particle] ruoso++ # btw i edited for spelling
16:00 ruoso [particle], thx
16:09 ashleyb joined #perl6
16:14 jferrero joined #perl6
16:22 ashleyb joined #perl6
16:26 TimToady ruoso: if you take a smop continuation and some of the state is on the p5 stack, how is the p5 stack managed?
16:26 lambdabot TimToady: You have 2 new messages. '/msg lambdabot @messages' to read them.
16:28 TimToady what if you return to p5, peel up some of the stack there, then resume the smop continuation?
16:29 Auzon joined #perl6
16:30 ruoso TimToady, we are going to intercept the p5 loop, interfacing it with the smop loop
16:30 ruoso change the default p5 runloop
16:31 ruoso to one that interfaces with smop
16:31 TimToady you might have to dup the p5 stack and bump the refcnts when you take a continuation
16:31 * japhb ruminates on the fact that the CS discussed in IRC these days is *way* more advanced than what he got in college ....
16:31 TimToady runloop is easy, I'm worried about the p5 stack
16:31 ruoso TimToady, you mean, for the case that I call a method twice with the same continuation?
16:31 TimToady which is single-threaded
16:31 ruoso is it legal?
16:32 TimToady I mean, if you save a continuation somewhere for later use, and then return to p5
16:32 TimToady p5 will merrily blow away some of its stack that the smop continuation might be relying on
16:33 ruoso why would it?
16:33 drrho joined #perl6
16:34 TimToady because when you pop an ordinary stack and then put something else on it, you don't have what you had before
16:34 ruoso TimToady, I wouldn't pop it
16:34 TimToady p5 pops its own stack every time you return
16:34 ruoso everytime I "eval" an op
16:34 ruoso yes
16:35 ruoso the thing is I would only eval one op at a time
16:35 ruoso using the smop runloop to that
16:35 ruoso interfacing *directly*
16:35 TimToady then you need to emulate the p5 stack for those ops
16:36 ruoso I think I got what you mean...
16:36 barney joined #perl6
16:36 ruoso but no, I don't expect the integration to avoid the typemapping
16:36 ruoso you still need a both-ways typemapping
16:36 TimToady most p5 ops assume they can operate directly on an SV** tha tis the stack
16:37 ruoso exactly, you'll need to encapsulate the SV** s in the SMOP__Object* and vice-versa
16:37 ruoso typemapping is mandatory
16:37 ruoso when I say transparently is not about how to transfer data from one side to another...
16:38 TimToady 'kay, sounds like you've thought about it
16:38 ruoso that's the whole thing in the ResponderInterface stuff
16:39 ruoso this is actually, one of the features of Perl6 that I have intentionally overlooked. I strongly don't believe that there's a way to interoperate without explicit typemapping
16:39 ebassi joined #perl6
16:39 TimToady you'll have to capture control of stack reallocations that p5 can do any time it pushes
16:40 TimToady that's currently just a macro
16:40 TimToady so you're probably talking about compiling your own p5 to go with smop
16:40 TimToady but compiling it "funny"
16:41 TimToady you should probably talk to Nick about the problems in getting ponie going
16:41 TimToady you may run into some of the same issues
16:42 ruoso I still didn't got into the specifics on how to implement it... and will probably do it after having something more in smop... but my feeling is that this kind of problem is work-aroundable, at least...
16:43 TimToady @seen nwc
16:43 lambdabot I haven't seen nwc.
16:55 [particle] sounds like the "inferior runloops" problem
16:56 chris2 joined #perl6
17:09 khaladan- joined #perl6
17:11 pmurias joined #perl6
17:18 TimToady [particle]: not quite, we're trying to keep the runloops mutually "stackless", so they're not inferior in that sense
17:18 TimToady the problem is that the two different kinds of opcodes have two very different notions of how to run a stack
17:18 chacha_chaudhry joined #perl6
17:19 TimToady so the p5 that comes with smop is unlikely to be a stock libperl.so
17:19 TimToady it probably needs to be compiled with different definitions for its stack manipulation macros
17:20 TimToady and there are likely to be opcodes that need some rewriting in any case
17:20 chacha_chaudhry joined #perl6
17:21 [particle] TimToady: (mutually stackless) gotcha.
17:24 ruoso TimToady, I'll be close to #p5p when I start thinking about it in more details... Considering the latest op manipulations I've been seeing, I'm more and more impressed with perl5 flexibility...
17:24 khaladan_ joined #perl6
17:33 TimToady well, I did try to design it stackless, but there was also some element of clueless in there at the time.
17:34 TimToady the main problem is going to be leaky abstractions; C macros aren't very good at encapsulation...
17:35 TimToady but perhaps you could convince p5p that smop should be the default runloop for 5.12...nah...
17:36 ruoso heh... that would be pretty
17:36 TimToady but you should at least get it blessed as "alternate core" so it gets maintained
17:37 TimToady just make it good enough and let darwin sort it out.  :)
17:37 ruoso :P
17:37 pugs_svn r19576 | ruoso++ | [smop] All SMOP documents and information resides now in http://www.perlfoundation.org/perl6/index.cgi?smop . Cleaning up svn repository a little bit.
17:37 lambdabot Title: SMOP / Perl 6
17:38 khaladan_ joined #perl6
17:38 TimToady Note to posterity: I am not claiming to not still be somewhat clueless.  :)
17:38 ruoso hehe
17:40 * ruoso feels much better in maintaining docs such as ROADMAP in a wiki than in plain text...
17:43 ruoso TimToady, perl5 stacklessness: but isn't fixing the non-stackless things to be considered wishlist bugs?
17:47 xinming joined #perl6
17:48 njbartlett_ joined #perl6
17:52 TimToady yes, but anything that could break backward comptibility is hard to push through p5p, even at a major version change like 5.12.
17:55 ruoso hmm.. sure.. I actually have no clue on the severity of the possible problems...
17:57 TimToady but I think that pugs has adequately demonstrated that we can at least bridge the two interpreters successfully even if we can't manage the integrated runloop semantics.
17:58 TimToady I think it's definitely worth a shot though
18:00 meppl joined #perl6
18:00 TimToady bbl &
18:05 cognominal_ joined #perl6
18:16 pugs_svn r19577 | ruoso++ | [smop] starting to prepare the autotools...
18:28 pugs_svn r19578 | ruoso++ | [smop] autotools in better shape... still not ready...
18:29 jjore joined #perl6
18:31 khaladan- joined #perl6
18:37 DarkWolf84 joined #perl6
18:37 Juerd_ One of the reasons I really liked open source software 10 years ago was that there wasn't the license fuss.
18:37 Juerd_ Little did I know.
18:39 Khisanth 10 years later you like it because of the license fuss?
18:42 ispy_ haha
18:48 jjore joined #perl6
18:52 rdice joined #perl6
18:54 Juerd_ Khisanth: No
18:55 Juerd_ I've grown fond of the "Do What The Fuck You Want To Public License"
18:55 Juerd_ http://sam.zoy.org/wtfpl/
18:55 lambdabot Title: WTFPL - Do What The Fuck You Want To Public License
19:01 atobey joined #perl6
19:06 pugs_svn r19579 | ruoso++ | [smop] autotools ready... the code already compiles.. the test does not compile because of still undefined symbols... but that is what it was supposed to happen now
19:06 jisom joined #perl6
19:10 meppuru joined #perl6
19:12 meppuru joined #perl6
19:14 meppuru joined #perl6
19:22 pugs_svn r19580 | ruoso++ | [smop] Ok, now nothing compiles again... smop_lowlevel.c is already counting on the sm0p preprocessor (there is some sm0p code inside the C code).
19:23 [particle] zomg! your shoelace broke!
19:24 ruoso heh
19:24 ruoso now I neeed the sm0p preprocessor
19:24 chruck joined #perl6
19:27 mattz joined #perl6
19:32 icwiener joined #perl6
19:37 pugs_svn r19581 | ruoso++ | [smop] more preparations to the sm0p preprocessor.
19:48 thoughtpolice joined #perl6
20:02 luqui joined #perl6
20:28 japhb joined #perl6
20:36 tewk_
20:37 Jamtech joined #perl6
20:39 Jamtech joined #perl6
20:40 * ruoso home &
20:58 ispy_ left #perl6
21:22 thoughtp1lice joined #perl6
21:34 rdice joined #perl6
22:12 Auzon joined #perl6
22:23 turrepurre joined #perl6
22:54 IllvilJa joined #perl6
23:04 _sprocket_ joined #perl6
23:21 jjore joined #perl6
23:48 takanori joined #perl6

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

Perl 6 | Reference Documentation | Rakudo