www.parrot.org | Prepare for 1.6.0: Improve test coverage for NameSpace and Continuation PMCs / Stability! / Port tests to PIR / Performance! / No more big branch merging until after 1.6.0
Set by moderator on 8 September 2009.
Whiteknight can't read algol 60 for shit 00:00
I would like to see a pure PIR version of that, or something in a reasonable lanuage
darbelo I liked to Algol version right there! Kids today... 00:02
But you can look for something 'reasonable' at rosettacode.org/wiki/Man_or_boy_test too. 00:03
Whiteknight yeah, I'm reading that now 00:05
Coke darbelo: partcl prints -67. 00:08
so *nyah*
darbelo Coke: Yeah, I wouldn't have pasted it if had the wrong answer :)
Coke ah, now I know what you meant by man. =-) 00:09
honestly, I'm stunned it works.
(note that the interp line there is a no op in partcl. =-)
Whiteknight I would like to put together a PIR Y-combinator 00:12
be a fun little library to have
darbelo In PIR? Sounds kinda ugly. 00:13
00:14 pjcj joined 00:18 Limbic_Region joined 00:24 rhr joined
Whiteknight how do we make closures in PIR? 00:25
that's something I never tried before
cotto_work I imagine newclosure would be involved. 00:32
Whiteknight yeah, I've never used that opcode and I'm finding there's a lack of documentation about it 00:34
cotto_work time to go afw
bye
darbelo bye 00:35
00:47 ash_ joined 00:49 darbelo left, ash__ joined 00:54 Zak joined 01:02 rhr joined
Whiteknight okay, I've written most of what I think should be a Y-combinator routine, but it doesn't work 01:04
so somewhere along the line I am getting new_closure or some of the lexical variables wrong 01:05
newclosure * 01:08
any rakudo people around want to help a newbie with lexical stuff? 01:14
01:14 patspam joined 01:20 rhr joined
Whiteknight okay, I have the lexical things working I think, but now I'm failing because of an MMD failure 01:27
Coke thinks he nearly has [apply] working. 01:35
hurm. should get_hll_namespace <RPA> work?
Whiteknight no 01:36
ResizablePMCArray
Whiteknight got the Y-Combinator to work in PIR! 01:37
now that's a milestone for me
Tene Whiteknight: post it? 01:38
Coke Whiteknight: yes, that's what I meant by RPA. 01:39
<NameSpace> = get_hll_namespace <ResizablePMCArray>
?
nopaste "Whiteknight" at 69.249.176.251 pasted "Y-Combinator in pure PIR" (124 lines) at nopaste.snit.ch/17964 01:40
Whiteknight Coke: I believe that should work, yes
Tene: it's ugly, but it does work
Whiteknight goes to bed. Goodnight! 01:49
01:50 kid51 joined 02:01 whoppix joined 02:03 ZeroForce joined 02:11 whoppix joined
Coke sighs. so close. :| 02:18
ZeroForce tosses Coke a handgrenade. "That help you get any closer?" 02:19
Coke goes with the segfault. =-) 02:20
ZeroForce hehe
But it's a Holy Hand Grenade! :)
I think I've just found inspiration for the name of the language I want to write using Parrot (or Perl6 I haven't decided which) 02:22
en.wikipedia.org/wiki/Aphasia
jdv79 Coke: i added a patch to that issue 02:30
nopaste.com/p/azNphZsii 02:36
could I get a rakudo committer to take a look at that please? 02:37
Coke jdv79: testing, applying shortly. your rev.pl script can actually be used in a few places... 02:38
jdv79 i wanted to do it without a script but the config system isn't "robust" enough
treed: around? 02:39
02:41 janus joined
Coke jdv79++: applied. 02:44
dalek rtcl: r732 | coke++ | trunk/ (4 files):
Pass parrot and partcl revisions to smolder.

