Camelia, the Perl 6 bug

IRC log for #parrot, 2008-06-13

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:14 dalek r28287 | pmichaud++ | trunk:
00:14 dalek : [rakudo]:
00:15 dalek : * Add missing pir_coda and pod closing to Range.pir.
00:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28287
00:21 jonathan Report: http://use.perl.org/~Jonath​anWorthington/journal/36677
00:21 jonathan ...so much for an early night...geck!
00:22 * jonathan sleeps
00:22 PerlJam jonathan++
00:22 Tene jonathan: s/someone/some/
00:27 dalek r28288 | pmichaud++ | trunk:
00:27 dalek : [rakudo]:
00:27 dalek : * remove obsolete "compiler_directive" rule from grammar
00:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28288
00:36 dalek r28289 | Whiteknight++ | gsoc_pdd09:
00:36 dalek : [gsoc_pdd09] comments and small fixes.
00:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28289
01:06 AndyA joined #parrot
01:28 dalek r28290 | jhorwitz++ | trunk:
01:28 dalek : implement 'slurp' and 'close' builtins
01:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28290
01:29 particle1 joined #parrot
01:32 cjfields joined #parrot
01:35 Tene Sweet, I now have a place to live for another year.
01:45 bacek_ joined #parrot
01:45 bacek_ g'day
01:48 Patterner found a nice bridge, eh?
01:56 Tene Exactly!
01:56 purl i think Exactly! is it not awesome?
02:00 davidfetter joined #parrot
02:36 TiMBuS joined #parrot
03:02 Ademan joined #parrot
03:15 DietCoke purl, forget Exactly
03:15 purl DietCoke: I forgot exactly
03:37 Zaba_ joined #parrot
04:19 dalek r28291 | japhb++ | trunk:
04:19 dalek : [Bench] Add float4.pir struct packing benchmark
04:19 dalek : * Add float4.pir benchmark, testing four ways to pack a float4 structure:
04:20 dalek :   + First element contains 4-element array of floats
04:20 dalek :   + Named element contains 4-element array of floats
04:20 dalek :   + Four numbered elements each contain one float
04:20 dalek :   + Four named elements each contain one float
04:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28291
04:22 dalek r28292 | japhb++ | trunk:
04:22 dalek : Setting metadata on float4.pir
04:22 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28292
04:27 grim_fandango joined #parrot
04:35 dalek r28293 | japhb++ | trunk:
04:35 dalek : [NEWS] OpenGL porting update; add float4.pir note
04:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28293
04:37 dalek r28294 | pmichaud++ | trunk:
04:37 dalek : [rakudo]:
04:37 dalek : * Fix pod in Range.pir.
04:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28294
04:37 dalek r28295 | pmichaud++ | trunk:
04:37 dalek : [core]:
04:37 dalek : * Enable CCLASS_NEWLINE propery for unicode strings.
04:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28295
04:39 dalek r28296 | pmichaud++ | trunk:
04:39 dalek : [pct]:
04:39 dalek : * Add 'transcode' option to HLLCompiler to allow HLLs to
04:39 dalek :   down-transcode program source into a representation that
04:39 dalek :   allows quicker processing.
04:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28296
04:39 dalek r28297 | pmichaud++ | trunk:
04:39 dalek : [nqp]:
04:39 dalek : * NQP defaults to reading source as utf8/unicode,
04:39 dalek :   but will attempt to transcode down to ascii for
04:39 dalek :   faster processing.
04:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28297
04:43 dalek r28298 | pmichaud++ | trunk:
04:43 dalek : [rakudo]:
04:43 dalek : * Default reading program source as utf8.
04:43 dalek : * Use HLLCompiler's transcode option to try to down-transcode
04:43 dalek :   the utf8 source to iso-8859-1 before compiling it.  If that
04:43 dalek :   succeeds, we get a speed win; if not, then at least the program
04:43 dalek :   will still execute (modulo any exceptions due to unavailable ICU).
04:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28298
04:58 gmansi joined #parrot
05:06 dalek r28299 | pmichaud++ | trunk:
05:06 dalek : [rakudo]:
05:06 dalek : * Allow uppercase hex characters in \x... escapes.
05:06 dalek : * S02-literals/hex_chars.t passes.
05:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28299
05:14 tetragon joined #parrot
05:15 dalek r28300 | pmichaud++ | trunk:
05:15 dalek : [rakudo]:
05:15 dalek : * Mark S02-literals/hex_chars.t as #pure.
05:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28300
05:33 pmichaud joined #parrot
05:34 TiMBuS hmm.. is it normal for 'token' type grammars to 'overshadow' each other? like say if you have {'i' | 'ia'} it doesnt ever match ia?
05:37 TiMBuS token funccall { | 'i' {*} | 'ifte' {*} } never matches ifte. it does if i use 'rule' but then i capture the space after it.
05:39 pmichaud currently in PGE the longest pattern has to go first.
05:39 pmichaud when we implement longest-token-matching semantics on | then the order won't matter.
05:40 TiMBuS ah
05:40 pmichaud can also get around it by forcing a word boundary
05:40 pmichaud token funccall { | 'i' >> {*} | 'ifte' >> {*} }
05:41 pmichaud that might be safer anyway, since you don't want   input to be treated as a function call to 'i'
05:41 particle1 but that gets ugly fast
05:41 pmichaud er, 'input'
05:43 TiMBuS its cool, 'input' gets matched as a user function
05:44 TiMBuS it works as intended, i wont question it
05:46 Infinoid joined #parrot
05:58 dalek r28301 | japhb++ | trunk:
05:58 dalek : [OpenGL] New example 'shapes.pir', testing GL 1.x / GLUT 3.x APIs
05:58 dalek : * New example file examples/opengl/shapes.pir
05:58 dalek :   + Goal is to test "works everywhere" subset of GL/GLU/GLUT APIs
05:58 dalek :   + Will try to hit as much of that ancient subset as reasonable
05:58 dalek :   + First stub version (improved version of triangle.pir)
05:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28301
05:58 dalek r28302 | japhb++ | trunk:
05:58 dalek : [OpenGL] Convert shapes.pir to new export API
05:58 dalek : * Convert examples/opengl/shapes.pir to use new OpenGL.pir
05:58 dalek :   function export API
05:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28302
05:58 dalek r28303 | japhb++ | trunk:
05:58 dalek : [OpenGL] Support visibility callback in shapes.pir
05:58 dalek : * First attempt at supporting visibility callback in examples/opengl/shapes.pir
05:58 dalek :   + On Debian-testing/GNOME, only shows are hitting; hides are not
05:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28303
05:58 dalek r28304 | japhb++ | trunk:
05:58 dalek : [OpenGL] shapes.pir: change floor; move triangle
05:58 dalek : * Change floor shape from square to annulus
05:58 dalek : * Move triangle from annulus center to its -Z area
05:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28304
05:58 dalek r28305 | japhb++ | trunk:
05:58 dalek : [OpenGL] shapes.pir: Rotate view
05:58 dalek : * Rotate view (and pull back somewhat)
05:58 dalek : * Minor visual tweaks
05:58 dalek : * Add comments
05:58 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28305
05:58 dalek r28306 | japhb++ | trunk:
05:58 dalek : [OpenGL] shapes.pir: Add teapot at +X
05:58 dalek : * Add lit cyan teapot at +X
05:59 dalek : * Position/rotate for nice reflections
05:59 bacek_ git svn dcommit in action!
05:59 dalek : * Lighting and material aren't right
05:59 dalek :   (I'm not using the vector GL calls yet.)
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28306
05:59 dalek r28307 | japhb++ | trunk:
05:59 dalek : [OpenGL] shapes.pir: Light teapot correctly
05:59 dalek : * Create global float4 structure definition
05:59 dalek : * Use it to pack structures for material color and light position
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28307
05:59 japhb bacek: *
05:59 dalek r28308 | japhb++ | trunk:
05:59 dalek : [OpenGL] shapes.pir: faster float4 packing
05:59 dalek : * Switch to fastest float4 packing method from float4.pir benchmark
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28308
05:59 dalek r28309 | japhb++ | trunk:
05:59 dalek : [OpenGL] shapes.pir: handle reshape; count frames
05:59 dalek : * Handle reshape events (as previously advertised)
05:59 dalek : * Count frames drawn (will be used for FPS calc eventually)
05:59 japhb er, bacek: :-)
05:59 dalek : * Clean up visibility callback
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28309
05:59 dalek r28310 | japhb++ | trunk:
05:59 dalek : [OpenGL] shapes.pir: display FPS for keyboard quit
05:59 dalek : * Display total FPS when quitting by keyboard request
05:59 dalek : * Automagically ignore paused time for FPS calc
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28310
05:59 dalek r28311 | japhb++ | trunk:
05:59 dalek : [OpenGL] shapes.pir: doc and MANIFEST updates
05:59 dalek : * Add shapes.pir to MANIFEST
05:59 dalek : * Mention shapes.pir in triangle.pir
05:59 dalek : * Mention examples in config/gen/opengl.pm docs
05:59 dalek : * Fix POD bugs in config/gen/opengl.pm
05:59 bacek_ :)
05:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28311
06:00 japhb bacek: have OpenGL and GLUT on your box?
06:00 bacek_ japhb: never tried it
06:00 japhb Does Configure.pl say you have OpenGL?
06:01 bacek_ just a sec
06:01 bacek_ Determining if your platform supports OpenGL............yes, MacOSX_GLUT 5.
06:01 japhb So you should be able to do:
06:02 japhb ./parrot examples/opengl/triangle.pir
06:02 japhb and see a spinning triangle
06:02 TiMBuS hey cool i can do that
06:02 bacek_ Ye! It works!
06:03 japhb And after updating to the most recent set of commits, try:
06:03 japhb ./parrot examples/opengl/shapes.pir
06:03 japhb (slightly more advanced, but still WIP)
06:03 TiMBuS loaded a bit slow
06:03 TiMBuS but cool
06:03 TiMBuS freeglut (examples/opengl/shapes.pir): Unable to create direct context rendering for window 'Test'
06:03 japhb TiMBuS: which one was slow?  Both?
06:03 bacek_ japhb: I have to git svn rebase to obtain second one :)
06:04 japhb bacek_: :-)
06:04 TiMBuS just the second one
06:04 * bacek_ running 'git stash; git svn rebase; git stash apply'
06:04 japhb Hmmm, I wonder why ....
06:05 japhb What does the second one report for FPS (when you exit using the escape or Q keys)?
06:05 TiMBuS FPS: 424.587
06:05 TiMBuS lawl
06:05 bacek_ FPS: 96.5568
06:05 japhb wheee ...
06:05 TiMBuS might just be the xgl server
06:05 * japhb in the middle at 335 or so
06:05 TiMBuS i run compiz
06:06 TiMBuS gotta have a desktop cube..
06:06 japhb heh
06:07 japhb So for shapes.pir, do you both see a spinning RGB triangle and lit cyan teapot, reflected in a grey disc?  (Just want to make sure the basics are working.)
06:07 TiMBuS yep
06:07 japhb schweet
06:08 japhb I'm going to be adding more stuff to that one, but I figured there was enough to get people testing ....
06:08 TiMBuS is this 'Unable to create direct context rendering' thing a problem? maybe thats related to compiz as well..
06:08 Infinoid joined #parrot
06:09 japhb I believe that's GLUT telling you that compiz has inserted itself in the middle of your OpenGL pipe, yes.  Not something to worry about, it's just letting you know -- because if compiz *wasn't* there, it might indicate a problem with your GL drivers.
06:11 TiMBuS if i still had a radeon it wouldnt surprise me if it was a driver problem heh
06:11 japhb :-)
06:13 Psyche^ joined #parrot
06:14 dalek r28312 | japhb++ | trunk:
06:14 dalek : [NEWS] Add NEWS item for shapes.pir
06:14 dalek : * Forgot to add shapes.pir to NEWS
06:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28312
06:16 dalek r28313 | japhb++ | trunk:
06:16 dalek : [OpenGL] Set SVN props on shapes.pir
06:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28313
06:16 japhb And with that, I'm taking a break.
06:17 cotto_home going to yapc::na?
06:17 purl somebody said going to yapc::na was hachi, particle, Coke, cotto, DrForr, rjbs, confound, hobbs, Alias, jjore, pmichaud, allison, uri, chargrill, Abigail, stevan, waltman, PerlJam, lucs or theory or jhorwitz
06:17 uniejo joined #parrot
07:08 Zaba joined #parrot
07:11 cognominal joined #parrot
07:21 Ademan joined #parrot
07:25 iblechbot joined #parrot
07:47 Tene ruby has some fun things to implement, but I question their utility.
08:06 IllvilJa joined #parrot
08:20 tetragon joined #parrot
08:26 Zaba_ joined #parrot
08:39 ank joined #parrot
08:57 Casan joined #parrot
09:02 Zaba joined #parrot
09:09 tetragon joined #parrot
09:09 Zaba_ joined #parrot
09:12 Whiteknight joined #parrot
09:13 Zaba joined #parrot
09:22 Zaba joined #parrot
09:24 dalek r28314 | kjs++ | trunk:
09:24 dalek : [squaak]
09:24 dalek : + replace $<var>=<rule> by <var=rule>
09:24 dalek : + add factorial examples/factorial.sq
09:24 dalek : + update MANIFEST
09:24 dalek : + add read() function for input
09:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28314
09:27 dalek r28315 | kjs++ | trunk:
09:27 dalek : [NEWS] add note about squaak having a return statement.
09:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28315
09:28 dalek r28316 | kjs++ | trunk:
09:28 dalek : [squaak] update README.
09:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28316
09:41 Zaba joined #parrot
09:47 Zaba_ joined #parrot
09:52 dalek r28317 | kjs++ | trunk:
09:52 dalek : [pynie] add return statement
09:52 dalek : and a bit of layout improvements.
09:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28317
09:57 Zaba joined #parrot
10:01 dalek r28318 | kjs++ | trunk:
10:01 dalek : [pynie] set control type on function block. (for return statement to work)
10:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28318
10:13 dalek r28319 | kjs++ | trunk:
10:13 dalek : [pynie] lambda forms without parameters work
10:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28319
10:57 cosimo joined #parrot
10:59 cognominal joined #parrot
11:07 Whiteknight joined #parrot
11:50 dalek r28320 | kjs++ | trunk:
11:50 dalek : [pynie] add initial support for dictionary constructors. Only works for identifiers as keys.
11:50 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28320
12:01 bacek_ joined #parrot
12:13 Zaba All tests successful (1 subtest UNEXPECTEDLY SUCCEEDED), 25 tests and 569 subtests skipped.
12:13 Zaba in perrot's make test
12:14 Zaba Passed TODO     Stat Wstat TODOs Pass  List of Passed
12:14 Zaba t/stm/runtime.t                1    1  4
12:15 DietCoke going to yapc::na 2008?
12:15 DietCoke good.
12:16 Zaba hm?
12:17 DietCoke Talking to the bot.
12:17 purl NO!
12:17 DietCoke yes.
12:17 DietCoke purl, coffee?
12:17 purl YOU CAN SLEEP WHEN YOU'RE DEAD.
12:17 DietCoke exactamente, meine Fruende.
12:17 bacek_ joined #parrot
12:28 Whiteknight joined #parrot
12:39 dalek r28321 | Whiteknight++ | gsoc_pdd09:
12:39 dalek : [gsoc_pdd09] updating to trunk r28320
12:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28321
12:55 Auzon1 joined #parrot
13:04 iblechbot joined #parrot
13:09 jhorwitz joined #parrot
13:31 Zaba_ joined #parrot
13:37 gryphon joined #parrot
13:49 dalek r28322 | kjs++ | trunk:
13:49 dalek : [pynie] initial implementation of assert statement. Not complete yet.
13:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28322
13:52 mj41_ hi, just finished porting TapTinder to Catalyst ... see devel server http://tt.ro.vutbr.cz/
14:01 Zaba_ All tests successful, 422 subtests skipped.
14:01 Zaba_ for spectest_regression :>
14:02 pmichaud yay!
14:02 pmichaud very glad to hear that.
14:03 Zaba_ why is spectest_regression so slow on some tests?
14:03 Zaba_ for example t/spec/S04-statements/try
14:04 Zaba_ and it skilled 14 out of 25, still took quite some time to run
14:06 pmichaud parsing is generally the slow part.
14:07 pmichaud at least, that's the working hypothesis.  Unfortunately we don't have good profiling tools in Parrot yet.
14:12 pmichaud however... in this case....
14:13 nopaste "pmichaud" at 76.183.97.54 pasted "time for various phases of S04-statements/try.t execution" (21 lines) at http://nopaste.snit.ch/13261
14:14 pmichaud so *something* in the actual execution is taking a fair bit of time.
14:14 pmichaud I wonder if it's IMCC.
14:15 * jonathan votes IMCC
14:15 Zaba_ IMCC?
14:15 purl IMCC is the c of parrot or the problem or the intermediate code compiler
14:15 pmichaud IMCC is the part that compiles PIR
14:16 pmichaud I think I'll add a --profile-stages option so we can see how long each stage is really taking.
14:16 jonathan pmichaud: When I worked on the .Net bytecode translator, I was reading in the bytecode, translating it, doing bits of optimization along the way...and at the end of it, I still ended up with PIR -> PBC dominating the time of the bytecode translation.
14:16 pmichaud jonathan: that would explain a lot for me.
14:16 jonathan When I did optimizations that meant the translator itself did more work to produce less code, it ran quicker overall.
14:17 jonathan You can see the figures in The Paper.
14:17 pmichaud ...but it would also mean that PGE parsing Perl 6 is faster than IMCC parsing its generated PIR.
14:17 ank joined #parrot
14:17 jonathan Well
14:17 jonathan You have a lot more PIR. :-)
14:17 pmichaud not really
14:18 pmichaud not in this case.  Note:
14:18 pmichaud $ wc -l try.rakudo try.pir 185 try.rakudo 636 try.pir
14:19 pmichaud grrr.
14:19 pmichaud 185 lines in try.rakudo translates to 636 lines of try.pir
14:19 jonathan OK, that isn't crazily more.
14:19 pmichaud so yes, it's a lot more PIR, but I wouldn't think that 636 li.... right
14:19 jonathan I fear that our reg alloc might be what's slow.
14:20 pmichaud I'll definitely put in a profiler option today -- this is interesting.
14:20 jonathan Mostly because, my bc trans optimizations didn't just use less intructions, but also less registers.
14:20 pmichaud reg alloc -- very likely.  That thing has been the bane of my existence since I started working on Parrot.
14:20 pmichaud Zaba++   # asking a very useful questio
14:20 pmichaud *n
14:21 Zaba_ wow, my curiousity actually did something useful this time.
14:21 pmichaud very useful.
14:22 pmichaud asking the right question s often leads to important new knowledge
14:22 pmichaud (I used to tell my students that the key to solving most problems was often figuring out the right question to ask.)
14:23 pmichaud ....but here's another odd thing.
14:24 pmichaud $ wc -l src/gen_actions.pir
14:24 pmichaud 13190 src/gen_actions.pir
14:24 pmichaud IMCC doesn't seem to have trouble with a 13k PIR source
14:24 pmichaud or even...
14:24 pmichaud $ wc -l src/gen*.pir
14:24 pmichaud 13190 src/gen_actions.pir
14:24 pmichaud 7603 src/gen_builtins.pir
14:24 pmichaud 26204 src/gen_grammar.pir
14:24 pmichaud 46997 total
14:25 Casan joined #parrot
14:25 pmichaud okay, definitely something to look into today.
14:25 jonathan Well, that is odd.
14:25 pmichaud unfortunately, $otherjob calls me this morning, so it'll be another 90 mins before I can work on it.
14:26 jonathan I'm tied up with $otherjob today too. :-|
14:32 DietCoke (reg alloc) isn't there a way to declare simple register allocation? ISTR something got thrown in there.
14:33 jonathan :unique_reg
14:33 pmichaud I know it could be done for individual registers, but I don't think anything more global was added.
14:33 jonathan For ind...yes.
14:33 pmichaud although with the new stuff being added to PCT and Rakudo, I've been thinking about making PAST smart enough to re-use registers for the same variable.
14:34 pmichaud i.e., a :volatile flag that toggles re-use of an existing register for a PAST::Var node
14:35 pmichaud (and avoids re-fetch.)
14:35 TiMBuS oh god please do that
14:36 pmichaud well, semantically we have to be careful about such things.  If we call a subroutine that re-binds a global symbol, then the existing register will hold the stale value.
14:37 TiMBuS yeah thats what i figured the problem was
14:38 pmichaud but in some languages that's not really an issue in a large number of cases
14:38 pmichaud for example, we might know that lexicals are safe
14:38 pmichaud (and PIR handles rebinding of lexicals anyway.)
14:39 pmichaud okay, $otherjob calls.
14:46 jan joined #parrot
15:03 sjansen joined #parrot
15:20 bacek joined #parrot
15:25 teknomunk joined #parrot
15:30 rdice joined #parrot
15:43 Zaba_ joined #parrot
15:43 Zaba_ <_<
16:07 kj joined #parrot
16:23 dalek r28323 | Whiteknight++ | gsoc_pdd09:
16:23 dalek : [gsoc_pdd09] state machine for incremental GC runs.
16:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28323
16:32 dalek r28324 | Whiteknight++ | gsoc_pdd09:
16:32 dalek : [gsoc_pdd09] update pobject_lives to respect GC state
16:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28324
16:46 pmichaud oh wow.
16:46 pmichaud it's the *output* that is taking forever.
16:46 Zaba_ pmichaud, oh?
16:46 pmichaud nopaste coming.
16:47 dalek r28325 | kjs++ | trunk:
16:47 dalek : [pynie]
16:47 dalek : + start on del_stmt
16:47 dalek : + improve target_list handling.
16:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28325
16:47 nopaste "pmichaud" at 76.183.97.54 pasted "long output time" (41 lines) at http://nopaste.snit.ch/13263
16:48 pmichaud oh, wait, it might be running time.
16:48 pmichaud I'm going to improve my timing profiler a bit.
16:51 pmichaud at any rate, we can see that parse+past takes 1.19 seconds, and getting to bytecode takes an additional 0.19 seconds.  So the rest of the slowness comes from actually running the program.
16:51 pmichaud ...which really doesn't make much sense for such a short program.
16:51 pmichaud so I'll check into that.
16:54 pmichaud but, lunch first.
16:54 Zaba well.. that test is not a *very* short program
16:56 Zaba is return really not implemented?
16:57 Zaba #?rakudo skip "return() not implemented"
16:58 Tene It wasn't a week ago.
16:58 Tene It is now.
17:00 Zaba oh. But t/spec/S04-statements/try.rakudo still has that bit about it being unimplemented
17:07 moritz I can take a look if it needs to be unspecced
17:07 moritz erm, unfudged
17:08 Whiteknight return isn't "completely" implemented, it doesnt support multiple return values
17:08 Tene If unfudged, it compiles fine, but doesn't pass successfully.
17:11 Tene perl6.paste: sub foo { try { return 42 }; } my $b = foo();
17:12 nopaste "polyglotbot" at 193.200.132.146 pasted "perl6 paste" (12 lines) at http://nopaste.snit.ch/13265
17:12 Tene Oops.
17:12 moritz Tene: you need a ; after a } unless it's followed by \n
17:12 Tene perl6.paste: sub foo { try { return 42 }; }; my $b = foo();
17:12 nopaste "polyglotbot" at 193.200.132.146 pasted "perl6 paste" (7 lines) at http://nopaste.snit.ch/13266
17:12 Tene Null PMC access in can()
17:13 Tene Oh, right, I was going to commit stuff.
17:14 dalek r28326 | tene++ | trunk:
17:14 dalek : [cardinal]
17:14 dalek : * Move indexed access into the [] and []= methods in Hash and Array
17:14 dalek : * Hash constructor now accepts a default value, or a closure to construct a default value
17:14 dalek : * Keyed lookup uses the default value, and calls it if it's a closure
17:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28326
17:14 Tene There, that's better.
17:17 Tene There have been a *lot* of spam bots on ICQ.
17:17 Tene Wow, mischan.
17:17 purl Transsexual washing-machine repairers in particular\
17:23 jonathan pmichaud: The test does a "use Test;" - I'm guessing that causes us to re-enter the compiler, and so the runtime actually has the compilation of Test.pm in it?
17:27 * jonathan dinner &
17:30 smash joined #parrot
17:30 smash hello everyone
17:31 DietCoke ol!, quebra
17:31 Topic for #parrotis now Parrot release warm-up: please update NEWS and PLATFORMS | http://parrotcode.org/ | 6/661 new/open tix | logged in http://irclog.perlgeek.de/parrot/today
17:34 pmichaud jonathan: yes, that's correct also.
17:38 smash everyone: NEWS, PLATFORMS, CREDITS, etc. updates are most welcome
17:38 smash thks
17:38 nopaste "pmichaud" at 76.183.97.54 pasted "compilation speed of Test.pm" (14 lines) at http://nopaste.snit.ch/13268
17:38 pmichaud so, there ya go.  :-)
17:39 smash can anyone confirm that my "Release warm up" went throught to the mailing list ?
17:39 pmichaud smash:  I received a copy, yes.
17:39 smash pmichaud: cool, thks
17:47 Whiteknight yeah, i got it
17:58 DietCoke <AOL/>
17:59 DietCoke pmichaud: is that "start time" and "duration" in s?
17:59 Zaba pmichaud, so is it the parser that causes speed issues in try.rakudo?
17:59 japhb DietCoke: AOLers don't understand empty element tags
18:01 pmichaud zaba: yes.
18:01 pmichaud and most of that is the time spent parsing Test.pm
18:01 cbrandtbuffalo joined #parrot
18:01 pmichaud so, if we could pre-compile Test.pm down to a .pbc, we'd save ~3.5s per test file
18:01 pmichaud given 60 test files, we'd save approximately 3.5 minutes in 'make test'
18:02 DietCoke Nothing wrong with precompiling, izzer?
18:02 DietCoke I can do that tonight if no one beats me to it. That's just parrot.
18:02 pmichaud well, we'd need to fix it so that "use Test;"  would know to go for the precompiled form
18:02 pmichaud as opposed to loading Test.pm
18:02 DietCoke that's an easy conditional branch, though
18:02 DietCoke (and I already did this once for tcl, but never activated it. =-)
18:02 Zaba pmichaud, but it doesn't sound normal to precompile modules used in normal perl6 scripts..
18:03 pmichaud I put all of this as a work item for the ParrotHackathon
18:03 DietCoke pmichaud: k.
18:03 pmichaud under the general heading of "HLL library interop"
18:03 DietCoke zaba; this works in perl5 today; if there's a precompiled version, it's favored.
18:03 Zaba DietCoke, oh.
18:03 pmichaud Zaba: one of the goals of Parrot was to make it easier to keep around precompiled versions of HLL libraries
18:04 * Zaba codes on perl5 and didn't know of that >_>
18:04 pmichaud I think we should also see about moving Test.pm out of rakudo's root
18:05 Zaba pmichaud, so the execution of the try.rakudo itself takes about 2 seconds?
18:05 pmichaud Zaba: a little less than that, but yes.
18:05 DietCoke zaba: I'm pretty sure they abused that for moose.
18:05 pmichaud and most of that is still parsing time.
18:06 pmichaud improving parsing speed is one of my goals for the summer (but a lot of that will come as part of implementing protoregexes and longest-token-matching in PGE)
18:07 pmichaud right now we lose a lot of time chasing false branches in the grammar that we can avoid
18:08 Zaba DietCoke, it doesn't help moose, it's still slow
18:09 pmichaud afk for a bit.
18:10 Whiteknight does PGE support tree-trimming directives like "commit" or "reject"?
18:11 PerlJam "reject"?
18:11 Whiteknight yeah, like in Parse::RecDescent. if you match a particular peice, you regect it and backtrack
18:12 Whiteknight s/regect/reject/
18:15 PerlJam sounds an awful lot like "fail"
18:16 Whiteknight maybe that's the new name for the old concept
18:19 Zaba what's fail()?
18:19 purl i heard fail() was mentioned in S04
18:28 Theory joined #parrot
18:30 Whiteknight if it is what I think it is, it's a parser directive that lets you stop your current attempt and backtrack to the previous rule
18:38 Tene Can someone tell me what should go in NEWS?
18:38 Tene Describe the purpose of NEWS?
18:40 smash Tene: thing that have changed since the last release, or new stuff that has been done
18:40 smash new features, or documentaion updates for example
18:40 smash net language status
18:40 smash s/net/new/
18:42 smash DietCoke: is there an hackathon happening on sunday ?
18:42 DietCoke saturday & sunday
18:43 smash nice
18:43 DietCoke tene: NEWS is what goes in the press releases we send out out with each release.
18:43 DietCoke (the bulleted list portion)
18:46 Tene I've never contributed to NEWS as I can't figure out what the appropriate level of detail is.
18:47 smash just a glimpse overview, don't need to go into a lot of detail
18:47 smash take a look at the NEWS regarding previous releases to have an ideia
18:49 gryphon joined #parrot
18:53 Tene What was the date of the last release?
18:54 smash May 22
18:54 smash Parrot 0.6.2 "Reverse Sublimation"
18:57 particle joined #parrot
18:58 particle travel delays abound!
18:59 smash DietCoke: some t/codingstd failling
18:59 particle DietCoke: you should check your flight, you're probably delayed, too
18:59 * particle has zillions of windows failures, will investigate sunday
19:00 particle likely some of chromatic's code that needs simple portability fixes or similar
19:00 particle i'm pretty sure it's in imcc, anyway
19:00 smash particle: fixing them before monday would be nice
19:01 smash need to get a windows box around during the weekend
19:01 smash (I need, I mean)
19:02 dalek r28327 | chromatic++ | trunk:
19:02 dalek : [pdump] Fixed a compilation error -- CONST_STRING does not work here yet
19:02 dalek : (reported by Fran�ois Perrad).
19:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28327
19:02 dalek r28328 | tene++ | trunk:
19:02 dalek : NEWS updates for cardinal
19:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28328
19:03 particle smash: yes, i'll concentrate on fixes during the hackathon
19:03 particle before that, i'm devoting my energy towards mk_language_shell.pl
19:03 smash particle: i'll try to get a windows box in the meantime to help you
19:03 Tene particle: what are you doing with the language shell?
19:03 dalek r28329 | chromatic++ | trunk:
19:03 dalek : [pdump] Fixed C++ compilation errors (enums and ints aren't interchangeable).
19:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28329
19:04 particle tene: adding opp
19:05 particle tene: i'm doing a lightning talk on creating a turing-complete lang using pct
19:05 Tene nice
19:05 particle adding opp would give me conditionals in the form of ?!
19:06 particle then i only need loops and variables/assignment
19:06 DietCoke particle: nope, I'm listed as on time.
19:06 particle so was i, until i got here
19:07 Tene flight delays today?
19:07 pmichaud I'm glad I'm flying tomorrow morning.  :-)
19:07 DietCoke Uh... it says the flight leaves at 5:09; my printed out copy says 5:50.
19:07 particle yep, due to early a.m. thunderstorms
19:07 DietCoke leaving for the airport NOW then. =-)
19:07 particle good luck DietCoke, you may be waiting for me
19:07 DietCoke k
19:07 DietCoke see you there.
19:07 DietCoke -> yacp
19:07 DietCoke -> yapc
19:08 pmichaud safe travels, DietCoke
19:08 smash DietCoke: later
19:10 particle ok, new departure eta 13:30PDT, arrival 1900CDT
19:10 particle not so bad
19:10 smash heh
19:14 smash Tene: NEWS update looks good, thks
19:21 * smash dinner &
19:22 particle joined #parrot
19:22 donaldh joined #parrot
19:24 Tene ARGH.  My glasses are giving me a headache.
19:30 dalek r28330 | tene++ | trunk:
19:30 dalek : [cardinal]
19:30 dalek : * Treat EOF as a terminator
19:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=28330
19:36 Ivatar joined #parrot
19:47 jhorwitz particle: i assume your lightning talk was accepted too?
19:48 Zaba joined #parrot
19:51 malte joined #parrot
19:52 particle jhorwitz: yep
19:53 particle my flight is 4p wed, so we've gotta go early!
19:53 jhorwitz yikes!
19:53 particle ok, my flight is pre-boarding now
19:53 particle time to shut down
19:53 jhorwitz he said all the "serious" talks are first, so shouldn't be a problem.
19:53 particle :)
19:54 jhorwitz have a good flight.  see ya sunday afternoon!
19:54 particle i'll be writing it on the plane
19:54 particle ~~
19:57 Tene looks like there's a problem with my cron job on feather3.
19:57 Tene Dunno what it is, though.
19:57 * Tene rebuilds stuff by hand.
20:16 * smash back
20:17 smash t/benchmark/benchmarks.t failling some tests
20:18 smash something related with 'save' opcode
20:20 smash they were also failling for parrot-0.6.2 release
20:25 smash 'save' was deprecated
20:36 malte joined #parrot
20:49 Zaba_ joined #parrot
20:53 contingencyplan joined #parrot
21:01 Whiteknight joined #parrot
21:11 donaldh joined #parrot
21:34 malte joined #parrot
21:55 smash_ joined #parrot
22:04 teknomunk joined #parrot
22:32 Ademan joined #parrot
22:52 tetragon joined #parrot
22:55 * tetragon notices a new OpenGL example
23:26 * tetragon watches the teapot conveyor
23:27 Limbic_Region joined #parrot
23:32 gmansi joined #parrot
23:54 Tene shapes.pir segfaults for me.
23:54 * Tene prods tewk.

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

Parrot | source cross referenced