Camelia, the Perl 6 bug

IRC log for #parrot, 2009-03-16

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 AndyA joined #parrot
00:31 Eevee joined #parrot
00:48 rob joined #parrot
01:31 dalek parrot: r37465 | allison++ | trunk/DEPRECATED.pod:
01:31 dalek parrot: [cage] Add deprecation notice for 'Parrot_add_library_path'.
01:32 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37465/
01:49 AndyA joined #parrot
01:51 dalek tracwiki: v135 | allison++ | ParrotRoadmap
01:51 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=135&action=diff
01:51 shorten dalek's url is at http://xrl.us/bekdri
02:10 Woody4286 joined #parrot
02:32 Woody4286 joined #parrot
02:59 bacek joined #parrot
03:24 zpmorgan joined #parrot
03:28 zpmorgan when pasting PIR into parrot through the terminal, using "parrot -", it requires two ^D's to tell it to compile
03:39 dalek tracwiki: v9 | jkeenan++ | Parrot%20Virtual%20Machine%20Workshop%202009
03:39 dalek tracwiki: Better hyperlink display
03:39 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​Parrot%20Virtual%20Machine%20Worksho​p%202009?version=9&action=diff
03:39 shorten dalek's url is at http://xrl.us/bekd9i
03:42 janus joined #parrot
04:04 Debolaz joined #parrot
04:05 skv joined #parrot
04:07 Theory joined #parrot
04:07 zpmorgan It's great that Warnock’s Dilemma is in parrot's glossary
04:07 zpmorgan I'm guessing it's not important
04:08 GeJ joined #parrot
04:13 skv joined #parrot
04:13 GeJ joined #parrot
04:18 slavorg joined #parrot
04:23 Tene joined #parrot
04:26 aagam joined #parrot
04:26 aagam left #parrot
04:40 Debolaz joined #parrot
05:36 Woody4286 joined #parrot
05:41 samlh joined #parrot
05:42 dalek parrot: r37466 | cotto++ | trunk (3 files):
05:42 dalek parrot: [docs] remove some references to examples/io and remove a warning from make html
05:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37466/
06:03 tuxdna joined #parrot
06:17 dalek parrot: r37467 | cotto++ | trunk/DEPRECATED.pod:
06:17 dalek parrot: [docs] add deprecation notice about Parrot_new_INTVAL_hash
06:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37467/
07:07 dalek parrot: r37468 | allison++ | trunk/ports/ubuntu (3 files):
07:07 dalek parrot: [ubuntu] Some things about Ubuntu packaging are just different. Storing
07:07 dalek parrot: unique files.
07:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37468/
07:10 uniejo joined #parrot
07:11 dalek parrot: r37469 | allison++ | trunk/ports/debian/control:
07:11 dalek parrot: [debian] Storing the generated file causes more problems than it solves.
07:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37469/
07:15 dalek parrot: r37470 | allison++ | trunk/ports/ubuntu/control.in:
07:15 dalek parrot: [ubuntu] Wants a more recent version of Standards.
07:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37470/
07:28 Eevee joined #parrot
07:38 dalek parrot: r37471 | allison++ | trunk/ports/ubuntu/control.in:
07:39 dalek parrot: [ubuntu] All Sections specify 'universe'.
07:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37471/
08:02 dalek parrot: r37472 | allison++ | trunk/ports/debian/changelog:
08:02 dalek parrot: [debian] Temporary date on changelog.
08:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37472/
08:06 dalek parrot: r37473 | allison++ | trunk/ports/debian/parrot-doc.docs:
08:06 dalek parrot: [debian] Generated doclist from testing tarball.
08:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37473/
08:14 masak joined #parrot
08:21 dalek parrot: r37474 | chromatic++ | trunk/src/jit/i386/jit_defs.c:
08:21 dalek parrot: [JIT] Removed special case code for set_i_p_ki and set_p_ki_i opcodes which
08:21 dalek parrot: poked into the guts of FixedIntegerArray PMCs directly, as the guts they poked
08:21 dalek parrot: into aren't the real guts of FIA PMCs anymore, now that they use real PMC
08:21 dalek parrot: attributes.  This fixes three JIT failures on x86 for me; now all tests pass.
08:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37474/
08:28 cotto chromatic++ for finding that
08:40 clunker3 joined #parrot
09:20 dalek parrot: r37475 | fperrad++ | trunk (5 files):
09:20 dalek parrot: [external languages] restore empty directory languages & makefiles/languages.in.
09:20 dalek parrot: When you work with several languages (or package them), building a parrot for each one is not the good way.
09:20 dalek parrot: The parrot infrastructure should be welcoming to external languages.
09:20 dalek parrot: The file languages.in lists all known languages.
09:20 dalek parrot: If the name 'languages' is a problem, it could be renamed.
09:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37475/
11:23 dalek lua: 7251868 | (Francois Perrad)++ | config/makefiles/root.in:
11:23 dalek lua: fix Makefile when no crypto
11:23 dalek lua: review: http://github.com/fperrad/lua/commit/72​51868b088107c15746ed5a67706089a36619da
11:23 shorten dalek's url is at http://xrl.us/bekfdo
11:33 ujwalic joined #parrot
12:05 korshak joined #parrot
12:06 dalek parrot: r37476 | rurban++ | trunk/ports/cygwin/parrot-1.0-1.cygport:
12:06 dalek parrot: [ports] mv 0.8.2 => 1.0
12:06 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37476/
12:06 korshak left #parrot
12:10 dalek parrot: r37477 | rurban++ | trunk/ports/cygwin/parrot-1.0-1.cygwin.patch:
12:10 dalek parrot: [ports] mv 0.8.2 => 1.0
12:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37477/
12:14 dalek parrot: r37478 | rurban++ | trunk/ports/cygwin/parrot-1.0-1.src.patch:
12:14 dalek parrot: [ports] mv 0.8.2 => 1.0
12:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37478/
12:20 DietCoke joined #parrot
12:26 dalek parrot: r37479 | rurban++ | trunk/ports/cygwin/libparrot1.hint:
12:26 dalek parrot: [ports] 0.8.2 => 1.0
12:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37479/
12:31 dalek parrot: r37480 | rurban++ | trunk/ports/cygwin (7 files):
12:31 dalek parrot: [ports] update cygwin release to 1.0 (not yet finished)
12:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37480/
12:35 dalek parrot: r37481 | rurban++ | trunk/ports/cygwin/parrot-1.0-1.src.patch:
12:35 dalek parrot: [ports] src patch not needed for 1.0, just 0.9.1
12:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37481/
12:36 donaldh joined #parrot
12:54 dalek lua: 58a5a8e | (Francois Perrad)++ | src/pmc/luauserdata.pmc:
12:54 dalek lua: disable finalizer for LuaUserData PMC
12:54 dalek lua: review: http://github.com/fperrad/lua/commit/58​a5a8e23cf59ebd1dfce330e103e19e600c2123
12:54 shorten dalek's url is at http://xrl.us/bekfn3
13:06 gryphon joined #parrot
13:21 korshak joined #parrot
13:40 skv_ joined #parrot
13:58 korshak left #parrot
14:08 Andy joined #parrot
14:21 skv joined #parrot
14:28 skv_ joined #parrot
14:35 rdice joined #parrot
14:38 skv_ joined #parrot
14:52 dalek parrot: r37482 | pmichaud++ | trunk/DEPRECATED.pod:
14:52 dalek parrot: Some PCT-related deprecations for 1.0.
14:52 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37482/
14:53 Tene joined #parrot
14:59 moritz so, tomorrow is the big release day?
15:00 Infinoid guess so
15:06 PacoLinux joined #parrot
15:20 donaldh joined #parrot
15:26 dalek parrot: r37483 | coke++ | trunk/DEPRECATED.pod:
15:26 dalek parrot: [docs] Try to standardize formatting/notifications.
15:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37483/
15:28 particle joined #parrot
15:43 Patterner joined #parrot
15:46 AndyA joined #parrot
15:57 dalek parrot: r37484 | pmichaud++ | trunk/docs/pdds/pdd20_lexical_vars.pod:
15:57 dalek parrot: Update pdd20 -- resolves TT #243
15:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37484/
16:10 Theory joined #parrot
16:10 dalek tracwiki: v136 | pmichaud++ | ParrotRoadmap
16:10 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=136&action=diff
16:10 shorten dalek's url is at http://xrl.us/bekgaj
16:15 dalek parrot: r37485 | pmichaud++ | trunk/docs/pdds/pdd26_ast.pod:
16:15 dalek parrot: [pct]:  Add documentation of subid attribute for PAST::Block to pdd26.
16:15 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37485/
16:16 dalek lua: 5087a18 | (Francois Perrad)++ | src/lib/luapackage.pir:
16:16 dalek lua: use .STAT_EXISTS
16:16 dalek lua: review: http://github.com/fperrad/lua/commit/50​87a182f615f7eb5b8e7323856440ad22fbbf6a
16:16 shorten dalek's url is at http://xrl.us/bekgbx
16:16 dalek lua: d71495b | (Francois Perrad)++ |  (2 files):
16:16 dalek lua: search pbc using load_bytecode instead of stat
16:16 dalek lua: review: http://github.com/fperrad/lua/commit/d7​1495b7f5c08e7a32bf44743f32f46a3b0a2631
16:17 shorten dalek's url is at http://xrl.us/bekgbz
16:17 dalek lua: 396ba52 | (Francois Perrad)++ |  (3 files):
16:17 dalek lua: Hack for Parrot 1.0, in order to load external library.
16:17 dalek lua: Currently, Parrot is not able to load languages/lua/library/*.pbc,
16:17 dalek lua: so libraries are put in library/lua/*.pbc
16:17 dalek lua: review: http://github.com/fperrad/lua/commit/39​6ba528e8c9bf41d578769719e79c4a24feb217
16:17 shorten dalek's url is at http://xrl.us/bekgb7
16:19 dalek tracwiki: v137 | pmichaud++ | ParrotRoadmap
16:19 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=137&action=diff
16:19 shorten dalek's url is at http://xrl.us/bekgch
16:25 mikehh joined #parrot
16:31 mikehh I am getting a codetest failure - t/codingstd/pod_syntax.t - examples/pir/io.pir - I think it is the final =cut in that file
16:31 mikehh it passes if I remove it - from r37466
16:32 mikehh all other tests pass - Kubuntu Intrepid i386
16:36 moritz podchecker says it's OK
16:37 mikehh yeah I know - try prove --verbose t/codingstd/pod_syntax.t
16:39 mikehh As I mentioned I think it is the final unmatched =cut
16:39 mikehh which podchecker seems to ignire
16:40 moritz mikehh: you're right
16:40 dalek parrot: r37486 | moritz++ | trunk/DEPRECATED.pod:
16:40 dalek parrot: fix some POD in DEPRECATED.pod (podchecker complained)
16:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37486/
16:40 moritz perldoc $file complains about it as well
16:44 Topic for #parrotis now Parrot 0.9.1 Released | http://parrot.org/ | 1 day to Parrot 1.0!
16:44 dalek parrot: r37487 | moritz++ | trunk/examples/pir/io.pir:
16:44 dalek parrot: [cage] POD fix by mikehh++ in io.pir
16:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37487/
16:55 gryphon joined #parrot
17:36 cognominal joined #parrot
17:37 bacek joined #parrot
17:51 Theory_ joined #parrot
18:06 Limbic_Region joined #parrot
18:16 dalek parrot: r37488 | allison++ | trunk (5 files):
18:16 dalek parrot: [cage] Reverting fperrad's r37475, as barney's addition of
18:16 dalek parrot: tools/dev/fetch_languages.pl is a superior solution. Ultimately, languages
18:16 dalek parrot: should be building from an installed Parrot instead of working in a languages/
18:16 dalek parrot: directory within a parrot build tree, or building parrot within their working
18:16 dalek parrot: directory. But, fetch_languages.pl is a reasonable step in the mean time.
18:16 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37488/
18:35 Coke_afk allison: ping
18:38 mikehh codetest fails - t/codingstd/pdd_format.t - pdd20_lexical_vars.pod has 1 lines > 78 chars:  35 - from r37484
18:39 allison Coke: pong
18:39 rurban joined #parrot
18:39 Coke allison: regarding deprecation notes: if there are any remaining marked "BEFORE 1.0", they should be switched to "eligible in 1.1" just before the release.
18:40 Coke (since that will mark their first ``official'' appearance.
18:40 allison Coke: okay, I'll add a step to the release manager guide
18:40 Coke allison: it's a one time thing.
18:40 Coke only coming up because we're doing our first prod release.
18:40 allison we won't be using "BEFORE 1.4"?
18:41 Coke "eligible in 1.1"
18:41 Coke (some of them are already "eligible in 1.5"
18:41 allison And then "eligible in 1.5", okay, no additional step
18:41 Coke right.
18:41 allison Coke: why are some of them "eligible in 1.5" now?
18:42 allison Coke: since, the notice will be in 1.0
18:42 Coke because pmichaud put them in for "in july 2009"
18:42 Coke so I made it consistent.
18:42 Coke Don't know why he wanted to skip a release
18:42 Coke s/skip/include/
18:42 allison mmmm... maybe he meant the changes would appear in the July 2009 release?
18:42 allison that is, would be made between 1.0 and 1.4?
18:43 Coke doubt it, because he used eligible in 1.1 elsewhere.
18:43 Coke pmichaud: ping.
18:44 mikehh test passes if I change "no LexInfo, no LexPad" at the end of the line to "no LexInfo/no LexPad"
18:45 allison Coke: if we don't hear from him, I'll change to "eligible in 1.1", just in case (because they are eligible then, even if he doesn't make the changes until 1.5)
18:45 Coke mikehh: or we just remove the extra leading spaces. fixed.
18:46 Coke allison: works for me.
18:46 Coke I am somewhat freaked out that we have a 353 line list of things we're deleting. =-)
18:47 allison Coke: :)
18:47 allison Coke: well, it's better than deleting them all now, and shipping with something that hasn't been well tested
18:47 rurban with VERSION  1.0 I get "Too few components to VERSION file contents: '1.0' (should be 3 or 4)! at lib/Parrot/BuildUtil.pm line 62"
18:47 Coke allison: some of those I think you already bumped until after 1.0 in the tickets; probably easiest just to update them en masse at this point; I doubt we're closing any more before tomorrow.
18:47 Coke rurban: see mailing list.
18:47 allison rurban: VERSION is 1.0.0, not 1.0
18:47 Coke (version is really 1.0.0)
18:48 Coke thanks for checking the release process. =-)
18:48 barney joined #parrot
18:48 allison Coke: the one I'm not sure about is the ATTR conversion, as cotto was making rapid progress on that
18:49 rurban Will the tarball also be parrot-1.0.0.tar.gz ?
18:49 allison rurban: yes
18:49 allison Coke: will go ahead and update all the others
18:49 Coke allison: danke.
18:51 * Coke tries to figure out if he can afford yapc this year.
18:51 Coke s/tries to/should/; as I'm actually working on work atm.
18:52 AndyA joined #parrot
18:52 ujwalic joined #parrot
18:53 ujwalic japhb: ping
18:53 dalek parrot: r37489 | coke++ | trunk/docs/pdds/pdd20_lexical_vars.pod:
18:53 dalek parrot: Fix coding standard test failure, reported by mikehh++
18:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37489/
18:53 korshak joined #parrot
18:53 Coke allison: I will try to respond to your language checklist for partcl, but I know trunk is broken wrt parrot right now; haven't even had a chance to examine your patches.
18:53 Coke but at this point, you shouldn't wait for me to play catchup.
18:54 allison Coke: the only question that's important is "any blockers"
18:54 Coke allison: I have no clue, I haven't touched partcl in over a month. =-)
18:54 allison Coke: that is, is there anything from Tcl that should stop us from shipping 1.0
18:54 allison Coke: so, that means "no blockers"
18:55 ujwalic Coke: build prob.
18:55 allison Coke: I mean, Tcl isn't tracking trunk anyway, right?
18:55 Coke yes.
18:55 Coke allison: it was working on trunk for a while.
18:55 Coke I know it doesn't now.
18:55 Coke ujwalic: with partcl? yah.
18:55 Coke but I can adjust partcl to fix that, probably, doesn't need parrot to worry about it.
18:55 Coke allison: I'll just reply to that email.
18:56 allison Coke: cool
18:58 dalek parrot: r37490 | rurban++ | trunk/ports/cygwin/parrot-1.0.0-1.cygwin:
18:58 dalek parrot: [ports] mv 1.0 1.0.0
18:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37490/
19:00 allison Coke: oh, and I compiled Tcl on trunk a few weeks ago when I was testing building from an installed Parrot, just needed a small patch
19:00 Coke allison: Saw the patches you sent; I'll probably apply those before I try to fix anything myself.
19:00 Coke will also be stealing rakudo's "build parrot for me" trick.
19:00 Coke should simplify things.
19:01 Coke hopefully i can get the folks that were interested in APL commit bits and hacking on things, too.
19:01 allison Coke: that'd be cool
19:03 dalek parrot: r37491 | rurban++ | trunk/ports/cygwin/parrot-1.0.0-1.cygport:
19:03 dalek parrot: [ports] mv 1.0 1.0.0
19:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37491/
19:03 japhb ujwalic: pong
19:03 ujwalic :)
19:04 ujwalic in glutcbDisplayFunc(PARROT_INTERP, PMC *sub) how are we passing first argument
19:04 ujwalic in *.pir we are only calling it with a sub ... glutDisplayFunc (draw)
19:05 japhb ujwalic: It's implicit, because of the signature.
19:05 Tene pmichaud: AST user docs are listed as "on track".  What have you done for that so far?
19:05 * japhb looking for spec ref
19:06 japhb ujwalic: all the signatures used are listed in runtime/parrot/library/OpenGL_funcs.pir
19:06 ujwalic ok
19:07 japhb ujwalic: src/call_list.txt has comments at the top that describe all the type meanings
19:07 japhb 'J' is under 'special stuff', and is an implicit pass of Parrot_Interp.
19:07 dalek tracwiki: v14 | allison++ | ChrootSetup
19:07 japhb ujwalic: make sense?
19:07 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=14&action=diff
19:07 shorten dalek's url is at http://xrl.us/bekg6e
19:07 dalek parrot: r37492 | rurban++ | trunk/ports/cygwin/parrot-1.0.0-1.cygwin.patch:
19:07 dalek parrot: [ports] fix wrong rename from r37490
19:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37492/
19:08 ujwalic japhb: yes
19:08 japhb excellent.  :-)
19:09 ujwalic which POD mentions about it ?
19:10 ujwalic "NCI conventions and definitions" does not mention it
19:10 japhb ujwalic: I think honestly the POD is (heavily) out of date WRT reality on this one.
19:10 ujwalic and "Example Callback" is not complete
19:10 ujwalic ok
19:11 japhb There was some talk a few months ago about improving it, but I think it went nowhere.
19:11 ujwalic i'll go through the 'C'  of code then ;)
19:12 rurban step gen::makefiles died during execution: Can't open languages/Makefile.tmp languages.in missing?
19:12 japhb Especially given the aborted discussion re: a more complete signature space (so that more different C calling conventions could be exposed to NCI -- right now, Parrot NCI only handles a small subset of that space)
19:12 dalek tracwiki: v15 | allison++ | ChrootSetup
19:12 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=15&action=diff
19:12 shorten dalek's url is at http://xrl.us/bekg65
19:12 japhb ujwalic: feel free to enter a Trac ticket with patch.  ;-)
19:13 ujwalic japhb: i'll try ... thanks
19:13 japhb np
19:15 Theory joined #parrot
19:15 rurban I need some dummy file in languages for the tarball to contain this dir
19:18 sjn pmichaud: ping
19:20 donaldh joined #parrot
19:21 allison rurban: none of the languages exist in the parrot repository anymore
19:22 rurban I know, but the tar will miss the dir languages then. I just fell over this. A tar misfeature
19:22 allison rurban: there is no dir languages/ anymore (perhaps I'm missing what you're getting at?)
19:23 sjn pmichaud: have you written the Rakudo #15 press release yet? could you send me a preview?
19:23 rurban ah, I see. svn up fixes it
19:24 ujwalic rurban: https://trac.parrot.org/parrot/changeset/37488
19:26 rurban parrot.spec also needs several updates. perl6 and languages needs to be removed
19:28 nopaste "rurban" at 93.82.93.200 pasted "parrot.spec 1.0.0" (73 lines) at http://nopaste.snit.ch/15889
19:32 ujwalic japhb: is  libray/OpenGL_funcs.pir  ==  library/OpenGL.pbc  ?
19:36 ujwalic japhb: got it :)
19:36 dalek tracwiki: v16 | allison++ | ChrootSetup
19:36 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=16&action=diff
19:36 dalek tracwiki: v17 | allison++ | ChrootSetup
19:36 dalek tracwiki: https://trac.parrot.org/parrot/wiki/C​hrootSetup?version=17&action=diff
19:36 shorten dalek's url is at http://xrl.us/bekhbu
19:36 shorten dalek's url is at http://xrl.us/bekhbw
19:38 rg joined #parrot
19:40 Tene allison: is docs/user/pir/exceptions.pod approximately what was wanted for pdd23 user docs?  I just committed another section.
19:41 Coke tene: you broke 'codetest'
19:41 dalek parrot: r37493 | tene++ | trunk/docs/user/pir/exceptions.pod:
19:41 Coke # /Users/coke/research/parrot/do​cs/user/pir/exceptions.pod:52: 274 cols
19:41 dalek parrot: Add more exceptions docs.
19:41 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37493/
19:41 Tene Coke: what's codetest?
19:42 Tene oh, I need linebreaks in the pod.
19:44 Coke 'make codetest'
19:44 Coke danke.
19:46 allison Tene: looking...
19:46 dalek parrot: r37494 | tene++ | trunk/docs/user/pir/exceptions.pod:
19:46 dalek parrot: Add line breaks for codetest.  Coke++
19:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37494/
19:48 allison Tene: looks great!
19:52 Tene Coke: better?
19:52 korshak left #parrot
19:52 rg tene: looks good. If you could put in two more things: 1. a note that exception handlers are run in the context of the throw statement (you'll remember it took me a long time to grasp that ;))
19:54 rg 2. that it's very easy to produce an infinite loop by throwing (or even just causing) an exception from with an exception handler and that you really want to be using the filters you described.
19:55 Coke (too easy. :|)
19:56 dalek parrot: r37495 | rurban++ | trunk/ports/cygwin (3 files):
19:56 dalek parrot: [ports] added README (again), rm cygwin.patch, updated deps and cygport
19:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37495/
19:56 rurban Should I remove ports/cygwin/README? It's rather large because it contains the whole package list and history
19:57 dalek pipp: 6f29413 | (Bernhard Schmalhofer)++ |  (4 files):
19:57 dalek pipp: Put *.pbc files into library/pipp_library
19:57 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/6f294132d8cd72dd4e26d6675c2ac58197aaf163
19:57 shorten dalek's url is at http://xrl.us/bekher
19:59 Tene rg: thank you
20:02 dalek pipp: 3b93228 | (Bernhard Schmalhofer)++ | .gitignore:
20:02 dalek pipp: Let git ignore pipp.pbc
20:02 dalek pipp: review: http://github.com/bschmalhofer/pipp/commit​/3b93228338c43e23632d7161301a6f3277867066
20:02 shorten dalek's url is at http://xrl.us/bekhfo
20:08 rurban what about src/thread.c:503 ? 'interp' is used uninitialized in this function
20:17 dalek parrot: r37496 | allison++ | trunk/DEPRECATED.pod:
20:17 dalek parrot: [cage] Update deprecation items listed as "BEFORE 1.0" to "eligible in 1.1".
20:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37496/
20:21 dalek parrot: r37497 | coke++ | trunk/t/examples/library.t:
20:21 dalek parrot: Skip PCRE test that can cause failures, with ticket.
20:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37497/
20:26 dalek parrot: r37498 | allison++ | trunk/lib/Parrot/Docs/HTMLPage.pm:
20:26 dalek parrot: [docs] Linking the Parrot logo in the html generated docs to www.parrot.org.
20:26 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37498/
20:28 rg rurban: i'm surprised that even compiles
20:29 rg seen cotto
20:29 purl cotto was last seen on #parrot 12 hours, 43 seconds ago, saying: chromatic++ for finding that
20:29 rurban I'm surpised that this passes the tests at all. with optimize interp would be random, with debugging just NULL.
20:30 dalek parrot: r37499 | allison++ | trunk/lib/Parrot/Docs/Section/Parrot.pm:
20:30 dalek parrot: [docs] Don't include the Examples link in the generated html TOC, because it
20:30 dalek parrot: doesn't display anything useful in HTML format.
20:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37499/
20:30 rg it looks like most of the code just ignores interp in that function. it'll probably only be used in case of some failure
20:32 rg and by function i mean VTABLE_get_pointer. the default just returns the second argument.
20:32 cotto rg, did you want something?
20:32 allison rurban: the ports directory never gets included in the tarball, so size isn't as much of a concern as usual, but if ports/cygwin/README isn't needed, it can be removed
20:32 bsdz joined #parrot
20:33 rg cotto: can you look at what rurban found: rurban: what about src/thread.c:503 ? 'interp' is used uninitialized in this function
20:33 rurban ok, so I leave it there. It might be useful to any fellow packager
20:33 cotto sure
20:34 rg it got introduced in r37195
20:34 rurban I get lots of failures when building in lndir'ed dirs now. worked before on cygwin-1.5. I think it's a cygwin-1.7 bug (still beta)
20:34 bsdz hi, anyone around who can give me any pointers to overriding valflags in PAST/Compiler.pir to assign Complex numbers like strings. Basically I need to set valflags['Complex']   = 's~*:e'
20:35 bsdz should I file a trac or is there some user stuff I can do in my grammar or actions?
20:35 cotto should I be looking at the current trunk or r37195
20:35 bsdz yes
20:35 cotto I'd guess the latter
20:35 rurban cotto: It's in trunk also
20:35 rg cotto: doesn't matter.  r37195 introduced the line in question and it hasn't changed since.
20:36 bsdz sorry crossed wires there
20:36 rurban It looks very broken but no tests fail. maybe we have no coverage there
20:37 rg rurban: like i said. the default just returns the second argument, so it might be hard to trigger.
20:38 cotto It looks like thread_func has some test coverage (112 calls as of r30881, which is the most recent make cover results I have)
20:39 rurban r30881 < r37195
20:40 cotto wow.  that is broken
20:40 cotto (gdb) p interp
20:40 cotto $1 = (Parrot_Interp) 0x25
20:40 rurban API change needed?
20:41 cotto nm.  it's sane in thread_func
20:42 cotto I see what you're getting at.
20:42 * cotto feels silly for missing the obvious
20:44 rurban At least we have found it one day before, not after
20:45 cotto yes
20:45 cotto rurban++ for catching that
20:45 Coke I'm intentionally skipping twip this week, btw.
20:48 allison bsdz: not quite sure what you're getting at, but sounds like a mailing list question might be in order
20:49 Tene rg: perhaps in a "Warnings" section at the end?
20:50 bsdz allison: i perhaps jumped the gun and already filed a trac. problem is when capturing strings holding complex numbers like "5i" or "10.5j". PCT does not quote them when passing to a Complex PMC.
20:50 rurban cotto: I even added it to ticket yesterday: TT #446
20:52 allison bsdz: a trac ticket is also good
20:52 bsdz allison: cool
20:52 rg tene: for point 2. sure. for point 1. you could just add a sentence to the first paragraph
20:54 Tene I also need a section on 'resume'.
20:54 Tene allison: what docs should I work on next?
20:55 allison Tene: docs to write or docs to review?
20:55 Tene allison: Um, either, I guess.  Which should I be doing?
20:57 allison Tene: from the roadmap, "user documentation, objects, pmc, dynops"
20:58 dalek parrot: r37500 | tene++ | trunk/docs/user/pir/exceptions.pod:
20:58 dalek parrot: [exceptions.pod]: Add a note about EHs running in the context of the corresponding throw.
20:58 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37500/
20:59 contingencyplan joined #parrot
21:00 allison Tene: looks like objects and pmcs are kind of covered from the other files in docs/user/pir...
21:01 cotto rurban, I have a fix that doesn't need an api change.  It's not terribly pretty, but it seems to work.
21:01 rurban as long as it works
21:01 purl well, as long as it works is all I need.. trying it now.
21:01 simonp joined #parrot
21:02 Tene allison: is there a plan for making exception types useful to user code (outside of control exceptions)?  Or do you expect that role to be taken care of by a hierarchy of exception classes eventually?
21:02 nopaste "cotto" at 96.26.202.243 pasted "fix for uninitialized interp bug" (14 lines) at http://nopaste.snit.ch/15890
21:03 cotto allison, is that patch ok to apply if make fulltest passes?
21:04 cotto (or make test.  I'm not sure if fulltest is passing anyway)
21:04 allison Tene: yes on useful to user code. are they not currently? or, more importantly how are they not currently? and let's fix it.
21:04 Tene allison: less runtime/parrot/include/except_types.pasm
21:04 allison cotto: looks good
21:04 purl O_O
21:04 simonp i was curious if the project had any abuse problem with the buildbot irc interface, i.e. anyone can force a build.
21:05 Tene Those don't look useful in general for user code.
21:05 allison cotto: (and fulltest is passing on all the platforms I have access to)
21:05 cotto ok.  I'll go with fulltest.
21:06 allison Tene: ah, yes, the low-level integer types aren't generally useful for high-level languages (are mostly intended for internal use)
21:06 Tene allison: Right.
21:08 allison Tene: message and payload are the ways to store custom information in exceptions
21:08 purl Message for and stored.
21:08 dalek parrot: r37501 | allison++ | trunk (1 files):
21:08 dalek parrot: [doc] Renaming some introductory files.
21:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37501/
21:08 allison Tene: which can include any information the HLL wants to include for deciding if it wants to handle a particular exception
21:09 Tene allison: so exception types aren't meant to be useful to user code.  Okay.
21:09 allison Tene: subclassing is possible (I suspect Perl 6 will have a whole hierarchy of exception subclasses), but not necessary
21:10 allison Tene: they could be, but we'd have to change from a C enum to a user-extensible list of types, so not possible currently
21:10 allison Tene: and, I'm not sure if languages want to interact with exceptions by type number
21:11 Tene allison: Would it be useful to extend EH.pmc to be able to filter by the class of the exception?
21:11 Tene just like it does by type and severity?
21:12 allison Tene: if any language needs it, sure
21:12 Tene Okay.  I'll keep that in mind.
21:12 allison Tene: would rather go by class lookup than class type number though
21:12 allison Tene: that is, accept the usual STRING, Key, Array, Namespace lookup arguments
21:13 Tene save those and look up every time, or look them up when setting the filter and save the class?
21:14 allison Tene: better to lookup once
21:14 * Tene nods.
21:14 allison Tene: but will have to check "isa" everytime, so the parents are checked too
21:16 allison Tene: (unless we want to take the more restrictive option and only test the class of the current exception)
21:16 Tene no, "isa" is correct.
21:16 purl okay, Tene.
21:18 Tene It would be really interesting to see a comparison of the exception hierarchies of several languages we want to support to see if there are any common intersections.
21:19 Tene I would really love for a "catch IOException" in whatever language to catch all IO exceptions from any language.
21:21 Tene allison: So, is https://trac.parrot.org/parrot/ticket/242 mostly done?
21:24 allison Tene: yes! slap it with a "done" status
21:24 Coke allison: one problem with convert partcl to work against an installed parrot - I can't install parrot on my primary development platform. =-)
21:25 allison Coke: you can install it in a local directory, which is no different than a build directory
21:25 allison Coke: or, you mean it simply won't install at all?
21:26 Coke You cannot run an installed parrot on osx.
21:26 allison Coke: the rpath problem
21:26 Coke ayup.
21:26 allison Coke: well, you can, you just can't delete the build directory :)
21:27 allison Coke: debian and ubuntu actually complain about rpath too
21:27 allison Coke: differently, but they complain
21:28 rg iirc wasn't that that osx won't link against non-existing shared libs?
21:28 Coke rg: with the current build process, yes.
21:28 Coke it's fixable.
21:28 Coke last time I tried, though, I failed. =-)
21:29 Coke just going to be painful to update partcl. :|
21:29 allison rg: https://trac.parrot.org/parrot/ticket/344
21:29 Tene allison: is docs/user/pir/exceptions.pod the right location for that document?  I remember that was being discussed earlier?
21:30 allison Coke: you can skip that for now, IIRC I sent the "get Partcl to compilel" patch separately from the building from install
21:30 allison Tene: yes
21:30 allison Tene: I've renamed the other files in that directory to make more sense
21:31 allison Coke/rg: essentially, we need to stop hardcoding blib/lib into our build flags
21:32 Coke allison: partcl still won't compile with that with recent updates to parrot. Pretty sure I rely on a config step that's missing.
21:32 * Coke will try it out, but laptop is dying.
21:32 allison Coke: okay, I did get it to compile and build with both patches, but didn't try with just one patch
21:33 Coke meh. not like anyone uses the damn thing anyway. Kinder, perhaps, to just let it die. =-)
21:33 Coke I'll check more later.
21:34 allison Coke: nah, it's a quick fix, really
21:34 rg allison: i thought it was introduced to keep users from having to explicitly configure their runtime linker (like with LD_LIBRARY_PATH)
21:35 allison rg: but in this case, we're linking to blib/lib even after we've installed parrot, which is bad
21:35 rurban The problem is libparrot_ldflags whcih is not replaced for the frozen install config
21:36 allison rurban: partly, yes
21:36 rg i don't think i follow, but i don't care either way. i believe at the time it was introduced i argued to make it the packager's problem ;P
21:50 dalek parrot: r37502 | cotto++ | trunk/src/thread.c:
21:50 dalek parrot: [thread] don't use an uninitialized interp
21:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37502/
21:50 Tene btw, my Parrot presentation from last week is online: http://www.opensourcetv.tv/
21:52 cotto only 80 minutes?
21:54 Tene It's just scheme.
21:55 Tene It's a bit... not good.  I deleted everything and had to start over the night before.  :)
21:55 Tene It was fun, though.
21:55 Coke Now I know what Tene looks like.
21:55 Coke <locking on target>
21:55 simonp left #parrot
21:56 Tene Aw, I'm all flustered at the start and stuttering.  :)
21:57 cotto xrandr++
21:58 Tene allison: state of the 'load_lang' opcode or whatever it was called?
22:00 allison Tene: after 1.0
22:00 allison Tene: but, pretty much done
22:01 Tene allison: how long after 1.0?  I'm giving a presentation on Wednesday.  :)
22:01 allison 'load_language' and 'load_hll_bytecode'
22:01 allison Tene: I wouldn't rely on it for Wednesday :)
22:01 Tene :) Okay.
22:02 allison Tene: or, tell them how you want it to work, and tell me what you told them ;)
22:02 Tene I'll see if I can just locally hack up rakudo's eval.
22:02 Tene For some special cases.
22:03 allison Tene: oh, what did you want to use it for?
22:03 Tene i wanted to demo running multiple languages in the same interpreter.
22:03 allison Tene: I'm thinking of the "load the libraries for language X and add it's directories to the search paths"
22:03 Tene iirc, rakudo's eval still tries to load 'languages/$lang.pbc'
22:04 allison Tene: okay, yeah, same
22:04 allison Tene: (just checking)
22:05 Tene Apparently rakudo's eval doesn't respect a :lang parameter at all right now.  Huh.
22:06 Coke allison: trying your patch, should I expect to be able to build against an /uninstalled/ parrot in another directory?
22:06 Coke hurm. looks like not.
22:09 allison Coke: no, I didn't import Patrick's "build from parrot build dir" changes
22:09 allison Coke: just the installed build
22:10 allison Coke: I could add a Rakudo-style "download parrot, install it into a working directory, and build from it" option
22:10 allison Coke: I'll be adding it to Pynie later this week anyway
22:10 jonathan Tene: I changed eval to care about lexicals recently but did not intentionally break the :lang parameter...
22:11 jonathan Tene: OTOH I fear it's probably untested so I'd not have known if I had. :-|
22:11 Tene jonathan: I guess maybe I never implemented or something.  There's no sign there that anything ever cared about :lang.
22:11 jonathan Tene: Really?
22:11 jonathan I'm *sure* I saw it...
22:12 Tene So was I.
22:12 Tene oh, control.pir
22:12 Tene not eval.pir
22:12 Tene nm
22:13 Tene yes, it just literally loads languages/$foo/$foo.pbc
22:15 Coke allison: I wonder if parrot_config should JFW out of a build dir.
22:15 Coke (and have an install_parrot_config that gets installed as parrot_config)
22:16 allison Coke: you mean, the build version of parrot_config should set build paths for lib, bin, etc?
22:17 allison Coke: instead of making people choose between "build_dir" and "bin_dir"
22:17 allison Coke: yes, there's something to be said for that
22:18 rurban we have prefix for that magic
22:19 allison rurban: it's not about prefix, because in the build_dir they have completely different relative paths
22:19 rurban I added a installed key to decide upon that also
22:19 allison rurban: aye, but even then the paths are completely different. If the build parrot_config set build paths, then installed wouldn't even be necessary
22:20 allison (installed flag, that is)
22:20 rurban yes, that would be easy to fix
22:20 allison rurban: and, there's no reason for the installed_parrot_config to even keep a "build_dir" variable
22:20 rurban yes
22:21 rurban I just built my first cygwin cygport 1.0.0 and I'm testing that now with the languages
22:21 ilia joined #parrot
22:27 Woody4286 joined #parrot
22:37 cotto Parrot has corrupted me.  I can't type "pm" without accidentally typing "pmc".
22:38 moritz lol
22:39 dalek parrot: r37503 | rurban++ | trunk/ports/cygwin (4 files):
22:39 dalek parrot: [ports] 1.0.0 rc
22:39 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37503/
22:40 moritz I'm running a fulltest on amd64 linux right now, with --optimize
22:40 donaldh_ joined #parrot
22:40 moritz (been doing that for 30 min)
22:40 moritz so far looks clean
22:40 rurban solaris amd64 passed fulltest
22:41 cotto Python is weird.  It's like all the functions aren't wearing pants.
22:41 donaldh_ cotto: how so?
22:41 rg rurban: wow, how did you manage that?
22:42 rurban rg: I'm back home :)
22:42 cotto There's no closing brackets.
22:42 rurban just openbsd behaves weird, andy dougherty found the same weirdnesses
22:43 rg for me solaris either fails the configure tests (if not using gcc) or the math tests (with gcc)
22:43 donaldh_ gotcha!
22:43 rurban rg: I used sunpro cc
22:43 rurban rg: but your solaris is ppc, right?
22:43 rg sparc, yes.
22:44 rurban but it used to work before AFAIR
22:45 rg hmm i might get it to work with gcc in path
22:45 rurban the math tests need libmieee
22:46 rg yes, there's no way to get parrot working on solaris with gcc.
22:46 rg (if working means passing all tests)
22:47 rurban I'll run a solaris amd64 gcc smoke next, after openbsd
22:47 donaldh_ What are the performance expectations for 1.0 ?
22:47 Tene There aren't any.
22:48 donaldh_ Is just working enough?
22:48 Whiteknight joined #parrot
22:49 rurban well, faster than perl5 for sure
22:49 rg rurban: somebody implement perl5 for parrot, then we'll talk ;P
22:50 moritz the last comparisons I've seen (mostly IO, malloc and free) weren't very convincing, compared to perl 5
22:50 rurban you could compare pipp to php, or ruby to our
22:50 donaldh_ moritz: quite. my comparisons are rather depressing.
22:51 GeJ Good morning everyone
22:51 moritz well, at least parrot has some perspective (WRT optimization)
22:51 rurban donaldh: numbers?
22:51 Tene cardinal on unoptimized parrot several months ago was about 10% of cruby's speed
22:51 rg there is the calling conventions refactor branch, which is supposed to bring some improvement
22:51 Tene about a year ago
22:51 donaldh_ Something that takes ~2s in PHP on my puny Buffalo linkstation takes 1m30s in PIR and 15min written in Rakudo.
22:52 dalek rakudo: 84920ea | (Moritz Lenz)++ | docs/ChangeLog:
22:52 dalek rakudo: [docs] update ChangeLog a bit
22:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8​4920ea9d58b60340ff0238dbf81489ca9dd9778
22:52 shorten dalek's url is at http://xrl.us/bekh5v
22:53 rurban that's really depressing. But there's lot of optimization potential around
22:53 donaldh_ Running callgrind, it all appears to be GC and IO
22:54 donaldh_ Looking at the code for puts, using it frequently will put a lot of pressure on GC.
22:54 Tene Supposedly the generational GC is very close to being mergeable.
22:54 Tene Is what I've heard.
22:56 donaldh_ Commenting out prints inside a loop removes 1/3 of execution time.
23:00 Coke tene: hah.
23:00 Tene Coke: :)
23:00 donaldh_ I'll happily spend a bit of time seeing if I can identify some optimizations.
23:01 Coke (speed) partcl was .. hundreds? thousands? of times slower than tcl.
23:01 Coke hundreds, I think.
23:01 Coke might have gotten down under 100 at some point.
23:02 Tene specifically, cardinal was aroun 10x slower after parsing.
23:02 Tene with precompiled.
23:02 * moritz has high hopes for the PGE LTM refactor and parsing speed
23:02 Coke I have no desire to get partcl working. Sad.
23:03 donaldh_ My test case parsing time is really not a huge concern, but I'll never serve web pages if it takes 15 min to generate a graph.
23:04 moritz DEPRECATED.pod
23:04 moritz sorry
23:04 allison donaldh_: optimization is on the roadmap for 3.0, but we'll start on it between 1.0 and 2.0 too, so all identification work is helpful
23:05 moritz donaldh_: that's why the november wiki precompiles (nearly?) everything to PIR
23:06 donaldh_ moritz: correct me if I'm wrong, but Rakudo compiles once to bytecode, right?
23:06 moritz donaldh_: no
23:07 dalek parrot: r37504 | moritz++ | trunk/DEPRECATED.pod:
23:07 dalek parrot: [cage] break overlong lines, make codetest happy
23:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37504/
23:11 dalek parrot: r37505 | allison++ | trunk/DEPRECATED.pod:
23:11 dalek parrot: [cage] Add info about Keys to class lookup notice.
23:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37505/
23:12 chromatic joined #parrot
23:12 chromatic Have I mentioned that calling conventions are a mess, varargs are undebuggable, and that problem in the shootout where a STRING's contents somehow suddenly turn invalid isn't going to get fixed?
23:16 jonathan chromatic: The design is a mess or the implementation?
23:16 jonathan If the second, yes, agree.
23:16 jonathan Also I want :capture...
23:16 chromatic I can't answer the question about the design, because I can't understand the design.
23:16 jonathan And a pony.
23:17 chromatic I just want to stop casting to and from C varargs, which are impenetrable to the debugger and require us to count and count and count some more, in addition to parsing argument streams for FIXED AND KNOWN ARITY C FUNCTIONS.
23:17 chromatic s/streams/strings/
23:17 jonathan I hear you.
23:17 allison chromatic: yes, varargs are going
23:17 chromatic I *think* the problem is that somehow we corrupt the C stack somewhere, but danged if I can figure out how.
23:18 chromatic Arguments get processed to and from a mixture of PBC, C data structures, C code, and Perl 5 (not kidding here) code.
23:18 jonathan allison: Do you think we stand any chance of getting back the performance we lost when unifying the MMD systems?
23:19 jonathan chromatic: Oh, the joy of the C debugger jumping into Perl 5!
23:19 jonathan I've seen that plenty of times. :-|
23:19 allison jonathan: oh, yes, definitely
23:19 chromatic I'd love to see a plan for getting back that speed.
23:19 allison jonathan: I'll even bring back MMD function pointers, if I have to, but we'll get it back
23:20 donaldh joined #parrot
23:21 chromatic Ugh, more C boundaries to cross.
23:21 allison chromatic: no, fewer (the idea being to not cross the boundary back-and-forth several times)
23:21 chromatic I'd love to see how you invoke a C function pointer without using C calling conventions.
23:21 donaldh_ It seems that performance improvement is not about optimization when it's orders of magnitude away from what it needs to be.
23:22 allison see, the thing about the MMD refactor is that it didn't actually change the underlying MMD implementation at all, it only exposed it by removing a layer of C function pointers that were hiding it in 90% of the use cases
23:22 moritz donaldh_: why not? if things are optimized that happen *very* often?
23:22 chromatic Because you can't optimize away major design problems.
23:23 donaldh_ moritz: maybe it's just semantics but that kind of refactor isn't an optimization in my book.
23:23 allison chromatic: bringing back the C function pointers is the last-resort, that is I know we can always get the speed back by going back to the old hack (or something similar)
23:23 allison chromatic: but the better solution is to fix the underlying MMD implementation, which didn't change in the last refactor
23:23 jonathan allison: The layer of C function pointers you used *were* an MMD implementaiton. I'm not arguing that it was a good one in all ways and that aiming for one unified one was a bad thing.
23:23 jonathan s/you used/you removed/
23:23 chromatic Removing all of the string manipulation for *each* MMD invocation would help.
23:24 jonathan But in reality we had one fast but limited MMD system and one slower but more flexible one and removed the first.
23:24 allison jonathan: technically speaking, yes we had two MMD systems (that were interacting in strange ways, which is why we removed one)
23:25 jonathan allison: I'm not disagreeing with the motives or the aim.
23:25 jonathan Just pointing out that the layer of C function pointers were actually doing something. ;-)
23:25 allison jonathan: yup
23:26 chromatic I'm blocked on fixing all sorts of difficult bugs because the current calling conventions implementation is completely inscrutable.
23:26 allison chromatic: agreed
23:26 donaldh_ allison: are we talking about PCCINVOKE here?
23:27 allison chromatic: it's also tightly embedded, so our attempts to gently push it aside are unsuccessful. Leading me to think the only solution is a wholesale replacement.
23:28 chromatic Three failed branches are a good indication the current approaches aren't workable.
23:28 allison donaldh_: yes but more, the collection of functions that handle dispatch from various different locations
23:29 allison chromatic: the thing is, we really only need a handful of ways of invoking, and instead we've got 20 or more
23:29 chromatic We also need less code and more readable code.
23:29 allison chromatic: yup
23:29 chromatic Look at the 60-line prelude crammed into a METHOD in a PMC and try to understand it.
23:30 allison it's just unnecessary
23:30 allison but, it really isn't that complex of a refactor, much less so than IO
23:31 chromatic There are some 1180 METHODs on PMCs.
23:31 chromatic Each of them has around 100 lines of boilerplate.
23:32 chromatic Sorry, 1120.
23:32 allison chromatic: is my blanket deprecation notice on "any functions not named with Parrot_<system>..." enough, or should I include an explicit deprecation notice for calling conventions
23:32 allison chromatic: because the C API is completely changing
23:33 allison (though the PIR API is staying the same)
23:33 chromatic That should only apply to functions used outside of their subsystems, right?
23:33 allison chromatic: since we eliminate PARROT_API, the distinction is less clear
23:34 tetragon joined #parrot
23:34 allison chromatic: but there are some public API functions for, say, invoking subroutine PMCs that have to change
23:34 chromatic We're eliminating PARROT_API?
23:34 allison chromatic: no, we renamed it to PARROT_EXPORT months ago
23:35 allison chromatic: with the plan to add PARROT_API back to things that are actually part of the public API
23:35 chromatic That's right.  I had it backwards.
23:35 allison chromatic: (once we define what that is)
23:35 allison chromatic: but, the public API definition is part of the 1.4 roadmap
23:36 allison chromatic: in the meantime, anything that's not static could potentially be public
23:39 chromatic We shouldn't define it anyway until we reorganize subsystems and their headers.
23:40 allison chromatic: yes
23:41 chromatic And by the way, patching the JIT like I did last night (this morning) reconfirmed my suspicions about the minimal opcode idea I've mentioned.
23:41 chromatic The combinatorial explosion we have there makes our current JIT approach infeasable.
23:42 allison I was looking over our ops yesterday, and thinking many of them could probably be dynops instead.
23:42 chromatic To JIT any non-trivial op, you have to write heavily-macroed C code which generates mostly-naive and very platform-specific ASM code to duplicate the existing C code of the ops.
23:43 chromatic If we could define ops in PIR/PBC, yes.
23:44 allison chromatic: well, that's a different problem, a bootstrapping one
23:45 Tene Is there currently grant money potentially available for parrot tasks?
23:45 chromatic Free JIT for dynops... they're first class citizens for optimizations that way.
23:46 allison chromatic: but also not much advantage over subs, at that point
23:46 chromatic Funny thing, that.  You'd think I know a little about Forth.
23:47 chromatic One difference, which may or may not be very material: argument handling
23:47 chromatic When *compiling* an op versus a sub, you can rejigger where the op gets its arguments.
23:48 chromatic (at least we have that option in a memory transfer system, as opposed to a stack based machine)
23:48 chromatic You don't really get to do that with subs until you inline them aggressively, which is probably closer to the JIT optimization pass.
23:49 dalek tracwiki: v138 | tene++ | ParrotRoadmap
23:49 dalek tracwiki: https://trac.parrot.org/parrot/wiki/Par​rotRoadmap?version=138&amp;action=diff
23:49 shorten dalek's url is at http://xrl.us/bekic8
23:50 contingencyplan joined #parrot
23:53 allison I could use some additional eyes on NEWS.
23:53 dalek parrot: r37506 | allison++ | trunk/NEWS:
23:53 dalek parrot: [release] Initial entries in NEWS.
23:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/37506/
23:54 allison This month has a lot of release preparation work.
23:54 allison chromatic: yes, potential
23:54 purl potential is like, almost NIL in the real world!
23:56 chromatic PBC would have to change a lot once that's in place.
23:56 allison chromatic: if they're defined in PIR, then they're just Subs, really
23:57 allison chromatic: even if handled slightly differently
23:57 chromatic They don't have the overhead of argument passing, and they're not continuation points.
23:58 chromatic Although the unification of subs and ops is interesting.
23:58 Tene what ever happened to pirc?  is that still coming?
23:59 allison (we're talking 3.0 or beyond here, and highly speculative, for the folks in the bleachers)
23:59 allison AFAIK, yes pirc is coming along
23:59 Tene kk
23:59 allison and still to replace IMCC ASAP

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

Parrot | source cross referenced