Patch courtesy jdv79++ (with slight mods) Update issue #109
02:45
jdv79 thanks 02:46
particle coke: things looking good for tcl with parrot head?
particle is release planning 02:47
Coke particle: ... did you see my email? 02:48
(I'd be more worried abut rakudo based on last week's emails) 02:49
particle++ for checking.
treed jdv79: I am now. 02:50
Coke afk 02:51
02:53 rg joined
particle coke++ for listmail 02:56
jdv79 treed: i'll have a patch for you in a moment 03:01
treed Oh, okay. 03:03
treed is fairly busy recently.
Just started my new job today.
Still looking for a place to live here.
jdv79 treed: nopaste.com/p/aXrzudVW4 03:05
in that case what are you doing here? 03:06
particle treed: congrats! where is here? 03:10
treed I happen to be glancing at IRC at the same time I'm glancing at craigslist.
particle: Palo Alto, CA
jdv79 hope the new gig works out
treed Thanks. I think it will. 03:11
I get to visit the colo we use tomorrow.
Which entails a drive to Oakland.
treed has spent so much money lately. 03:12
Can't wait for my first check.
cotto Coke, it's really nice to see you happy about what's happening with partcl. 03:15
dalek rdinal: c25a9e2 | treed++ | Rakefile:
Add Parrot Revision to smolder report, and adjust method for getting commit id. (jdv79++)
03:19
jdv79 nice. almost there. now i just need to get the rakudo patch in. 03:20
thanks treed
pmichaud: could you look at my rakudo smolder patch
03:31 ZeroForce joined
Coke cotto: don't get used to it! =-) 04:34
04:36 dukeleto joined 04:39 patspam joined
cotto Coke, I'm assuming it's probably a annual occurrence. 04:41
04:45 elmex joined, cono_ joined 04:46 elmex joined, skv_ joined 04:47 mj41_ joined
cotto s/a /an / 04:49
dukeleto 'ello
anything need doing before tomorrows release?
04:49 ZeroForce joined 04:50 mj41__ joined, elmex joined 04:52 skv joined
Coke cotto: has to happen occasionally or I'd be gone. 04:53
04:53 elmex joined 05:02 ilbot2 joined
moderator www.parrot.org | Prepare for 1.6.0: Improve test coverage for NameSpace and Continuation PMCs / Stability! / Port tests to PIR / Performance! / No more big branch merging until after 1.6.0
chromatic Coke, speed is on the agenda. 05:04
cotto We feel the need.
dukeleto The need, for speed. 05:09
dukeleto had to do it
dalek ose: r104 | Austin++ | trunk/ (17 files):
Grammar refactoring: generating good code for some simple cases now.
05:10
05:13 Zak joined
Coke chromatic: ok. still have a few stability nits. 05:16
(speed is good, though.)
Yay: figured out root cause of my problem. Boo: must sleep nw. 05:22
dalek rrot: r41266 | particle++ | trunk (9 files):
[RELEASE] release prep
05:31
05:46 nathanmccauley joined 05:48 TiMBuS joined
cotto "half-pie"? 05:51
cotto prepares for the coming massive jit excision. 05:53
05:59 dukeleto joined 06:09 uniejo joined 06:21 sri joined 06:26 iblechbot joined 06:38 elmex joined 06:46 barney joined 06:55 Zak joined 07:38 kjeldahl joined 08:10 kyle_l5l left 08:11 fperrad joined 08:12 einstein joined 08:31 masak joined 08:35 snarkyboojum joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41266 - Ubuntu 9.04 amd64 08:44
Note on my last run on i386 there were 4 TODO's passing (r41265) but not on amd64 (well 2 were testj so they don't apply here) 08:47
partcl r732 builds on parrot r41266 - make test PASS - Ubuntu 9.04 amd64 08:54
08:55 bacek joined
moritz good release day to all parrot mongers 08:55
(unless I mis-counted the Tuesday :-)
mikehh hey moritz
should be - particle is the release manager 08:57
bacek o hai 08:58
08:59 mokurai left
mikehh hi 09:00
purl privet, mikehh.
dukeleto hola 09:02
purl que tal, dukeleto.
mikehh decnum-dynpmcs r181 builds on parrot 41266 - make test PASS - Ubuntu 9.04 amd64 09:03
rakudo (a9ff309) builds on parrot r41266 - make test / make spectest (up to 28241) PASS - Ubuntu 9.04 amd64 09:08
rakudo - t/spec/S03-operators/arith.rakudo - TODO passed: 120, 131-132
Note again on i386 (r41265) the test only TODO passes 131 and two segfaults after (exit 11) - t/spec/S12-attributes/class.rakudo and t/spec/S14-roles/basic.rakudo 09:10
let me post that in #perl6 09:11
09:19 riffraff joined
mikehh cardinal (c25a9e2) builds on parrot r41266 - make test - same 3 failures - Ubuntu 9.04 amd64 09:37
sorry that should be rake test:all
09:51 sri joined
bacek cotto: ping 10:01
dalek a: c31f0f6 | fperrad++ | (2 files):
add lua-TestMore (public, branch parrot) as submodule
10:30
a: 60d228d | fperrad++ | config/makefiles/root.in:
smoke in pure Lua, with Lua test suite from lua-TestMore
a: dad6c30 | fperrad++ | config/makefiles/root.in:
upload on Smolder
bacek particle: ping 10:31
10:33 payload1 joined 10:51 quek joined 10:52 kid51 joined
dalek TT #998 closed by moritz++: Recent parrot changes cause lots of Rakudo spectests to abort with status ... 11:17
11:21 mberends joined 11:38 iblechbot joined 11:42 mikehh_ joined 11:45 mikehh joined 11:46 HG` joined, whiteknight joined
whiteknight all the smoke reports from overnight appear to be coming in clean 11:50
probably the first time I've been able to say that since 1.5.0 landed
dalek a: 256fc8a | fperrad++ | t/lua- (2 files):
fix case
11:58
a: f8c39da | fperrad++ | .gitignore:
ignore *.tar.gz
11:58 payload joined
12:12 HG` joined 12:22 payload joined
dalek a: 7f8bb5d | fperrad++ | config/makefiles/root.in:
fix on linux (upload on Smolder)
12:28
12:34 payload1 joined 12:51 tetragon joined
dalek a: 15fc384 | fperrad++ | config/makefiles/root.in:
send Parrot revision to Smolder
12:52
13:02 ruoso joined
dalek rrot: r41267 | particle++ | tags/RELEASE_1_6_0:
tagged release 1.6.0
13:10
a: 956b163 | fperrad++ | config/makefiles/root.in:
send comments to Smolder
13:11
bacek HA! TIME TO BREAK PARROT!!! 13:12
particle++
whiteknight particle++ indeed! 13:19
dalek kudo: c22d81b | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to the 1.6.0 release
13:22
website: particle++ | Parrot 1.6.0, "half-pie" Released! 13:26
website: www.parrot.org/news/parrot-1.6.0-ha...e-released
tracwiki: v8 | mikehh++ | BuildWarnings 13:27
tracwiki: latest warnings at r41266</a>
tracwiki: trac.parrot.org/parrot/wiki/BuildW...ction=diff
ttbot Parrot trunk/ r41268 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/96053.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 13:34
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to tear out the JIT! 13:34
dalek rrot: r41268 | bacek++ | trunk/src/pmc/lexinfo.pmc:
[cage] Simplify LexInfo PMC to use ability of Hash PMC for storing INTVALs natively.
13:35
bacek sigh...
jonathan particle: Only....half a pie?
particle 8/5
purl 1.6
particle rakudo: say pi / 2 13:36
polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
particle ouch
bacek 3.1415926/2 13:38
purl 1.5707963
bacek Looks about all right :)
13:39 ash_ joined
bacek bah... Can I have working PCC? 13:41
whiteknight NO PCC FOR YOU!
bacek whiteknight: not funny... Already not funny. Check latest taptinder failure... 13:42
whiteknight taptinder?
purl i think taptinder is software development tool - taptinder.org . For Parrot project running on tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
dalek tracwiki: v97 | particle++ | WikiStart 13:47
tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
rrot: r41269 | bacek++ | trunk/src/pmc/hash.pmc:
[cage] Improve error reporting in Hash.set_value_type
ttbot Parrot trunk/ r41269 i386-linux-thread-multi make error tt.ro.vutbr.cz/file/cmdout/96100.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 13:50
bacek o shi... 13:51
it's... impossible.
whiteknight: can you rebuild latest parrot on amd64? 13:52
whiteknight bacek, I will need a few minutes (my dev computer is away)
NotFound Hash: unsupported entry_type -100 ? WTF ? 13:53
bacek whiteknight: no problem. I can continue scratching head trying to understand when "-100" not equals to "-100"...
whiteknight brb 13:55
13:57 Whiteknight joined
bacek Whiteknight is left, long live Whiteknight :) 13:58
NotFound: -100 is enum_type_INTVAL... 13:59
NotFound: which is definitely supported. 14:00
NotFound: hash.pmc, line 536 14:02
14:05 quek left
NotFound Just cast to INTVAL 14:05
Whiteknight bacek: Fails a bunch of tests
NotFound In src/pmc/lexinfo.pmc:67
Remember, variant argument list is completely type unsafe 14:06
bacek NotFound: ah! Gotcha.
NotFound, Whiteknight can you test next one? :) 14:08
dalek rrot: r41270 | bacek++ | trunk/src/pmc/lexinfo.pmc:
[cage] Explicitly cast enum to INTVAL. NotFound++
14:09
bacek r41270 14:10
14:10 ZeroForce joined
NotFound bacek: make test pass 14:14
bacek NotFound++, mj41++ 14:15
14:16 AndyA joined
NotFound There is no better way to set type than calling a method? 14:16
14:18 nathanmccauley joined
bacek NotFound: I couldn't find appropriate VTABLE for it. And I don't want to break encapsulation... 14:18
NotFound Mmm... adding init_pmc to hash may be a simple and fast solution. 14:25
bacek May be. But currently, afaiu, all LexInfos created during compile time in IMCC. So speed is not big concern. 14:28
Ok. Serious question. 14:30
Should we start auction for privilege to kill current JIT? :) 14:31
14:44 Psyche^ joined
dalek rrot: r41271 | bacek++ | trunk/src/dynpmc/dynlexpad.pmc:
[cage] Fix documentation bit in DynLexPad.
14:46
14:50 donaldh joined
masak how can the new profiling runcore be used in conjunction with Rakudo? 14:51
bacek masak: parrot -R profiling perl6.pbc -e 'say "Hello"' 14:52
14:53 theory joined
bacek msg cotto You can major improve performance of pprof2cg.pl by moving updates of contexts stack profile time into "unwind context" bit. 14:57
purl Message for cotto stored.
bacek mast sleep 14:58
masak bacek: thanks. um, should it hang indefinitely, or should it actually do something?
bacek must sleep
purl $bacek->sleep(8 * 3600);
masak oh wait. it produced something! 14:59
jonathan masak: Maybe you didn't wai....oh. :-)
bacek masak: It should create parrot.pprof.\\d+ file. Which can be processed by pprof2cg.pl to obtain callgring-compatible output. 15:00
which can be used by kcachegrind for visualisation
masak right. it told me when it was done.
it produced an enormous file! 15:01
all I did was say "Hello"...
bacek masak: blame jonathan and pmichaud for reblessing MultiSubs and "recompile" grammar on load :) 15:02
jonathan masak: Well, we do do a lot of stuff at startup. ;-)
masak ah.
jonathan Sig creation is a pig atm.
masak oink.
bacek img-fotki.yandex.ru/get/3700/bacek....8a479_orig 15:03
jonathan masak: Yeah, but bacon is The Awesome.
masak bacek: nice! 15:04
bacek masak: it's not me, it's cotto++ :)
15:04 kjeldahl joined
masak cotto++ 15:05
NotFound Can someone help me to make mysqltest.p6 work with recent rakudo? 15:06
Unknown import list expression in use at line 24, near ";\\n\\nsay 'my"
dalek rrot: r41272 | NotFound++ | trunk/examples/nci/mysqltest.p6:
[examples] fix "use" syntax in perl6 mysql example
15:07
NotFound Uh, I got it.
NotFound elements() not implemented in class 'Mysql;Row' 15:08
dalek rrot: r41273 | NotFound++ | trunk/examples/nci/mysqltest.p6:
[examples] fix typo from r41272
15:10
bacek msg cotto pprof2cg.pl should probably be installed in make install-dev target (or even in make install). 15:11
purl Message for cotto stored.
15:15 Eevee joined
dalek rdinal: 46b861f | treed++ | Rakefile:
Move the Parrot Revision to its proper place. (jdv79++)
15:17
15:20 barney joined
jdv79 jonathan: maybe you have a moment to look at my small patch: nopaste.com/p/azNphZsii 15:20
jonathan jdv79: Looks sane at first glance, moritz is a better person to review/comment/apply this. 15:23
moritz: ^^
15:33 payload joined
jdv79 jonathan: thanks. 15:34
moritz: could you take a look at my patch? 15:35
cotto bacek_at_work, thanks. 15:36
pmichaud good morning, #parrot
cotto bacek_at_work, good idea 15:37
pmichaud jdv79: (looking at patch) -- does your patch still work on systems that don't have TAP::Harness ? 15:38
15:40 nathanmccauley joined
jdv79 i didn't try it but it should. 15:41
NotFound Done! mysqltest.p6 now works with rakudo :) 15:43
moritz jdv79: I'll test it later on, and apply it if appropriate 15:45
(unless pmichaud beats me to it)
dalek rrot: r41274 | NotFound++ | trunk/examples/nci (2 files):
[examples] MySql: add 'elements' vtable overrides to result objects and quote vtable override names
jdv79 ok, thanks! 15:46
15:49 mokurai joined
particle NotFound: you have one too many colons in r41272 16:01
it's use Mysql:from<parrot>;
nm, caught up on email :)
NotFound particle: yes, I accidentaly added it and don't retested 16:02
16:03 theory joined 16:04 donaldh left 16:06 darbelo joined
dalek TT #1010 created by flh++: Fix FixedBooleanArray "fill" method, rewrite tests in PIR 16:08
16:17 ZeroForce joined
pmichaud particle++ # half pie release 16:20
NotFound particle++ 16:22
Whiteknight particle++ # For having the guts to release a "stable" version after the month we've had! 16:26
16:28 kjeldahl joined 16:35 skv joined 16:50 cotto_work joined
cotto_work hio 16:52
darbelo So, is the JIT dead yet? 16:53
moritz don't think so 16:54
cotto_work It will be. Too many people hate it for it to survive very long now that we have the goahead to rip it out. 16:56
I'm happy. it needs to go away.
dalek rrot: r41275 | NotFound++ | trunk/src/pmc/fixedbooleanarray.pmc:
[pmc] cleaning and refactoring + fix from TT #1010 flh++
16:57
17:04 smash joined
smash hello everyone 17:04
17:07 flh joined
ash_ cotto_work: so, is the majority of testing going into the LLVM's JIT system? 17:14
i get that impression from the mailing list
cotto_work ash_, Whiteknight would be better to ask about that 17:15
17:15 payload1 joined
ash_ okay, i saw one of his blog posts about it 17:16
Whiteknight what do you mean by "majority of testing"> 17:17
?
ash_ for a potential JIT replacement 17:18
pmichaud "Kill the JIT! Kill the JIT!"
cotto_work I think he's asking if we'll focus most of our energy figuring out how to make llvm work as parrot'
's jit
pmichaud wishes that "JIT" had an extra syllable so he could chant to the tune of "Kill the Wabbit" 17:19
Whiteknight ash_: yes. Allison wants to start with LLVM first, and maybe expand to others later if necessary
ash_ lol
wa'scually wabbit
cotto_work I like the idea of llvm and its slower startup for server applications and something simpler with a lower startup time like libjit for user apps. 17:20
rebootening tiem 17:21
(stupid windows)
ash_ virtual machines are nice
well, i have to go, whiteknight good luck with the llvm stuff 17:23
17:24 desertm4x joined 17:26 cotto_work joined
Whiteknight thanks! 17:27
dalek kudo: 1c35342 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 436 files, 15500 (71.5% of 21679) pass, 0 fail
darbelo hmm, the exec core looks like it depends on JIT, is it on the chopping block too? 17:29
Whiteknight darbelo: yes, it's one and the same 17:31
darbelo likes ripping out stuff.
Whiteknight we cant rip out the entire JIT, we need to keep the NCI thunk generator 17:32
darbelo Don't worry, I'm just looking over cores.c, I haven't done anything yet. 17:33
NotFound I think we can work a replacement for the NCI generator by writing a calling stup with inline assembler.
dalek rrot: r41276 | NotFound++ | trunk/t/pmc/fixedbooleanarray.t:
[t] convert FBA tests to pir, TT #1010, flh++
17:34
particle start a branch for the jit removal
Whiteknight NotFound: I was thinking the exact same thing! 17:35
darbelo Looks easy enough to disable in trunk before rip-out time.
Whiteknight although instead of inline assembly, we should use a separate assembly file
darbelo I was thinking: Disable in trunk -> Branch -> Kill in branch.
darbelo goes afk. 17:36
particle order of the first two doesn't matter
NotFound Whiteknight: I'm not sure what can be worse: use different versions of inline asembler depending on the compiler, or locating and selecting an appropiate assembler in Configure 17:39
Whiteknight NotFound: we already do detect compilers and locate assembly files for them in Configure
NotFound Oh, nice then
particle fun for cross-compiling. 17:42
17:42 uniejo joined
NotFound particle: cross-assemby is not more problem than cross-compiling 17:46
dalek TT #1010 closed by NotFound++: Fix FixedBooleanArray "fill" method, rewrite tests in PIR
kudo: 42ff49e | pmichaud++ | docs/announce/2009-09:
Initial draft of 2009-09 release announcement.
17:54
kudo: 48b5d4d | pmichaud++ | docs/ChangeLog:
Some ChangeLog updates.
17:56 MoC joined 18:06 davidfetter joined 18:09 gaz joined 18:13 mikehh_ joined 18:15 chromatic joined
dalek rrot: r41277 | darbelo++ | branches/kill_jit:
[kill jit] Create a branch for the upcoming removal of the current JIT code.
18:16
cotto_work #ps in 12 18:18
darbelo clock?
purl darbelo: LAX: Tue 11:18am PDT / CHI: Tue 1:18pm CDT / NYC: Tue 2:18pm EDT / LON: Tue 7:18pm BST / BER: Tue 8:18pm CEST / IND: Tue 11:48pm IST / TOK: Wed 3:18am JST / SYD: Wed 4:18am EST /
18:19 mikehh joined
Whiteknight NotFound: inline assembly should be good too then 18:22
darbelo clock? 18:31
purl darbelo: LAX: Tue 11:31am PDT / CHI: Tue 1:31pm CDT / NYC: Tue 2:31pm EDT / LON: Tue 7:31pm BST / BER: Tue 8:31pm CEST / IND: Wed 12:01am IST / TOK: Wed 3:31am JST / SYD: Wed 4:31am EST /
Whiteknight #ps time
dalek TT #597 closed by chromatic++: review objects PDD 18:40
18:48 joeri joined
dalek TT #1011 created by Util++: Packfile PMCs cannot create a bytecode file from scratch 18:48
duk3leto who do I talk to about getting on the planet parrot blog aggregator again? 18:52
darbelo duk3leto: Coke, I think. 18:53
moderator www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to tear out the JIT! | Testing priorities: Exception and MultiSub 18:56
duk3leto darbelo++ 18:56
pmichaud can the "nsentry" branch be removed? 18:59
dalek rrot: r41278 | pmichaud++ | branches/isafast:
Remove obsolete branch.
19:03
particle purl: warnock cotto 19:04
purl particle: i'm not following you...
pmichaud cotto_work: istr that allison++ has already indicated that we should not have separate pmcs like that
cotto_work ok. I'll dig around. 19:05
dalek TT #504 closed by Util++: packfile pmcs
TT #167 closed by pmichaud++: Cannot relocate source tree after compilation
Util cotto_work: you listed 'HashIterator' twice. Was this intentional?
cotto_work nope 19:06
NotFound I like the C++ approach: iterators for hash-alike classes returns pairs <key, value> 19:07
cotto_work Util, I got a little excited
Util cotto_work: I can see getting rid of HashIteratorKey, but HashIterator would need to remain as separate object, to allow Hashes to support multiple iterators. (e.g. avoid the Perl5 single per-hash iterator) 19:11
However, couldn't sub-classes of Hash just use the base HashIterator objects as their iterators?
(Caution! Util is new to the topic)
pmichaud there used to be a single Iterator class for handling various types of aggregates 19:13
NotFound I think the practical requirement is to have some thing that iterates. 19:14
pmichaud that was refactored into the separate *Iterator + *IteratorKey classes for each type of aggregate
NotFound A generic Iterator class is pointless, unless is just a role or abstract class. 19:15
cotto_work I'm just figuring out if I'll need to write some more supporting PMCs for Pipp when the time comes. 19:16
chromatic Hm. That shouldn't have gone to trunk. 19:18
dalek rrot: r41279 | chromatic++ | trunk (12 files):
[runcore] Removed JIT runcore. Disabled it in the Makefile, leaving testj and

