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:00 BinGOs left 00:03 icwiener_ joined 00:04 __Ace__ left
cj which implementation is most complete at this point? :) 00:16
is mp6 kp6+1?
oh, looks like kp6 is mp6+1 00:19
mncharity kp6>mp6, yes 00:20
re "probably means that mp6 is doing some things in Perl 5 that Perl 5 itself would do in C instead", for the 7x, indeed. 00:26
for why fib-from-mp6 is 100x faster than fib-from-kp6/fake-ruby, but kp6-from-mp6/p5 doesn't seem screamingly fast... perhaps its that the fib on mp6 doesn't use any oo, unlike kp6-from-mp6. 00:28
TimToady
.oO(confused)
00:30
meppl good night 00:34
00:35 aindilis` joined 00:42 aindilis left 01:00 aindilis` left 01:01 tjp joined
mncharity re confused, mp6's running of fib is wizzy. mp6's running of kp6 itself is ok. kp6/p5's running of kp6 is said to be glacial. kp6/rb's running of fib is ok. kp6/p5's running of fib is rather slow. so the question is, if kp6/rb's fib is merely ok to mp6's fib wizziness, is there any hope for kp6/rb's kp6 being at least ok? let alone any hope of kp6/rb's kp6 being non-glacial? 01:03
The hope for kp6/rb's kp6 being at least ok, that is, running no slower than script/kp6 does at present, would have to lie in the mp6 performance on fib being non-representative of its overall performance on kp6. eg, but its not using any p5 oo. 01:06
01:06 cnhackTNT joined
mncharity The hope for kp6/rb's kp6 being non-glacial, that is, that a bootstrapped kp6 on a ruby backend is usable, which is the objective of this exercise, lies in the ruby runtime being closer in performance to the mp6 runtime than to the kp6/p5 runtime. 01:08
01:09 icwiener_ left 01:11 cmarcelo left
mncharity After fiddling briefly, it doesn't look like there are any low-hanging (easy and >=10x) optimizations on the calling convention. While the microbench doesn't confirm we can win, nor did it motivate any interesting optimizations, but at least it leaves winning as a possibility. given the existence proof of redsix, it still seems plausible. So I'm just going to putter ahead with the backend, and we'll see how it all falls out. 01:13
01:23 cnhackTNT left 01:25 jferrero joined 01:27 dalek joined
pugs_svn r19633 | putter++ | [kp6] ruby backend: wrapup fib() microbenchmark exercise. 01:35
r19633 | putter++ | Nice to have some numbers. Draft calling convention looks at least
r19633 | putter++ | vaguely plausible. Results were too uncertain to do a performance
r19633 | putter++ | projection. Moved code to a new docs/ruby_backend/Journal.txt.
r19633 | putter++ | Timing a mp6 fib() implemented as a method, rather than a sub, might
r19633 | putter++ | be interesting.
01:37 stevan__ joined 01:39 devogon_ left 01:41 lyokato_ joined
pugs_svn r19634 | lwall++ | Added t/spec/README 01:42
TimToady well, could be a good prototype for a Smalltalk backend in any case. :) 01:44
mncharity :)
01:46 cnhackTNT joined
pasteling "mncharity" at 24.62.4.94 pasted "kp6: perl Makefile.PL: missing compiled/perl5-kp6-mp6/lib/PAST.pm error" (22 lines, 983B) at sial.org/pbot/29989 01:52
mncharity bbl(?) & 01:54
btw, that pasted error was just an fyi. a "things didn't build cleanly out of the box" bug report. I suspect PAST.pm needs to be put under revision control, but am unsure. 01:56
TimToady I hope the question mark doesn't indicate you're planning to play Russian Roulette... 01:57
mncharity ^.^ no, just dinner 01:58
pugs_svn r19635 | tjp++ | Fixed typos in docs/Perl6/Overview.pod 01:59
TimToady I hope your survival of dinner has better odds than 5/6 02:00
Juerd initially read 5/6 as Perl 5 / Perl 6, and tried to figure out what it meant. 02:09
Then I realised the relevance to the russian roulette reference :)
02:12 tjp left
TimToady freeway and dinner & # probably less than 5/6 odds on the freeway... 02:15
02:20 Schwern joined 02:28 whooosh joined, whooosh left 02:35 bwisti_ left 02:39 cnhackTNT left 02:50 cnhackTNT joined 02:53 schemacs joined, schemacs left 03:01 Limbic_Region joined 03:19 cnhackTNT left 03:21 abbyz left 03:25 abbyz joined, Limbic_Region left 03:35 jferrero left 03:37 kanru joined 03:46 jjore joined 03:53 gbacon joined 04:00 cnhackTNT joined 04:04 aindilis joined 04:10 aindilis left
mncharity TimToady: ah, comprendo. I was thinking bbl *this evening*. :) 04:16
04:43 Schwern left 05:17 stevan__ left, stevan_ joined 05:42 alc joined 05:44 aindilis joined 05:52 r0bby joined 06:05 mncharity left 06:14 Khisanth joined 06:31 f0rth joined 06:32 Khisanth left, Khisanth joined 06:37 f0rth_ joined 06:40 f0rth left 06:45 Khisanth left 06:52 Khisanth joined 07:13 pen1 joined 07:24 devogon joined 07:33 Khisanth left 07:54 BinGOs joined 08:05 Khisanth joined 08:22 Khisanth left 08:23 Khisanth joined 08:28 cosimo joined 08:30 chris2 joined 08:35 Schwern joined 08:38 meteorjay joined 08:42 BinGOs left, iblechbot joined 08:46 BinGOs joined 08:51 mattz joined 08:59 Khisanth left 09:00 Khisanth joined 09:06 braceta joined 09:07 njbartlett left 09:16 pen1 left, Khisanth left 09:19 DarkWolf84 left 09:26 Khisanth joined 09:30 pmurias joined
pmurias @tell mncharity the rules engine in mp6 is the part which makes kp6 on mp6 run slow 09:31
lambdabot Consider it noted.
09:37 Schwern left, masak joined 09:39 braceta left 09:42 braceta joined 09:43 devogon left 09:45 Khisanth left 09:47 Khisanth joined 09:59 njbartlett joined 10:03 Khisanth left 10:06 alc left, ruoso joined 10:11 pmurias left 10:17 Khisanth joined 10:34 Khisanth left 10:43 cnhackTNT left 10:45 njbartlett left 10:46 cspencer joined 11:00 njbartlett joined 11:08 cspencer left, Khisanth joined 11:10 njbartlett left 11:11 meppuru joined 11:19 macae joined 11:25 nothingmuch joined 11:26 iblechbot left, Khisanth left 11:41 shlomif joined 11:44 njbartlett joined, lyokato_ left 11:46 Khisanth joined 11:52 pcbuetow is now known as pbuetow 11:58 shlomif is now known as rindolf 12:01 zamolxes joined 12:07 kanru left 12:13 rindolf left 12:17 Khisanth left 12:18 Khisanth joined, Aankhen`` joined 12:23 kanru joined
ruoso realises that he needs the bool type very early... 12:23
ruoso also realises that native bool true and false can also be imortal values 12:27
masak ruoso: immortal? what does that mean in this context? 12:28
immutable?
ruoso nope... means not subject to garbage collection
masak ah
ruoso that means that I can count on them being there in the C level without any checking
masak yes
sounds reasonable
12:34 Khisanth left
pugs_svn r19636 | ruoso++ | [smop] test/06_native_bool.c -- starting to declare the native bool type. 12:34
12:36 devogon joined 12:37 Lorn joined
pugs_svn r19637 | ruoso++ | [smop] src/native_bool.c -- native bool lowlevel calls implemented. 12:52
r19638 | ruoso++ | [somp] $frame.has_next() implemented. 12:59
12:59 jferrero joined 13:00 cmarcelo joined
ruoso lunch & 13:05
13:08 meppel-san joined 13:10 meppuru left 13:20 macae left 13:23 iblechbot joined, njbartlett left 13:33 [particle1 left
obra seen fglock 13:34
@fglock, ping me when you're around
moritz_ no lambdabot, no joy!
13:37 mattz left 13:38 mattz joined, lisppaste3 joined 13:47 ebassi joined, rindolf joined 13:50 cosimo left 14:04 realsri joined 14:06 realsri left, realsri joined 14:08 realsri left 14:09 zf8 joined 14:10 sri_work joined 14:21 sri_work left, sri_work joined 14:28 manfred_ joined 14:33 [particle] joined 14:49 chris2 left, zf8 left 14:51 kanru left, [particle1 joined 14:54 devogon left, masak left 14:56 masak joined 15:06 njbartlett joined 15:07 TJCRI joined 15:08 zf8 joined, [particle] left 15:20 zf8 is now known as zf8|away
zf8|away is away: zZzZz... 15:21
15:24 devogon joined 15:25 njbartlett left 15:28 njbartlett joined 15:34 njbartlett left, njbartlett joined 15:51 jhorwitz joined 15:54 rindolf left, blindfish joined 15:56 iblechbot_ joined 15:57 Schwern joined 15:58 baest_ joined
ruoso later & 15:58
15:58 ruoso left 16:06 meppel-san left, iblechbot left 16:08 kanru joined, meppel-san joined 16:13 fglock joined 16:22 lambdabot joined
TimToady fglock: obra was looking for you earlier 16:40
obra fglock: hello! 16:41
lambdabot obra: You have 1 new message. '/msg lambdabot @messages' to read it.
obra lambdabot, hello! ;)
16:42 ebassi left 16:45 TJCRI left 16:47 ebassi joined 16:49 rdice joined 16:53 ispy1 joined 16:55 jferrero left 17:03 ispy1 is now known as ispy_
fglock obra: sorry, I'm fixing something here 17:03
17:04 DarkWolf84 joined
obra fglock: no worries 17:05
ping when you're free
17:06 alester joined
rhr_ how does a p6 pragmatic module process the arglist passed to use? e.g. use nf 'c'; doesn't want to import a sub named c... 17:09
TimToady it's just a Capture, like any other arglist 17:10
17:11 icwiener joined
TimToady and can be bound to a Signature, or dispatched over multiple signatures 17:11
we haven't actually specified the export mechanism in detail, only the tag declarations
but probably something like "sub EXPORTER (*@_, *%_)" would be typical, give or take 17:12
rhr_ OK, I'll use that for now, thanks 17:13
TimToady so it would just be the standard exporter that interprets 'c' as a name and puts it into COMPILING::
17:18 njbartlett left 17:20 Jamtech joined 17:28 [particle1 left 17:29 [particle] joined 17:33 zf8|away is now known as zf8
zf8 is back (gone 02:12:18) 17:34
17:34 qmole joined, falesca joined 17:38 barney joined 17:41 macae joined, macae left, jjore left 17:50 manfred_ left 17:53 IllvilJa left 17:56 TJCRI joined 18:08 jjore joined 18:11 IllvilJa joined
pugs_svn r19639 | lwall++ | Clarification suggested by jgottman++ 18:17
18:24 falesca left 18:25 jjore left 18:27 jjore joined 18:30 ebassi left 18:38 jjore-w joined 18:49 icwiener left 18:52 icwiener joined 18:58 ruoso joined 18:59 zf8 left 19:02 mattz left, mattz joined 19:05 zamolxes left 19:06 meppel-san is now known as meppl, jferrero joined 19:16 fglock left 19:17 mattz left, mattz joined 19:18 masak left 19:25 mattz left, mattz joined 19:27 Aankhen`` left, mattz left 19:28 mattz joined
pugs_svn r19640 | ruoso++ | [smop] SMOP__SLIME__Frame first implementation almost ready... 19:39
r19641 | ruoso++ | [smop] small fix in SMOP__SLIME__Frame 19:40
19:41 mattz left, mattz joined
ruoso anyone wondering how a low-level SMOP implementation looks like can have a shiny example at src/smop_slime_frame.c 19:44
19:47 mattz left 19:52 barney left
pugs_svn r19642 | lwall++ | [fudge] implement #?DOES 20:01
r19642 | lwall++ | [fudge] : now optional
wolverian fudge? :o
20:03 [particle1 joined 20:07 [particle2 joined 20:10 jjore-w left 20:12 mncharity joined
pugs_svn r19643 | putter++ | [kp6] compiled/perl5-kp6-mp6/lib/PAST.pm: added to svn. 20:18
r19643 | putter++ | perl Makefile.PL complains about it's absence, and make kp6_mp6 creates it.
r19644 | putter++ | [kp6] compiled/perl5-kp6-mp6/lib/Test.pm: sync - it was out of date. 20:19
20:19 [particle] left 20:20 ispy_ left
pugs_svn r19645 | putter++ | [kp6] Emit/Ruby.pm: first cut at emitting a new calling convention for subs. 20:20
[particle2 alester: TimToady++ recently committed t/spec/README, which has good info on the perl 6 test suite. i suggest a perlbuzz article.
20:20 [particle2 is now known as [particle]
alester [particle]: Go on. 20:21
[particle] he basically wrote the journal post i've been off-and-on playing with 20:22
(in that README)
you want me to write up a paragraph about it, with a link, and email it to you?
pugs_svn r19646 | lwall++ | [fudge] Didn't do #?DOES on subs right 20:23
20:25 [particle1 left
pugs_svn r19647 | lwall++ | [fudge] Clarify meaning of statement in README 20:26
20:29 polettix joined
pugs_svn r19648 | putter++ | [kp6] docs/ruby_backend.txt: update calling convention and todo. 20:36
20:38 pflanze joined 20:42 pmurias joined 20:43 ludan joined 20:49 thoughtpolice joined 20:52 DarkWolf84 left 20:55 DarkWolf84 joined 20:58 riffraff joined
pugs_svn r19649 | lwall++ | [fudge] more sub counting tweaks 20:58
r19649 | lwall++ | *.t removed colon from #? lines
TimToady @tell cosimo you don't have to use colons any more on #?pugs 21:00
lambdabot Consider it noted.
mncharity would you believe f(a\n ,b) is a ruby parse error? ie, comma at beginning of line, rather than end, even inside parens. sigh.
pmurias :( 21:01
21:04 xinming joined
pmurias mncharity: in order to have good kp6-on-ruby performance you might be eventualy forced to write a regex engine which emits ruby directly (instead of using Token) 21:05
mncharity the pragmatics school of language design. examples: bison can't handle it, so language feature x can't spelled in the obvious way. we don't have an extra flag bit available, so no object other than nil/false can evaluate as false in an if statement. sigh. the shoemaker has a sideline in stained glass, and leaves glass shards all over the floor. 21:06
re regex, right. it was thinking perl5rx backend mixin might have to be translated. rubyrx. any thoughts? 21:09
(i'm unfamiliar with Token)
21:12 chris2 joined
pmurias mncharity: Token is a implementation agnostic regex engine (it translates perl6 rules to imperative perl6 code) 21:17
21:17 Schwern left
pmurias mncharity: so you can use it untill you need the speedup 21:17
mncharity great. thanks. 21:19
pmurias is it possible to discover what side-effects an execution of a ruby block had?
(which variables where modified)
mncharity ponders... 21:22
the short answer is yes
a variable, $x, is just a container. s_x = Scalar.new; s_x._(3); 21:23
so the Scalar could do logging. but at present, that _() is a method on containers, so doing something like a mop which permitted say lexically overriding assignment with something that say()ed "hey! there was an assignment!" would require compiler cooperation. 21:25
what's the objective?
moritz_ BEGIN blocks, I guess 21:26
mncharity ah, ok
21:28 zamolxes joined
pmurias mncharity: i think it is possible to do that with a visitor (so no need to worry about this now) 21:29
mncharity the right thing is perhaps to notice at compile time whether infix:= has been overridden, and emit an actual call to it. currently the kp6 emitter doesn't seem to pass along a bucket of state, so one might have to do a Visitor to spread around the info. 21:31
21:34 ludan left
pmurias mncharity: not sure ;) 21:34
21:35 pmurias left
mncharity bbl 21:38
21:39 Schwern joined
Lorn 12 21:49
21:57 Limbic_Region joined 21:58 ludan joined 22:05 jhorwitz left 22:08 mncharity left 22:23 cmarcelo left 22:27 Lorn left 22:29 njbartlett joined 22:30 polettix left 22:31 rdice left, cognominal_ joined 22:37 TJCRI left, thoughtpolice left
meppl good night 22:44
22:46 meppl left 22:53 iblechbot_ left 22:58 mncharity joined 23:06 blindfish left 23:12 polettix joined 23:14 jferrero left 23:42 Jamtech left