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