pass, but now we have a lot of test SKIPs and TODOs to excise.
chromatic Anyone want to panic over that? Should I revert and commit to the branch instead? 19:20
duk3leto chromatic: meh. Is anything currently blowing up because it got axed? 19:21
moritz keeps calm
duk3leto helps moritz keep calm
darbelo I'm fine with that. Do I kill the branch?
pmichaud no panic here. 19:22
duk3leto does trunk build and pass "make test" ?
NotFound Kill Jit!
chromatic It should. If it doesn't... I did something wrong.
duk3leto chromatic: all tests passed on your platform. I have learned to take that with a grain of salt. I will test on darwin now 19:23
particle sigh 19:24
NotFound If Darwin is not well adapted, evolve or extinct!
particle well, if there's a time to go unstable, it's release+5hours
dalek tracwiki: v13 | chromatic++ | JITRewrite 19:25
tracwiki: trac.parrot.org/parrot/wiki/JITRew...ction=diff
darbelo OpenBSD amd64 tests clean. Looks like chromatic did it better than I was doing it. 19:26
chromatic It shouldn't be unstable at all. If it builds at all, I removed code effectively.
darbelo is running testj on amd64, just to say he did. 19:28
duk3leto is building and testing on freebsd and darwin-ppc
particle coke brings up a point offline: aren't we supposed to keep the jit command-line option, and repoint it? 19:30
chromatic I did.
Same with the cgp-jit and switch-jit options. 19:31
particle rechecks the diff
chromatic Look in the compilers/imcc/main.c chunk.
particle - Ā  Ā " Ā  Ā -R --runcore slow|bounds|fast|jit|cgoto|cgp|cgp-jit\\n"
- Ā  Ā " Ā  Ā -R --runcore switch|switch-jit|trace|profiling|gcdebug\\n"
+ Ā  Ā " Ā  Ā -R --runcore slow|bounds|fast|cgoto|cgp\\n"
+ Ā  Ā " Ā  Ā -R --runcore switch|trace|profiling|gcdebug\\n"
chromatic That's just a docstring. We don't advertise them, but we do support them. 19:32
particle yuck. 19:33
we've made our documentation worse, in order to make you a better, more informed programmer.
chromatic In what way does that make the documentation worse? 19:34
19:35 mikehh_ joined
moritz we don't document all available options anymore 19:35
19:35 iblechbot joined
chromatic I can put those options back in the documentation, but those options don't *do* anything. 19:35
-Rswitch-jit is the same as -Rswitch, for example.
moritz I'm fine either way
darbelo moritz: Yes, we do. We just left out a few aliases for them. 19:36
NotFound We must have undocumented options. If not, no one believe is a serious project.
We must also add some Easter Egss.
darbelo NotFound: Easter Segfaults! 19:37
moritz when I see a program being run with a --foo option, and the manual page doesn't tell me what --foo does, I'm confused
purl You won't be after this episode of Soap!
NotFound moritz: I'll add a --confuse option, then.
That autodocuments it.
moritz YaY 19:38
chromatic I'll put a note in docs/running.pod; the --help output suggests looking there for more. 19:41
particle chromatic++
moritz chromatic++ indeed
chromatic C'mon dalek, get on the trolley. 19:45
19:46 slavorg joined
dalek rrot: r41280 | chromatic++ | trunk (3 files):
[docs] Updated references to JIT cores to note that the existing runcore

