Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 * Whiteknight can't read algol 60 for shit
00:00 Whiteknight I would like to see a pure PIR version of that, or something in a reasonable lanuage
00:02 darbelo I liked to Algol version right there! Kids today...
00:03 darbelo But you can look for something 'reasonable' at http://rosettacode.org/wiki/Man_or_boy_test too.
00:05 Whiteknight yeah, I'm reading that now
00:08 Coke darbelo: partcl prints -67.
00:08 Coke so *nyah*
00:08 darbelo Coke: Yeah, I wouldn't have pasted it if had the wrong answer :)
00:09 Coke ah, now I know what you meant by man. =-)
00:09 Coke honestly, I'm stunned it works.
00:09 Coke (note that the interp line there is a no op in partcl. =-)
00:12 Whiteknight I would like to put together a PIR Y-combinator
00:12 Whiteknight be a fun little library to have
00:13 darbelo In PIR? Sounds kinda ugly.
00:14 pjcj joined #parrot
00:18 Limbic_Region joined #parrot
00:24 rhr joined #parrot
00:25 Whiteknight how do we make closures in PIR?
00:25 Whiteknight that's something I never tried before
00:32 cotto_work I imagine newclosure would be involved.
00:34 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
00:34 cotto_work bye
00:35 darbelo bye
00:47 ash_ joined #parrot
00:49 darbelo left #parrot
00:49 ash__ joined #parrot
00:54 Zak joined #parrot
01:02 rhr joined #parrot
01:04 Whiteknight okay, I've written most of what I think should be a Y-combinator routine, but it doesn't work
01:05 Whiteknight so somewhere along the line I am getting new_closure or some of the lexical variables wrong
01:08 Whiteknight newclosure *
01:14 Whiteknight any rakudo people around want to help a newbie with lexical stuff?
01:14 patspam joined #parrot
01:20 rhr joined #parrot
01:27 Whiteknight okay, I have the lexical things working I think, but now I'm failing because of an MMD failure
01:35 * Coke thinks he nearly has [apply] working.
01:35 Coke hurm. should get_hll_namespace <RPA> work?
01:36 Whiteknight no
01:36 Whiteknight ResizablePMCArray
01:37 * Whiteknight got the Y-Combinator to work in PIR!
01:37 Whiteknight now that's a milestone for me
01:38 Tene Whiteknight: post it?
01:39 Coke Whiteknight: yes, that's what I meant by RPA.
01:39 Coke <NameSpace> = get_hll_namespace <ResizablePMCArray>
01:39 Coke ?
01:40 nopaste "Whiteknight" at 69.249.176.251 pasted "Y-Combinator in pure PIR" (124 lines) at http://nopaste.snit.ch/17964
01:40 Whiteknight Coke: I believe that should work, yes
01:40 Whiteknight Tene: it's ugly, but it does work
01:49 * Whiteknight goes to bed. Goodnight!
01:50 kid51 joined #parrot
02:01 whoppix joined #parrot
02:03 ZeroForce joined #parrot
02:11 whoppix joined #parrot
02:18 * Coke sighs. so close. :|
02:19 * ZeroForce tosses Coke a handgrenade.  "That help you get any closer?"
02:20 Coke goes with the segfault. =-)
02:20 ZeroForce hehe
02:20 ZeroForce But it's a Holy Hand Grenade! :)
02:22 ZeroForce 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 ZeroForce http://en.wikipedia.org/wiki/Aphasia
02:30 jdv79 Coke: i added a patch to that issue
02:36 jdv79 http://nopaste.com/p/azNphZsii
02:37 jdv79 could I get a rakudo committer to take a look at that please?
02:38 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
02:39 jdv79 treed: around?
02:41 janus joined #parrot
02:44 Coke jdv79++: applied.
02:45 dalek partcl: r732 | coke++ | trunk/ (4 files):
02:45 dalek partcl: Pass parrot and partcl revisions to smolder.
02:45 dalek partcl: refactor revision check into separate file
02:45 dalek partcl: Patch courtesy jdv79++ (with slight mods)
02:45 dalek partcl: Update issue #109
02:45 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=732
02:46 jdv79 thanks
02:46 particle coke: things looking good for tcl with parrot head?
02:47 * particle is release planning
02:48 Coke particle: ... did you see my email?
02:49 Coke (I'd be more worried abut rakudo based on last week's emails)
02:49 Coke particle++ for checking.
02:50 treed jdv79: I am now.
02:51 Coke afk
02:53 rg joined #parrot
02:56 particle coke++ for listmail
03:01 jdv79 treed: i'll have a patch for you in a moment
03:03 treed Oh, okay.
03:03 * treed is fairly busy recently.
03:03 treed Just started my new job today.
03:03 treed Still looking for a place to live here.
03:05 jdv79 treed: http://nopaste.com/p/aXrzudVW4
03:06 jdv79 in that case what are you doing here?
03:10 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.
03:10 treed particle: Palo Alto, CA
03:10 jdv79 hope the new gig works out
03:11 treed Thanks. I think it will.
03:11 treed I get to visit the colo we use tomorrow.
03:11 treed Which entails a drive to Oakland.
03:12 * treed has spent so much money lately.
03:12 treed Can't wait for my first check.
03:15 cotto Coke, it's really nice to see you happy about what's happening with partcl.
03:19 dalek cardinal: c25a9e2 | treed++ | Rakefile:
03:19 dalek cardinal: Add Parrot Revision to smolder report, and adjust method for getting commit id. (jdv79++)
03:19 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/c25a9e2491295d970795a59ce1789814dc182fca
03:20 jdv79 nice.  almost there.  now i just need to get the rakudo patch in.
03:20 jdv79 thanks treed
03:20 jdv79 pmichaud: could you look at my rakudo smolder patch
03:31 ZeroForce joined #parrot
04:34 Coke cotto: don't get used to it! =-)
04:36 dukeleto joined #parrot
04:39 patspam joined #parrot
04:41 cotto Coke, I'm assuming it's probably a annual occurrence.
04:45 elmex joined #parrot
04:45 cono_ joined #parrot
04:46 elmex joined #parrot
04:46 skv_ joined #parrot
04:47 mj41_ joined #parrot
04:49 cotto s/a /an /
04:49 dukeleto 'ello
04:49 dukeleto anything need doing before tomorrows release?
04:49 ZeroForce joined #parrot
04:50 mj41__ joined #parrot
04:50 elmex joined #parrot
04:52 skv joined #parrot
04:53 Coke cotto: has to happen occasionally or I'd be gone.
04:53 elmex joined #parrot
05:02 ilbot2 joined #parrot
05:02 Topic for #parrotis now http://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
05:04 chromatic Coke, speed is on the agenda.
05:04 cotto We feel the need.
05:09 dukeleto The need, for speed.
05:09 * dukeleto had to do it
05:10 dalek close: r104 | Austin++ | trunk/ (17 files):
05:10 dalek close: Grammar refactoring: generating good code for some simple cases now.
05:10 dalek close: review: http://code.google.com/p/close/source/detail?r=104
05:13 Zak joined #parrot
05:16 Coke chromatic: ok. still have a few stability nits.
05:16 Coke (speed is good, though.)
05:22 Coke Yay: figured out root cause of my problem. Boo: must sleep nw.
05:31 dalek parrot: r41266 | particle++ | trunk (9 files):
05:31 dalek parrot: [RELEASE] release prep
05:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41266/
05:46 nathanmccauley joined #parrot
05:48 TiMBuS joined #parrot
05:51 cotto "half-pie"?
05:53 * cotto prepares for the coming massive jit excision.
05:59 dukeleto joined #parrot
06:09 uniejo joined #parrot
06:21 sri joined #parrot
06:26 iblechbot joined #parrot
06:38 elmex joined #parrot
06:46 barney joined #parrot
06:55 Zak joined #parrot
07:38 kjeldahl joined #parrot
08:10 kyle_l5l left #parrot
08:11 fperrad joined #parrot
08:12 einstein joined #parrot
08:31 masak joined #parrot
08:35 snarkyboojum joined #parrot
08:44 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41266 - Ubuntu 9.04 amd64
08:47 mikehh 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:54 mikehh partcl r732 builds on parrot r41266 - make test PASS - Ubuntu 9.04 amd64
08:55 bacek joined #parrot
08:55 moritz good release day to all parrot mongers
08:55 moritz (unless I mis-counted the Tuesday :-)
08:55 mikehh hey moritz
08:57 mikehh should be - particle is the release manager
08:58 bacek o hai
08:59 mokurai left #parrot
09:00 mikehh hi
09:00 purl privet, mikehh.
09:02 dukeleto hola
09:02 purl que tal, dukeleto.
09:03 mikehh decnum-dynpmcs r181 builds on parrot 41266 - make test PASS - Ubuntu 9.04 amd64
09:08 mikehh rakudo (a9ff309) builds on parrot r41266 - make test / make spectest (up to 28241) PASS - Ubuntu 9.04 amd64
09:08 mikehh rakudo - t/spec/S03-operators/arith.rakudo - TODO passed:   120, 131-132
09:10 mikehh 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:11 mikehh let me post that in #perl6
09:19 riffraff joined #parrot
09:37 mikehh cardinal (c25a9e2) builds on parrot r41266 - make test - same 3 failures - Ubuntu 9.04 amd64
09:37 mikehh sorry that should be rake test:all
09:51 sri joined #parrot
10:01 bacek cotto: ping
10:30 dalek lua: c31f0f6 | fperrad++ |  (2 files):
10:30 dalek lua: add lua-TestMore (public, branch parrot) as submodule
10:30 dalek lua: git submodule add -b parrot git://github.com/fperrad/lua-TestMore.git t/lua-TestMore
10:30 dalek lua: review: http://github.com/fperrad/lua/commit/c3​1f0f690fd56e5b2ca88092eeff3d79b85c66bf
10:30 dalek lua: 60d228d | fperrad++ | config/makefiles/root.in:
10:30 dalek lua: smoke in pure Lua, with Lua test suite from lua-TestMore
10:30 dalek lua: review: http://github.com/fperrad/lua/commit/60​d228db6ebbe5c86e08bb1e86c5626e14bd5122
10:30 dalek lua: dad6c30 | fperrad++ | config/makefiles/root.in:
10:30 dalek lua: upload on Smolder
10:30 dalek lua: review: http://github.com/fperrad/lua/commit/da​d6c3064d9c4e11eec1ac552d02828d8c18822c
10:31 bacek particle: ping
10:33 payload1 joined #parrot
10:51 quek joined #parrot
10:52 kid51 joined #parrot
11:17 dalek TT #998 closed by moritz++: Recent parrot changes cause lots of Rakudo spectests to abort with status ...
11:21 mberends joined #parrot
11:38 iblechbot joined #parrot
11:42 mikehh_ joined #parrot
11:45 mikehh joined #parrot
11:46 HG` joined #parrot
11:46 whiteknight joined #parrot
11:50 whiteknight all the smoke reports from overnight appear to be coming in clean
11:50 whiteknight probably the first time I've been able to say that since 1.5.0 landed
11:58 dalek lua: 256fc8a | fperrad++ | t/lua- (2 files):
11:58 dalek lua: fix case
11:58 dalek lua: review: http://github.com/fperrad/lua/commit/25​6fc8aa3a95b881d3c515988ff21e04b101355a
11:58 dalek lua: f8c39da | fperrad++ | .gitignore:
11:58 dalek lua: ignore *.tar.gz
11:58 payload joined #parrot
11:58 dalek lua: review: http://github.com/fperrad/lua/commit/f8​c39da5f560099d46f07d4e2a1da8b0efd9e124
12:12 HG` joined #parrot
12:22 payload joined #parrot
12:28 dalek lua: 7f8bb5d | fperrad++ | config/makefiles/root.in:
12:28 dalek lua: fix on linux (upload on Smolder)
12:28 dalek lua: review: http://github.com/fperrad/lua/commit/7f​8bb5d8bb57ef53d5a4a5725b751a70612da3c4
12:34 payload1 joined #parrot
12:51 tetragon joined #parrot
12:52 dalek lua: 15fc384 | fperrad++ | config/makefiles/root.in:
12:52 dalek lua: send Parrot revision to Smolder
12:52 dalek lua: review: http://github.com/fperrad/lua/commit/15​fc38472484b7a2db549d04cee4256335e319aa
13:02 ruoso joined #parrot
13:10 dalek parrot: r41267 | particle++ | tags/RELEASE_1_6_0:
13:10 dalek parrot: tagged release 1.6.0
13:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41267/
13:11 dalek lua: 956b163 | fperrad++ | config/makefiles/root.in:
13:11 dalek lua: send comments to Smolder
13:11 dalek lua: review: http://github.com/fperrad/lua/commit/95​6b1638873d269e3df78ec4a0439d132ef70cf4
13:12 bacek HA! TIME TO BREAK PARROT!!!
13:12 bacek particle++
13:19 whiteknight particle++ indeed!
13:22 dalek rakudo: c22d81b | moritz++ | build/PARROT_REVISION:
13:22 dalek rakudo: bump PARROT_REVISION to the 1.6.0 release
13:22 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​22d81b7e1c2314835d16c0c9895152aa4c2b05a
13:26 dalek website: particle++ | Parrot 1.6.0, "half-pie" Released!
13:26 dalek website: http://www.parrot.org/news/pa​rrot-1.6.0-half-pie-released
13:27 dalek tracwiki: v8 | mikehh++ | BuildWarnings
13:27 dalek tracwiki: latest warnings at r41266</a>
13:27 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Bu​ildWarnings?version=8&amp;action=diff
13:34 ttbot Parrot trunk/ r41268 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/96053.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
13:34 Topic for #parrotis now  http://www.parrot.org | Parrot 1.6.0 "half-pie" released: feel free to tear out the JIT!
13:35 dalek parrot: r41268 | bacek++ | trunk/src/pmc/lexinfo.pmc:
13:35 dalek parrot: [cage] Simplify LexInfo PMC to use ability of Hash PMC for storing INTVALs natively.
13:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41268/
13:35 bacek sigh...
13:35 jonathan particle: Only....half a pie?
13:35 particle 8/5
13:35 purl 1.6
13:36 particle rakudo: say pi / 2
13:36 polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
13:36 particle ouch
13:38 bacek 3.1415926/2
13:38 purl 1.5707963
13:38 bacek Looks about all right :)
13:39 ash_ joined #parrot
13:41 bacek bah... Can I have working PCC?
13:41 whiteknight NO PCC FOR YOU!
13:42 bacek whiteknight: not funny... Already not funny. Check latest taptinder failure...
13:42 whiteknight taptinder?
13:42 purl i think taptinder is software development tool - http://taptinder.org . For Parrot project running on http://tt.perl6.cz/ and reporting build failures to #parrot channel as ttbot.
13:47 dalek tracwiki: v97 | particle++ | WikiStart
13:47 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​WikiStart?version=97&amp;action=diff
13:47 dalek parrot: r41269 | bacek++ | trunk/src/pmc/hash.pmc:
13:47 dalek parrot: [cage] Improve error reporting in Hash.set_value_type
13:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41269/
13:50 ttbot Parrot trunk/ r41269 i386-linux-thread-multi make error http://tt.ro.vutbr.cz/file/cmdout/96100.txt ( http://tt.ro.vutbr.cz//buil​dstatus/pr-Parrot/rp-trunk/ )
13:51 bacek o shi...
13:51 bacek it's... impossible.
13:52 bacek whiteknight: can you rebuild latest parrot on amd64?
13:52 whiteknight bacek, I will need a few minutes (my dev computer is away)
13:53 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"...
13:55 whiteknight brb
13:57 Whiteknight joined #parrot
13:58 bacek Whiteknight is left, long live Whiteknight :)
13:59 bacek NotFound: -100 is enum_type_INTVAL...
14:00 bacek NotFound: which is definitely supported.
14:02 bacek NotFound: hash.pmc, line 536
14:05 quek left #parrot
14:05 NotFound Just cast to INTVAL
14:05 Whiteknight bacek: Fails a bunch of tests
14:05 NotFound In src/pmc/lexinfo.pmc:67
14:06 NotFound Remember, variant argument list is completely type unsafe
14:06 bacek NotFound: ah! Gotcha.
14:08 bacek NotFound, Whiteknight can you test next one? :)
14:09 dalek parrot: r41270 | bacek++ | trunk/src/pmc/lexinfo.pmc:
14:09 dalek parrot: [cage] Explicitly cast enum to INTVAL. NotFound++
14:09 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41270/
14:10 bacek r41270
14:10 ZeroForce joined #parrot
14:14 NotFound bacek: make test pass
14:15 bacek NotFound++, mj41++
14:16 AndyA joined #parrot
14:16 NotFound There is no better way to set type than calling a method?
14:18 nathanmccauley joined #parrot
14:18 bacek NotFound: I couldn't find appropriate VTABLE for it. And I don't want to break encapsulation...
14:25 NotFound Mmm... adding init_pmc to hash may be a simple and fast solution.
14:28 bacek May be. But currently, afaiu, all LexInfos created during compile time in IMCC. So speed is not big concern.
14:30 bacek Ok. Serious question.
14:31 bacek Should we start auction for privilege to kill current JIT? :)
14:44 Psyche^ joined #parrot
14:46 dalek parrot: r41271 | bacek++ | trunk/src/dynpmc/dynlexpad.pmc:
14:46 dalek parrot: [cage] Fix documentation bit in DynLexPad.
14:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41271/
14:50 donaldh joined #parrot
14:51 masak how can the new profiling runcore be used in conjunction with Rakudo?
14:52 bacek masak: parrot -R profiling perl6.pbc -e 'say "Hello"'
14:53 theory joined #parrot
14:57 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.
14:58 * bacek mast sleep
14:58 masak bacek: thanks. um, should it hang indefinitely, or should it actually do something?
14:58 * bacek must sleep
14:58 purl $bacek->sleep(8 * 3600);
14:59 masak oh wait. it produced something!
14:59 jonathan masak: Maybe you didn't wai....oh. :-)
15:00 bacek masak: It should create parrot.pprof.\d+ file. Which can be processed by pprof2cg.pl to obtain callgring-compatible output.
15:00 bacek which can be used by kcachegrind for visualisation
15:00 masak right. it told me when it was done.
15:01 masak it produced an enormous file!
15:01 masak all I did was say "Hello"...
15:02 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. ;-)
15:02 masak ah.
15:02 jonathan Sig creation is a pig atm.
15:02 masak oink.
15:03 bacek http://img-fotki.yandex.ru/get/37​00/bacek.d/0_2a03c_d9b8a479_orig
15:03 jonathan masak: Yeah, but bacon is The Awesome.
15:04 masak bacek: nice!
15:04 bacek masak: it's not me, it's cotto++ :)
15:04 kjeldahl joined #parrot
15:05 masak cotto++
15:06 NotFound Can someone help me to make mysqltest.p6 work with recent rakudo?
15:06 NotFound Unknown import list expression in use at line 24, near ";\n\nsay 'my"
15:07 dalek parrot: r41272 | NotFound++ | trunk/examples/nci/mysqltest.p6:
15:07 dalek parrot: [examples] fix "use" syntax in perl6 mysql example
15:07 NotFound Uh, I got it.
15:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41272/
15:08 NotFound elements() not implemented in class 'Mysql;Row'
15:10 dalek parrot: r41273 | NotFound++ | trunk/examples/nci/mysqltest.p6:
15:10 dalek parrot: [examples] fix typo from r41272
15:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41273/
15:11 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 #parrot
15:17 dalek cardinal: 46b861f | treed++ | Rakefile:
15:17 dalek cardinal: Move the Parrot Revision to its proper place. (jdv79++)
15:17 dalek cardinal: review: http://github.com/cardinal/cardinal/commit​/46b861fe0ccf90d425b58b72c5d1a09db69d7629
15:20 barney joined #parrot
15:20 jdv79 jonathan: maybe you have a moment to look at my small patch: http://nopaste.com/p/azNphZsii
15:23 jonathan jdv79: Looks sane at first glance, moritz is a better person to review/comment/apply this.
15:23 jonathan moritz: ^^
15:33 payload joined #parrot
15:34 jdv79 jonathan: thanks.
15:35 jdv79 moritz: could you take a look at my patch?
15:36 cotto bacek_at_work, thanks.
15:36 pmichaud good morning, #parrot
15:37 cotto bacek_at_work, good idea
15:38 pmichaud jdv79: (looking at patch) -- does your patch still work on systems that don't have TAP::Harness ?
15:40 nathanmccauley joined #parrot
15:41 jdv79 i didn't try it but it should.
15:43 NotFound Done! mysqltest.p6 now works with rakudo :)
15:45 moritz jdv79: I'll test it later on, and apply it if appropriate
15:45 moritz (unless pmichaud beats me to it)
15:45 dalek parrot: r41274 | NotFound++ | trunk/examples/nci (2 files):
15:45 dalek parrot: [examples] MySql: add 'elements' vtable overrides to result objects and quote vtable override names
15:45 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41274/
15:46 jdv79 ok, thanks!
15:49 mokurai joined #parrot
16:01 particle NotFound: you have one too many colons in r41272
16:01 particle it's use Mysql:from<parrot>;
16:01 particle nm, caught up on email :)
16:02 NotFound particle: yes, I accidentaly added it and don't retested
16:03 theory joined #parrot
16:04 donaldh left #parrot
16:06 darbelo joined #parrot
16:08 dalek TT #1010 created by flh++: Fix FixedBooleanArray "fill" method, rewrite tests in PIR
16:17 ZeroForce joined #parrot
16:20 pmichaud particle++ # half pie release
16:22 NotFound particle++
16:26 Whiteknight particle++ # For having the guts to release a "stable" version after the month we've had!
16:28 kjeldahl joined #parrot
16:35 skv joined #parrot
16:50 cotto_work joined #parrot
16:52 cotto_work hio
16:53 darbelo So, is the JIT dead yet?
16:54 moritz don't think so
16:56 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 cotto_work I'm happy.  it needs to go away.
16:57 dalek parrot: r41275 | NotFound++ | trunk/src/pmc/fixedbooleanarray.pmc:
16:57 dalek parrot: [pmc] cleaning and refactoring + fix from TT #1010 flh++
16:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41275/
17:04 smash joined #parrot
17:04 smash hello everyone
17:07 flh joined #parrot
17:14 ash_ cotto_work: so, is the majority of testing going into the LLVM's JIT system?
17:14 ash_ i get that impression from the mailing list
17:15 cotto_work ash_, Whiteknight would be better to ask about that
17:15 payload1 joined #parrot
17:16 ash_ okay, i saw one of his blog posts about it
17:17 Whiteknight what do you mean by "majority of testing">
17:17 Whiteknight ?
17:18 ash_ for a potential JIT replacement
17:18 pmichaud "Kill the JIT!  Kill the JIT!"
17:18 cotto_work I think he's asking if we'll focus most of our energy figuring out how to make llvm work as parrot'
17:18 cotto_work 's jit
17:19 * 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
17:19 ash_ lol
17:19 ash_ wa'scually wabbit
17:20 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:21 cotto_work rebootening tiem
17:21 cotto_work (stupid windows)
17:21 ash_ virtual machines are nice
17:23 ash_ well, i have to go, whiteknight good luck with the llvm stuff
17:24 desertm4x joined #parrot
17:26 cotto_work joined #parrot
17:27 Whiteknight thanks!
17:27 dalek rakudo: 1c35342 | pmichaud++ | docs/spectest-progress.csv:
17:27 dalek rakudo: spectest-progress.csv update: 436 files, 15500 (71.5% of 21679) pass, 0 fail
17:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​c353426c2359d0005653b2221d9d789e2eb8b50
17:29 darbelo hmm, the exec core looks like it depends on JIT, is it on the chopping block too?
17:31 Whiteknight darbelo: yes, it's one and the same
17:31 * darbelo likes ripping out stuff.
17:32 Whiteknight we cant rip out the entire JIT, we need to keep the NCI thunk generator
17:33 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.
17:34 dalek parrot: r41276 | NotFound++ | trunk/t/pmc/fixedbooleanarray.t:
17:34 dalek parrot: [t] convert FBA tests to pir, TT #1010, flh++
17:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41276/
17:34 particle start a branch for the jit removal
17:35 Whiteknight NotFound: I was thinking the exact same thing!
17:35 darbelo Looks easy enough to disable in trunk before rip-out time.
17:35 Whiteknight although instead of inline assembly, we should use a separate assembly file
17:35 darbelo I was thinking: Disable in trunk -> Branch -> Kill in branch.
17:36 * darbelo goes afk.
17:36 particle order of the first two doesn't matter
17:39 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
17:39 NotFound Oh, nice then
17:42 particle fun for cross-compiling.
17:42 uniejo joined #parrot
17:46 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
17:54 dalek rakudo: 42ff49e | pmichaud++ | docs/announce/2009-09:
17:54 dalek rakudo: Initial draft of 2009-09 release announcement.
17:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​2ff49e7d69d0bd93002eb37bc6c85f8566e462c
17:54 dalek rakudo: 48b5d4d | pmichaud++ | docs/ChangeLog:
17:54 dalek rakudo: Some ChangeLog updates.
17:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​8b5d4d63e02a51df1e8d724df6a90b4edb9ef62
17:56 MoC joined #parrot
18:06 davidfetter joined #parrot
18:09 gaz joined #parrot
18:13 mikehh_ joined #parrot
18:15 chromatic joined #parrot
18:16 dalek parrot: r41277 | darbelo++ | branches/kill_jit:
18:16 dalek parrot: [kill jit] Create a branch for the upcoming removal of the current JIT code.
18:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41277/
18:18 cotto_work #ps in 12
18:18 darbelo clock?
18:18 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 #parrot
18:22 Whiteknight NotFound: inline assembly should be good too then
18:31 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 /
18:31 Whiteknight #ps time
18:40 dalek TT #597 closed by chromatic++: review objects PDD
18:48 joeri joined #parrot
18:48 dalek TT #1011 created by Util++: Packfile PMCs cannot create a bytecode file from scratch
18:52 duk3leto who do I talk to about getting on the planet parrot blog aggregator again?
18:53 darbelo duk3leto: Coke, I think.
18:56 Topic for #parrotis now  http://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:59 pmichaud can the "nsentry" branch be removed?
19:03 dalek parrot: r41278 | pmichaud++ | branches/isafast:
19:03 dalek parrot: Remove obsolete branch.
19:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41278/
19:04 particle purl: warnock cotto
19:04 purl particle: i'm not following you...
19:04 pmichaud cotto_work: istr that allison++ has already indicated that we should not have separate pmcs like that
19:05 cotto_work ok.  I'll dig around.
19:05 dalek TT #504 closed by Util++: packfile pmcs
19:05 dalek TT #167 closed by pmichaud++: Cannot relocate source tree after compilation
19:05 Util cotto_work: you listed 'HashIterator' twice. Was this intentional?
19:06 cotto_work nope
19:07 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
19:11 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 Util However, couldn't sub-classes of Hash just use the base HashIterator objects as their iterators?
19:11 Util (Caution! Util is new to the topic)
19:13 pmichaud there used to be a single Iterator class for handling various types of aggregates
19:14 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
19:15 NotFound A generic Iterator class is pointless, unless is just a role or abstract class.
19:16 cotto_work I'm just figuring out if I'll need to write some more supporting PMCs for Pipp when the time comes.
19:18 chromatic Hm.  That shouldn't have gone to trunk.
19:18 dalek parrot: r41279 | chromatic++ | trunk (12 files):
19:18 dalek parrot: [runcore] Removed JIT runcore.  Disabled it in the Makefile, leaving testj and
19:18 dalek parrot: the like as targets which fall back to the standard testing target.  All tests
19:18 dalek parrot: pass, but now we have a lot of test SKIPs and TODOs to excise.
19:18 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41279/
19:20 chromatic Anyone want to panic over that?  Should I revert and commit to the branch instead?
19:21 duk3leto chromatic: meh. Is anything currently blowing up because it got axed?
19:21 * moritz keeps calm
19:21 * duk3leto helps moritz keep calm
19:21 darbelo I'm fine with that. Do I kill the branch?
19:22 pmichaud no panic here.
19:22 duk3leto does trunk build and pass "make test" ?
19:22 NotFound Kill Jit!
19:22 chromatic It should.  If it doesn't... I did something wrong.
19:23 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:24 particle sigh
19:24 NotFound If Darwin is not well adapted, evolve or extinct!
19:24 particle well, if there's a time to go unstable, it's release+5hours
19:25 dalek tracwiki: v13 | chromatic++ | JITRewrite
19:25 dalek tracwiki: https://trac.parrot.org/parrot/wiki/J​ITRewrite?version=13&amp;action=diff
19:26 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.
19:28 * darbelo is running testj on amd64, just to say he did.
19:28 * duk3leto is building and testing on freebsd and darwin-ppc
19:30 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.
19:31 chromatic Same with the cgp-jit and switch-jit options.
19:31 * particle rechecks the diff
19:31 chromatic Look in the compilers/imcc/main.c chunk.
19:31 particle -    "    -R --runcore slow|bounds|fast|jit|cgoto|cgp|cgp-jit\n"
19:31 particle -    "    -R --runcore switch|switch-jit|trace|profiling|gcdebug\n"
19:31 particle +    "    -R --runcore slow|bounds|fast|cgoto|cgp\n"
19:31 particle +    "    -R --runcore switch|trace|profiling|gcdebug\n"
19:31 particle
19:32 chromatic That's just a docstring.  We don't advertise them, but we do support them.
19:33 particle yuck.
19:33 particle we've made our documentation worse, in order to make you a better, more informed programmer.
19:34 chromatic In what way does that make the documentation worse?
19:35 mikehh_ joined #parrot
19:35 moritz we don't document all available options anymore
19:35 iblechbot joined #parrot
19:35 chromatic I can put those options back in the documentation, but those options don't *do* anything.
19:35 chromatic -Rswitch-jit is the same as -Rswitch, for example.
19:35 moritz I'm fine either way
19:36 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.
19:36 NotFound We must also add some Easter Egss.
19:37 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
19:37 purl You won't be after this episode of Soap!
19:37 NotFound moritz: I'll add a --confuse option, then.
19:37 NotFound That autodocuments it.
19:38 moritz YaY
19:41 chromatic I'll put a note in docs/running.pod; the --help output suggests looking there for more.
19:41 particle chromatic++
19:41 moritz chromatic++ indeed
19:45 chromatic C'mon dalek, get on the trolley.
19:46 slavorg joined #parrot
19:47 dalek parrot: r41280 | chromatic++ | trunk (3 files):
19:47 dalek parrot: [docs] Updated references to JIT cores to note that the existing runcore
19:47 dalek parrot: switches are now aliases for their non-JIT counterparts.  Mapped -j in the test
19:47 dalek parrot: harness to the fast core.
19:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41280/
19:51 dalek parrot: r41281 | darbelo++ | branches/kill_jit:
19:51 dalek parrot: [kill jit] Remove the branch, chromatic++ killed the jit in trunk.
19:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41281/
19:51 chromatic I wouldn't say I killed it in trunk; we still have a lot of code to remove.
19:51 chromatic I switched to the wrong branch with git-svn but managed not to break trunk.
19:53 darbelo Hm. I'll recreate the branch then.
19:54 duk3leto r41279 passed "make test" on darwin-ppc
19:55 chromatic +1 for getting the runcore refactor done first.
19:55 chromatic darbelo, the branch will be helpful for making sure we keep the JIT NCI thunk code while getting rid of the rest.
19:57 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.
19:58 dalek parrot: r41282 | darbelo++ | branches/kill_jit:
19:58 dalek parrot: [kill jit] Recreate the branch for the upcoming removal of the current JIT code. I jumped the gun on the removal.
19:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41282/
20:05 dalek tracwiki: v17 | chromatic++ | git-svn-tutorial
20:05 dalek tracwiki: https://trac.parrot.org/parrot/wiki/git-​svn-tutorial?version=17&amp;action=diff
20:06 chromatic darbelo, we can't remove Parrot_build_call_func and its dependencies, but everything else is fair game.
20:07 darbelo Ok, I'll dive in later today.
20:08 mikehh joined #parrot
20:09 mikehh All tests PASS (pre/post-config, smoke, nqp_test, fulltest) at r41279 - Ubuntu 9.04 amd64
20:09 theory joined #parrot
20:33 duk3leto r41280 passes "make test" on freebsd
20:38 mikehh rakudo (48b5d5d) builds on parrot r41279 - make test / make spectest (up to 28245) PASS - Ubuntu 9.04 amd64
20:38 mikehh rakudo - t/spec/S03-operators/arith.rakudo - TODO passed:   120, 131-132
20:38 duk3leto r41279 FAILS "make fulltest" in a git-svn checkout on darwin. Looks like those tests still think that git is svk :http://gist.github.com/187628
20:42 cotto_work joined #parrot
20:48 sri joined #parrot
20:58 chromatic darbelo, I think we need to remove PIC first.
20:59 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
20:59 chromatic Polymorphic Inline Cache
20:59 purl Polymorphic Inline Cache is the meaning I refer to
21:00 szbalint purl: Polymorphic Inline Cache is also not dead, just restin', beautiful plumage eh
21:00 purl okay, szbalint.
21:05 Whiteknight joined #parrot
21:06 darbelo PIC sounds like a rather premature optimization, from what I can see in that file.
21:07 Whiteknight PIC is actually a very useful optimization strategy for dynamic language VMs.
21:07 Whiteknight Parrot's implementation of it is, however, very premature
21:09 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
21:11 darbelo Which means somebody is going to have to put something like it back in on the next design iteration :)
21:12 chromatic Or a better approach.
21:12 purl a better approach is, like, to make it easier to install modules
21:14 ZeroForce joined #parrot
21:39 darbelo The symbols exported by config.pbc and relatives have to stay there until the next deprecation point, don't they?
21:40 cotto_work sounds like an internal implementation detail, no?
21:40 chromatic I'm not sure they're in our deprecation policy.
21:41 darbelo They can break peoples makefiles.
21:54 dalek rakudo: 27dcc8d | moritz++ | docs/announce/2009-09:
21:54 dalek rakudo: mention context vars in release announcement
21:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​7dcc8d2875904494529cc752b9e5fdf62eaf1fd
21:54 mokurai joined #parrot
21:54 dalek rakudo: c3d93dc | moritz++ | docs/announce/2009-09:
21:54 dalek rakudo: mark deprecation notices as being a thing of the past
21:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​3d93dc6b63de8650090fc1b2b6dfe6d6c284319
21:54 dalek rakudo: 9a61441 | moritz++ | src/builtins/any-num.pir:
21:54 dalek rakudo: sub int() is gone (as announced in the 2009-08 release), give a helpful error message instead
21:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​a61441ec3281f0306f88f67d47eeee5a3ae35f4
21:54 darbelo I guess I'll leave them in. Just in case.
21:57 dalek parrot: r41283 | darbelo++ | branches/kill_jit/config/auto/jit.pm:
21:57 dalek parrot: Alter the auto::jit Configure step to treat all platforms as jit-incapable and exec-incapable.
21:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41283/
21:57 joeri left #parrot
22:02 chromatic r41283 will render JIT call frames useless....
22:02 chromatic ... unless we modify the checks to build call frames with the JIT.
22:03 chromatic see src/nci.c
22:03 bacek joined #parrot
22:08 darbelo How did platforms with no JIT handle this?
22:09 dalek TT #1012 created by dukeleto++: Add http://leto.net/parrot.xml to Planet Parrot
22:10 chromatic NCI builds a static list of thunks.
22:13 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 #parrot
22:15 Whiteknight darbelo: I think you are right. CAN_BUILD_CALL_FRAMES is only defined when I386 is defined
22:17 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:24 chromatic CAN_BUILD_CALL_FRAMES is a huge memory and startup help, at least for x86-32.
22:25 darbelo I'm looking at the configure probes now, looking for something I can use in place of HAS_JIT
22:31 bacek Good morning
22:31 purl And good moroning to you, bacek.
22:32 patspam joined #parrot
22:33 bacek cotto_work: We need HashIteratorKey because of current Hash iterating practice...
22:35 bacek cotto_work: it = iter hash; $P0 = shift it; $P1 = hash[$P0]
22:36 mikehh joined #parrot
22:39 cotto_work bacek, but that's not the long-term intent, but more of a bandaid until we can get something better?
22:40 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.
22:41 mikehh we have moved away from a clean design
22:41 snarkyboojum joined #parrot
22:45 Whiteknight mikehh: exactly!
22:45 purl exactly! is it not awesome?
22:46 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 #parrot
22:51 kid51 joined #parrot
22:51 hercynium joined #parrot
22:52 * kid51 is famous.  Disenfranchised, but famous:  http://tinyurl.com/r2mzwa
22:54 chromatic You changed your name to Robert Livingston and gained weight?
23:01 darbelo tools/build/nativecall.pl is supposed to be run manually, right?
23:01 bacek darbelo: it's invoked from make
23:02 bacek darbelo: make src/nic.c
23:02 tetragon joined #parrot
23:03 bacek src/nci.c of course
23:07 Whiteknight nci.c is so evil
23:07 Whiteknight I hate looking in here
23:08 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 #parrot
23:08 cotto_work you must kill the evil at its source
23:09 KatrinaTheLamia joined #parrot
23:09 dalek parrot: r41284 | darbelo++ | branches/kill_jit (2 files):
23:09 dalek parrot: 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 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41284/
23:10 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.
23:11 chromatic Will do.
23:12 darbelo I *think* that's all you need to get JIT frames going on i386. I could be wrong.
23:20 darbelo 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:21 Whiteknight darbelo: because the removal work never finished
23:21 chromatic It's proven difficult.
23:22 * Whiteknight is consistently coretesting in less then 37s tonight
23:22 Whiteknight 36.2 are the fastest
23:22 darbelo It's getting in the way of kill_jit too.
23:24 Whiteknight rip it out then
23:24 Whiteknight Allison had a list somewhere of functions she thought needed to be saved from that file
23:25 cotto_work that's what version control is for!
23:25 allison IIRC, they needed to be saved because the jit depended on them
23:25 allison there is a ticket for it
23:26 darbelo I guess they don't need saving then ;)
23:26 darbelo I'll look for the ticket before killing time.
23:28 Whiteknight oh hi allison, I didn't see you there
23:28 Whiteknight how was the flight?
23:28 allison good so far
23:28 allison I'm about to hop on the next leg
23:31 chromatic And boy are your feet tired.
23:32 Coke only 2.5 weeks until leeds. eek.
23:39 Whiteknight chromatic: I would like to hear more about your ideas for Sub-based exception handlers
23:39 Whiteknight knowing what things are going to look like will help me get started implementing it
23:40 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:41 chromatic I don't think that necessarily enforces the use of Sub-based handlers.
23:41 chromatic We need 1) some syntax for identifying the end of a handler, from the PIR/POST level
23:41 chromatic 2) some way of identifying within an inferior runloop that it's over
23:41 Whiteknight chromatic: It's not just "finished". I would think a handler would have to either resume or rethrow
23:41 chromatic 3) some way of resuming to a superior runloop
23:42 chromatic 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
23:42 chromatic There's another case more complex.
23:42 Whiteknight and then normal C function returns recurse us back up to the outer runloop (or exit the program)
23:42 chromatic Catch an exception but ignore it.
23:43 Whiteknight well that's just a resume then
23:43 Whiteknight resume without any processing
23:45 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 chromatic left #parrot
23:45 chromatic joined #parrot
23:45 Whiteknight right, so the end of a handler will either be "resume <continuation>" or "rethrow <exception>"
23:46 Whiteknight And I was thinking we could mark a handler with :handler, or :handler(handles)
23:47 Whiteknight but then again, we could do something like what we do with closures, if we want handlers to be lexically scoped
23:47 Whiteknight $P0 = newhandler $P1
23:47 Whiteknight which would clone $P1, capture_lex on it, and register it as a handler
23:47 duk3leto_ joined #parrot
23:47 pmichaud somewhat related, possibly -- I'd like to have a way to be able to "force a return" from any context
23:47 pmichaud (and roll up the intermediate contexts)
23:48 pmichaud (and invoke any exit handlers registered for the intermediate contexts)
23:48 chromatic Sounds like Lisp's stack-unwind.
23:48 pmichaud yes, very much so
23:49 * Whiteknight would love to be able to use coroutines as exception handlers
23:49 Whiteknight or even be able to define an invocant/method pair as a handler
23:49 pmichaud we need that (or something like it) in order to be able to implement LEAVE { ... } blocks in Perl 6
23:49 pmichaud and also  &block.leave
23:49 Whiteknight I don't remember what LEAVE does
23:50 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
23:51 dalek parrot: r41285 | darbelo++ | branches/kill_jit (5 files):
23:51 dalek parrot: HAS_JIT doesn't exist anymore. Remove dead code.
23:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41285/
23:52 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
23:53 pmichaud 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?)
23:53 Whiteknight but yeah, that wouldn't be too hard to do.
23:54 Whiteknight I also want something like an array interface for Contexts, so you can iterate over registers
23:56 Coke (ticket for them) (should be in DEPRECATED.pod)
23:56 Coke LEAVE is also like java's finally.
23:58 Whiteknight pmichaud: what should it set the return arguments to?
23:58 Whiteknight that's the only part of what you said that I'm not really sure how to do correctly

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

Parrot | source cross referenced