harness to the fast core.
19:47
rrot: r41281 | darbelo++ | branches/kill_jit:
[kill jit] Remove the branch, chromatic++ killed the jit in trunk.
19:51
chromatic I wouldn't say I killed it in trunk; we still have a lot of code to remove.
I switched to the wrong branch with git-svn but managed not to break trunk.
darbelo Hm. I'll recreate the branch then. 19:53
duk3leto r41279 passed "make test" on darwin-ppc 19:54
chromatic +1 for getting the runcore refactor done first. 19:55
darbelo, the branch will be helpful for making sure we keep the JIT NCI thunk code while getting rid of the rest.
darbelo chromatic: branch re-created with your latest modifications from trunk. 19:57
chromatic Excellent. Now let's see if I can switch to that branch correctly.
dalek rrot: r41282 | darbelo++ | branches/kill_jit:
[kill jit] Recreate the branch for the upcoming removal of the current JIT code. I jumped the gun on the removal.
19:58
tracwiki: v17 | chromatic++ | git-svn-tutorial 20:05
tracwiki: trac.parrot.org/parrot/wiki/git-sv...ction=diff
chromatic darbelo, we can't remove Parrot_build_call_func and its dependencies, but everything else is fair game. 20:06
darbelo Ok, I'll dive in later today. 20:07
20:08 mikehh joined
mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41279 - Ubuntu 9.04 amd64 20:09
20:09 theory joined
duk3leto r41280 passes "make test" on freebsd 20:33
mikehh rakudo (48b5d5d) builds on parrot r41279 - make test / make spectest (up to 28245) PASS - Ubuntu 9.04 amd64 20:38
rakudo - t/spec/S03-operators/arith.rakudo - TODO passed: 120, 131-132
duk3leto r41279 FAILS "make fulltest" in a git-svn checkout on darwin. Looks like those tests still think that git is svk :gist.github.com/187628
20:42 cotto_work joined 20:48 sri joined
chromatic darbelo, I think we need to remove PIC first. 20:58
darbelo PIC? 20:59
purl PIC is a preprocessor for *roff, like tbl or eqn. or a language for drawing pictures and diagrams or pilot in command or MONKEY or Position Independant Code or Polymorphic Inline Cache or the popular line of Microcontrollers from Microchip or SHOW US THE PORN BITCH
chromatic Polymorphic Inline Cache
purl Polymorphic Inline Cache is the meaning I refer to
szbalint purl: Polymorphic Inline Cache is also not dead, just restin', beautiful plumage eh 21:00
purl okay, szbalint.
21:05 Whiteknight joined
darbelo PIC sounds like a rather premature optimization, from what I can see in that file. 21:06
Whiteknight PIC is actually a very useful optimization strategy for dynamic language VMs. 21:07
Parrot's implementation of it is, however, very premature
darbelo Whiteknight: That's what I meant, yes. That code looks like it was put in place two design iterations ago. 21:09
Whiteknight yeah
darbelo Which means somebody is going to have to put something like it back in on the next design iteration :) 21:11
chromatic Or a better approach. 21:12
purl a better approach is, like, to make it easier to install modules
21:14 ZeroForce joined
darbelo The symbols exported by config.pbc and relatives have to stay there until the next deprecation point, don't they? 21:39
cotto_work sounds like an internal implementation detail, no? 21:40
chromatic I'm not sure they're in our deprecation policy.
darbelo They can break peoples makefiles. 21:41
dalek kudo: 27dcc8d | moritz++ | docs/announce/2009-09:
mention context vars in release announcement
21:54
21:54 mokurai joined
dalek kudo: c3d93dc | moritz++ | docs/announce/2009-09:
mark deprecation notices as being a thing of the past
21:54
kudo: 9a61441 | moritz++ | src/builtins/any-num.pir:
sub int() is gone (as announced in the 2009-08 release), give a helpful error message instead
darbelo I guess I'll leave them in. Just in case.
dalek rrot: r41283 | darbelo++ | branches/kill_jit/config/auto/jit.pm:
Alter the auto::jit Configure step to treat all platforms as jit-incapable and exec-incapable.
21:57
21:57 joeri left
chromatic r41283 will render JIT call frames useless.... 22:02
... unless we modify the checks to build call frames with the JIT.
see src/nci.c 22:03
22:03 bacek joined
darbelo How did platforms with no JIT handle this? 22:08
dalek TT #1012 created by dukeleto++: Add leto.net/parrot.xml to Planet Parrot 22:09
chromatic NCI builds a static list of thunks. 22:10
darbelo Hmm. If I'm reading nci.c right only i386 can use JIT frames right? 22:13
rg i'd suggest to also toss the jit call frame building. but i was wondering if anyone knew of a library that could help.
22:15 snarkyboojum joined
Whiteknight darbelo: I think you are right. CAN_BUILD_CALL_FRAMES is only defined when I386 is defined 22:15
darbelo Maybe I should move off amd64 for a while, right now I can't tell when I break features I don't have. 22:17
chromatic CAN_BUILD_CALL_FRAMES is a huge memory and startup help, at least for x86-32. 22:24
darbelo I'm looking at the configure probes now, looking for something I can use in place of HAS_JIT 22:25
bacek Good morning 22:31
purl And good moroning to you, bacek.
22:32 patspam joined
bacek cotto_work: We need HashIteratorKey because of current Hash iterating practice... 22:33
cotto_work: it = iter hash; $P0 = shift it; $P1 = hash[$P0] 22:35
22:36 mikehh joined
cotto_work bacek, but that's not the long-term intent, but more of a bandaid until we can get something better? 22:39
mikehh I think one of the problems we have is that there has been too much premature optimizations 22:40
bacek cotto_work: there is C++ style of Hash iterator also implemented. We can resurrect Pair PMC and use it instead of specific HashIteratorKey.
mikehh we have moved away from a clean design 22:41
22:41 snarkyboojum joined
Whiteknight mikehh: exactly! 22:45
purl exactly! is it not awesome?
Whiteknight I'm very surprised Leo responded on the mailing list, I don't think I've seen any communications from him since I joined 22:46
mikehh I have seen a couple of posts by him
22:48 allison joined 22:51 kid51 joined, hercynium joined
kid51 is famous. Disenfranchised, but famous: tinyurl.com/r2mzwa 22:52
chromatic You changed your name to Robert Livingston and gained weight? 22:54
darbelo tools/build/nativecall.pl is supposed to be run manually, right? 23:01
bacek darbelo: it's invoked from make
darbelo: make src/nic.c 23:02
23:02 tetragon joined
bacek src/nci.c of course 23:03
Whiteknight nci.c is so evil 23:07
I hate looking in here
bacek it's auto-generated. So we can reduce it evilness :) 23:08
darbelo Whiteknight: look in tools/build/nativecall.pl it's even better!
23:08 ZeroForce joined
cotto_work you must kill the evil at its source 23:08
23:09 KatrinaTheLamia joined
dalek rrot: r41284 | darbelo++ | branches/kill_jit (2 files):
Temporarily hijack the cc_hasjit flag for CAN_BUILD_CALL_FRAMES, this should re-enable JIT frames on platforms that had them pre-r41283.
23:09
Whiteknight I dont want to make these thunks less ugly, I want a system where we can make them unnecessary and delete them entirely 23:10
darbelo chromatic: Check r41284. Not very clean, but it should work.
chromatic Will do. 23:11
darbelo I *think* that's all you need to get JIT frames going on i386. I could be wrong. 23:12
From DEPRECATED.pod: "=item src/pic.c and src/pic_jit.c [eligible in 1.1]" Why is this still here at 1.6? 23:20
Whiteknight darbelo: because the removal work never finished 23:21
chromatic It's proven difficult.
Whiteknight is consistently coretesting in less then 37s tonight 23:22
36.2 are the fastest
darbelo It's getting in the way of kill_jit too.
Whiteknight rip it out then 23:24
Allison had a list somewhere of functions she thought needed to be saved from that file
cotto_work that's what version control is for! 23:25
allison IIRC, they needed to be saved because the jit depended on them
there is a ticket for it
darbelo I guess they don't need saving then ;) 23:26
I'll look for the ticket before killing time.
Whiteknight oh hi allison, I didn't see you there 23:28
how was the flight?
allison good so far
I'm about to hop on the next leg
chromatic And boy are your feet tired. 23:31
Coke only 2.5 weeks until leeds. eek. 23:32
Whiteknight chromatic: I would like to hear more about your ideas for Sub-based exception handlers 23:39
knowing what things are going to look like will help me get started implementing it
chromatic All we need to do is to identify when a handler has finished, so if we've started an inferior runloop we can end it and resume to the superior runloop. 23:40
I don't think that necessarily enforces the use of Sub-based handlers. 23:41
We need 1) some syntax for identifying the end of a handler, from the PIR/POST level
2) some way of identifying within an inferior runloop that it's over
Whiteknight chromatic: It's not just "finished". I would think a handler would have to either resume or rethrow
chromatic 3) some way of resuming to a superior runloop
Resume and rethrow are fairly easy for #1. 23:42
Whiteknight if a handler rethrows and there are no more handlers in scope, the runloop terminates
chromatic There's another case more complex.
Whiteknight and then normal C function returns recurse us back up to the outer runloop (or exit the program)
chromatic Catch an exception but ignore it.
Whiteknight well that's just a resume then 23:43
resume without any processing
chromatic I've been thinking of resume as "resume elsewhere", but it's just "invoke a continuation", so that's no magic beyond what we already do. 23:45
23:45 chromatic left, chromatic joined
Whiteknight right, so the end of a handler will either be "resume <continuation>" or "rethrow <exception>" 23:45
And I was thinking we could mark a handler with :handler, or :handler(handles) 23:46
but then again, we could do something like what we do with closures, if we want handlers to be lexically scoped 23:47
$P0 = newhandler $P1
which would clone $P1, capture_lex on it, and register it as a handler
23:47 duk3leto_ joined
pmichaud somewhat related, possibly -- I'd like to have a way to be able to "force a return" from any context 23:47
(and roll up the intermediate contexts)
(and invoke any exit handlers registered for the intermediate contexts) 23:48
chromatic Sounds like Lisp's stack-unwind.
pmichaud yes, very much so
Whiteknight would love to be able to use coroutines as exception handlers 23:49
or even be able to define an invocant/method pair as a handler
pmichaud we need that (or something like it) in order to be able to implement LEAVE { ... } blocks in Perl 6
and also &block.leave
Whiteknight I don't remember what LEAVE does
pmichaud it defines things to be done when a block is exiting 23:50
Whiteknight pmichaud: Contexts are PMCs now, we're not too far away from having a PIR-facing interface for them. Maybe it's worthwhile to start drafting what we want to have in that interface
dalek rrot: r41285 | darbelo++ | branches/kill_jit (5 files):
HAS_JIT doesn't exist anymore. Remove dead code.
23:51
Whiteknight I would like eventually for PIR code to be able to completely manipulate it's own control flow 23:52
pmichaud Whiteknight: it might be a useful proof-of-concept to add a leave method to the context PMC
at a first cut, it should set the return arguments and invoke the context's return continuation 23:53
Whiteknight First step is finding a way to get access to the current Context PMC from PIR (probably something from interpinfo?)
but yeah, that wouldn't be too hard to do.
I also want something like an array interface for Contexts, so you can iterate over registers 23:54
Coke (ticket for them) (should be in DEPRECATED.pod) 23:56
LEAVE is also like java's finally.
Whiteknight pmichaud: what should it set the return arguments to? 23:58
that's the only part of what you said that I'm not really sure how to do correctly