Camelia, the Perl 6 bug

IRC log for #parrot, 2011-04-19

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 particle1 joined #parrot
00:01 darbelo left #parrot
00:05 particle left #parrot
00:07 kid51 is now known as kid51_at_dinner
00:09 lucian left #parrot
00:13 whiteknight do we have any NEWS items related to ecosystem projects?
00:21 whiteknight msg NotFound is there anything from winxed that we can add to NEWS this month?
00:21 aloha OK. I'll deliver the message.
00:33 cognominal left #parrot
00:33 cognominal joined #parrot
00:57 jrtayloriv joined #parrot
01:06 dalek parrot: baa3b01 | Whiteknight++ | / (2 files):
01:06 dalek parrot: add mention of other GC cores to the commandline help
01:06 dalek parrot: review: https://github.com/parrot/parrot/commit/baa3b01546
01:06 whiteknight pmichaud++ for the suggestion
01:09 kid51_at_dinner is now known as kid51
01:09 woosley joined #parrot
01:09 nopaste "kid51" at 192.168.1.3 pasted "darwin/ppc: build failure at 6dddd870f4 with --gc=gms" (13 lines) at http://nopaste.snit.ch/40904
01:10 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#15010) fulltest) at 3_2_0-414-g6dddd87
01:10 mikehh Ubuntu 11.04 beta amd64 (g++ --gc=gms)
01:10 kid51 That's the first outright build failure I've had in a long time.
01:11 whiteknight ...lolwat?
01:12 whiteknight let me build it now
01:12 whiteknight kid51: looks suspiciously like trying to build with an installed parrot muddling up the works
01:13 whiteknight parrot builds for me just fine on this machine
01:13 kid51 But this only appeared when I added the --gc=gms option.
01:14 kid51 Earlier tonight, I ran a successful Smolder test without that option.  Same machine, same installed parrot underneath my homedir.
01:14 kid51 And the only reason why I have an installed parrot is my need for one to debug dynoplibs tests on Darwin.
01:14 whiteknight where did you add that option, the commandline to configure?
01:15 kid51 My successful smolder from just a few hours ago:  http://smolder.parrot.org/app/​projects/report_details/15007
01:16 kid51 whiteknight: Yes.  Resulting in: gc_type => GMS in lib/Parrot/Config/Generated.pm
01:16 kid51 'configure_args' => '"--cc=/usr/bin/gcc" "--link=/usr/bin/g++" "--ld=/usr/bin/g++" "--configure_trace" "--gc=gms"',
01:17 kid51 On my linux box, I've built and run make test tonight with --gc=gms in several different combinations: All g++; optimize; optimize and g++; etc.  All PASS.
01:17 kid51 But, as always, my iBook is the canary in the coal mine.
01:18 whiteknight kid51: when was the last time you successfully built on darwin with --gc=gms?
01:18 rohit_nsit08 left #parrot
01:19 kid51 Until tonight, I never did.   But (a) I always tried with whatever was our default GC at the moment; (b) I was testing successfully with bacek's recent packfile whatever branch.
01:19 kid51 Recall that last night I said that I had been testing successfully with both master and bacek's branch, so I was looking forward to a smooth merge.
01:20 kid51 And that opinion was based on both linux and darwin.
01:20 particle1 left #parrot
01:20 kid51 The only test failure I was getting yesterday -- one of long-standing -- was in t/op/number.t on Darwin but only with --optimize
01:21 * kid51 wipes out his installed parrot and starts over
01:25 whiteknight I'm heading to bed now. If it's still a problem in the morning, I'll fix it as quickly as possible
01:25 whiteknight goodnight
01:25 whiteknight left #parrot
01:27 kid51 Interesting that on Linux -- where everything is PASSing for me -- I get different number of warnings during 'make' depending on whether I'm compiling with gcc or g++ and whether I'm configuring with --optimize or not.
01:36 mikehh kid51: yes - I get a similar situation, most remain the same, but a few differences in warnings
01:38 mikehh I am running a rakudo test without --optimize ATM, it is taking a least twice as long
01:41 nopaste "kid51" at 192.168.1.3 pasted "darwin/ppc build failure with --gc=gms (and no installed parrot)" (4 lines) at http://nopaste.snit.ch/40905
01:43 mikehh the build took 10m41.458s as opposed to 3m30.014s with --optimize
01:43 benabik joined #parrot
01:43 kid51 The Parrot build? Or the Rakudo build?
01:43 mikehh rakudo
01:43 benabik ~~
01:44 mikehh that's using make -j (in rakudo)
01:44 mikehh well date && time make -j
01:49 dmalcolm left #parrot
01:53 dalek parrot: 83e4dba | jkeenan++ | config/gen/makefiles/root.in:
01:53 dalek parrot: For the purpose of getting quick(er) feedback on different GC options, add a
01:53 dalek parrot: 'gc_tests' target which, for now, will consist solely of t/compilers/opsc/*.t.
01:53 dalek parrot: review: https://github.com/parrot/parrot/commit/83e4dbaff2
02:06 ascent_ left #parrot
02:06 ascent joined #parrot
02:15 cognominal left #parrot
02:15 bubaflub joined #parrot
02:22 mikehh rakudo (887bb5b) - builds on parrot (3_2_0-414-g6dddd87) - make test, make spectest_smolder[(#15019), roast (7309150)] PASS
02:22 mikehh Ubuntu 11.04 beta amd64 (g++ --gc=gms)
02:22 mikehh 27,695 ok, 0 failed, 606 todo, 1,800 skipped and 0 unexpectedly succeeded
02:22 rdesfo joined #parrot
02:24 cognominal joined #parrot
02:25 mikehh rakudo spectest_smolder 47m50.431s vs 19m28.610s with --optimize (TEST_JOBS=4 in each case)
02:25 mikehh I am not doing that again in a hurry
02:27 mikehh rakudo takes over twice as long to build and test without --optimize as opposed to with --optimize
02:28 atrodo cotto> ping
02:28 * mikehh needs some sleep - will do some more tests later
02:33 rdesfo Hello,  I was wondering why ubuntu have such an old version of parrot on launchpad.net?
02:37 mtk left #parrot
02:38 bubaflub left #parrot
02:39 sorear probably they got it from CPAN
02:39 rdesfo left #parrot
02:41 mtk joined #parrot
02:51 dukeleto ~~
02:51 kid51 left #parrot
02:57 particle joined #parrot
03:07 soh_cah_toa left #parrot
03:07 hudnix left #parrot
03:33 dalek parrot/opsc_lasm: 80decd7 | atrodo++ | compilers/opsc/lasm.nqp:
03:33 dalek parrot/opsc_lasm: Add output for two more pirop's
03:33 dalek parrot/opsc_lasm: review: https://github.com/parrot/parrot/commit/80decd7719
03:33 dalek parrot/opsc_lasm: c745eeb | atrodo++ | compilers/opsc/lasm.nqp:
03:33 dalek parrot/opsc_lasm: Handle the "interp" variable, kind of
03:33 dalek parrot/opsc_lasm: review: https://github.com/parrot/parrot/commit/c745eeb4cc
03:33 dalek parrot/opsc_lasm: f9ff27f | atrodo++ | prototype_pbc2lasm.pl:
03:33 dalek parrot/opsc_lasm: Stub out a really rough pbc2lasm script that outputs something
03:33 dalek parrot/opsc_lasm: review: https://github.com/parrot/parrot/commit/f9ff27f049
03:46 cotto ~
03:46 cotto atrodo, pong
03:47 cotto who's elise?
03:52 atrodo cotto> I've got this crazy project idea for this week.  I'm seeing how far I can get in taking a pbc and generating lasm
03:53 cotto seems to be a gsoc student
03:53 cotto atrodo, do tell
03:53 cotto we need more crazy
03:54 bacek_at_work atrodo, heh. http://blog.bacek.com/2011/04/cra​zy-jit-prototype-is-on-hold.html
03:54 cotto I worry that whiteknight is going to sleep through the release
03:54 bacek_at_work you'll need 80-90% of C compiler to handle current ops...
03:54 cotto sad face
03:56 atrodo cotto> I'm using pbc_dump and pbc_disassemble to figure out the pasm and constants and use some perl glue to bolt the ops lasm in place
03:56 atrodo bacek_at_work> i saw that earlier
03:57 cotto omg hax
03:57 atrodo oh yea, hack city.  but proof of concept
03:57 cotto concepts are fun to prove
03:58 atrodo then I'm thinking I can bolt a parrot_compat pmc into it to take care of the trickier bits
03:58 cotto what's your aim?
03:58 atrodo magic? ;)
03:59 benabik atrodo: Isn't M0/Lorito supposed to have less magic?
03:59 cotto more magic = less magic
03:59 cotto or something like that
04:00 cotto maybe the opposite
04:00 atrodo less magic == more magic
04:00 benabik Ah, yes, the less is more theory of magic.
04:00 cotto ;)
04:01 atrodo but actually, the aim is to take a parrot pbc, and run it in alorito
04:01 cotto nobody's going to accuse you of aiming low
04:01 atrodo bacek_at_work> do you have an example of an op that gave you the most trouble?
04:02 * cotto bets on rebless_subclass
04:02 atrodo cotto> it's really an attempt to see for myself how difficult it would be
04:03 atrodo and my biggest unknown at this point are the pmc's themselves
04:04 cotto PMCs aren't that scary to me.  They're just a bunch of function pointers and some data that follow certain conventions.
04:04 cotto though I guess you could say that of gcc too.
04:05 atrodo Right, that's not the trouble part.  It's what to do with them, convert them to alorito or to make them interface at the C level
04:05 cotto which is ironic, since the point of Lorito is to do away with that boundary
04:06 atrodo cotto> it'd be "transitional"
04:06 atrodo then again, temporary code never is
04:06 cotto like html 4.01
04:06 * atrodo grumbles css
04:07 cotto http://dribbble.com/shots/1045​56-HTML-4-01-TRANSITIONAL-LOGO
04:07 atrodo i think that's perfect
04:10 bacek_at_work atrodo, any op which have VTABLE_foo in it.
04:12 cotto xkcd is long today
04:12 atrodo Ya, i skimed it, knowing i was missing out on some good jokes
04:13 atrodo bacek_at_work> is there something subtle I'm not catching?  the VTABLE_foo's were actually low on my worry list
04:13 bacek_at_work VTABLE_foo(interp, pmc) is pmc->vtable->foo(interp, pmc)
04:14 bacek_at_work Two things: cpp and type analyses.
04:14 atrodo right, which looks to be the case in all definintions in vtable.h
04:14 cotto I love the contradictions
04:14 bacek_at_work heh. What about PARROT_GC_WRITE_BARRIER?
04:14 bacek_at_work Or even worse: PTR2UINTVAL
04:15 bacek_at_work In general case you have to parse _all_ parrot headers.
04:15 bacek_at_work Second thing: you have to know result of "pmc->vtable" part to properly generate code for "->foo" part.
04:16 cotto deep magic in them macros
04:19 atrodo heh, PTR2UINTVAL is defined with UINTVAL2PTR
04:20 bacek_at_work yes. Welcome to hell of parsing C macros...
04:22 atrodo hmmm.  For hating C so much, parrot sure abuses it
04:22 cotto when you have a hammer...
04:23 atrodo Everything looks like a screw
04:28 atrodo Yea, looks like some of those macros are going to give me troubles at some point
04:29 atrodo At any rate, it's time for sleep so I'm not asleep while I'm hacking tomorrow night
04:30 cotto 'night
04:34 ShaneC left #parrot
04:52 kuku joined #parrot
05:14 ShaneC joined #parrot
05:46 cotto bacek++ #"itchy codebase"
06:26 Eduardow left #parrot
06:26 Eduardow joined #parrot
06:40 fperrad joined #parrot
06:58 theory left #parrot
06:59 cosimo joined #parrot
07:13 bacek joined #parrot
07:24 mj41 joined #parrot
07:30 cognominal left #parrot
07:31 cognominal joined #parrot
07:36 cosimo left #parrot
07:44 cotto question for the ether: Is some kind of symbol table necessary to implement CPS in M0?
07:46 moritz you look up things by name in symbol tables
07:46 moritz what use would that be in M0?
07:47 cotto looking up a variable from somewhere further up the call tree
07:47 moritz aka "lexical lookup"?
07:48 cotto yes
07:48 moritz you might need that, but I don't see the relation to CPS
07:48 moritz in particular lexical lookup is tight to static scope, not along the call chain
07:49 moritz s/tight/tied/
07:49 moritz jnthn__ might be able to comment the need of having that in M0 though
07:52 cotto CPS means (among other things) that the continuation tracks whichever variables are in scope when the continuation is taken.
07:52 cotto That continuation needs to know enough to tie a name to a value for those variables.
07:55 jnthn__ Well, I guess if you capture some kind of call frame, then something specifying the name to slot mapping would hang off that.
07:55 jnthn__ In general, we need to make looking up lexicals by name the non-default.
07:56 jnthn__ At least, for languages that know their lexicals at compile time.
07:56 cotto Sure.  That could get expensive quickly.
07:56 moritz it already is :/
07:56 * cotto hugs nqp
07:56 jnthn__ Well, it does. Rakudo and NQP have to look up all of their lexicals by name.
07:56 moritz see also: rakudo compilation :-)
07:57 jnthn__ When I implemented an optimization in nqpclr to bind just parameters by lexical slot rather than by lexical name, it cut the time for the signature binding to run in half.
07:58 cotto I'd like to see how that works.
07:59 jnthn__ cotto: Well, in nqpclr the PAST compiler is aware of the slot numbers and stashes them into the signature object.
07:59 cotto simple enough
08:00 jnthn__ One issue we have is that we currently store lexicals all in the register set.
08:00 jnthn__ So there's no distinction between temporaries and lexicals
08:00 jnthn__ e.g. we can't free the register set up at the end of a call if there's a closure.
08:01 jnthn__ So temporaries can survive way longer than they really need to.
08:02 jnthn__ nqpclr doesn't do it that way; it just allocates an array for the lexicals.
08:02 jnthn__ And the name to slot mapping is held once per block
08:02 jnthn__ Though that's maybe not dynamic enough for all languages.
08:02 contingencyplan left #parrot
08:04 moritz you mean if they allow creation of new lexicals at run time?
08:04 Eduardow left #parrot
08:04 jnthn__ moritz: Yeah
08:05 tadzik I can't think of any practical use of that
08:05 dod left #parrot
08:05 jnthn__ tadzik: Perl 6 doesn't need it at all.
08:05 tadzik fair enough
08:05 jnthn__ tadzik: I'm more concerned for other languages that Parrot wants to run. :)
08:05 dod joined #parrot
08:05 tadzik yeah, I see
08:06 cotto It'd need to be implementable somehow for some languages.
08:07 JimmyZ joined #parrot
08:10 moritz I'm pretty sure TCL needs it. It needs *all* kind of thing that drive implementors crazy
08:15 * cotto sleeps
08:17 tadzik it recently become a compiler rather than an interpreter. The major implementation I mean
08:18 moritz I'm sure it's still as insanse as perl :-)
08:19 tadzik :)
08:20 tadzik I think that the fact that it Can be interpreted makes it at least a bit less complicated
08:20 moritz well, Turing is the limit
08:21 moritz and the line between compilation and interpetation are fine and blurred
08:25 * jnthn__ tends to draw it as a dotted line these days :)
08:32 rohit_nsit08 joined #parrot
08:44 JimmyZ left #parrot
09:17 pranq left #parrot
09:22 rohit_nsit08 left #parrot
09:24 rohit_nsit08 joined #parrot
10:02 woosley left #parrot
10:22 mtk left #parrot
10:28 mtk joined #parrot
10:31 rohit_nsit08 left #parrot
10:31 rohit_nsit08 joined #parrot
10:39 rohit_nsit08 left #parrot
10:55 lucian joined #parrot
10:57 rohit_nsit08 joined #parrot
11:06 lucian_ joined #parrot
11:10 lucian left #parrot
11:11 lucian joined #parrot
11:15 lucian_ left #parrot
11:16 lucian_ joined #parrot
11:17 lucian left #parrot
11:21 kuku is now known as birdwindupbird
11:40 lucian_ is now known as lucian
11:41 moritz fwiw rakudo tests cleanly on RELEASE_3_2_0-416-g83e4dba
11:49 rohit_nsit08 left #parrot
11:52 lucian_ joined #parrot
11:55 lucian left #parrot
11:56 Patterner left #parrot
11:56 Psyche^ joined #parrot
11:56 Psyche^ is now known as Patterner
11:57 szbalint left #parrot
11:57 szbalint joined #parrot
11:58 lucian joined #parrot
11:59 jrtayloriv left #parrot
12:01 hudnix joined #parrot
12:02 lucian_ left #parrot
12:04 kid51 joined #parrot
12:04 lucian left #parrot
12:05 lucian joined #parrot
12:20 Coke left #parrot
12:20 Coke joined #parrot
12:23 lucian_ joined #parrot
12:26 lucian left #parrot
12:35 lucian_ is now known as lucian
12:41 lucian_ joined #parrot
12:44 lucian left #parrot
12:54 whiteknight joined #parrot
12:56 whiteknight good morning, #parrot
13:00 bubaflub joined #parrot
13:06 tadzik good morning whiteknight
13:08 lucian_ is now known as lucian
13:12 whiteknight hello tadzik, how are you today?
13:18 kid51 whiteknight: I am off today and at home in case you want help with that problem.
13:24 whiteknight kdi51: okay, I haven't even looked at the report you emailed me last night
13:37 S_Arms left #parrot
13:37 S_Arms joined #parrot
13:39 JimmyZ joined #parrot
13:53 mtk left #parrot
13:57 darbelo joined #parrot
13:58 mtk joined #parrot
14:11 ambs joined #parrot
14:15 theory joined #parrot
14:16 dalek parrot/parrot_3_3: b6c91ba | Whiteknight++ | / (4 files):
14:16 dalek parrot/parrot_3_3: update version numbers in a few places
14:17 dalek parrot/parrot_3_3: review: https://github.com/parrot/parrot/commit/b6c91baf98
14:17 dalek parrot/parrot_3_3: 1cfacea | Whiteknight++ | docs/p (2 files):
14:17 dalek parrot/parrot_3_3: update release_manager_guide. Add an entry to parrothist.pod, but I don't have a name yet
14:17 dalek parrot/parrot_3_3: review: https://github.com/parrot/parrot/commit/1cfaceabeb
14:38 dalek parrot/parrot_3_3: 8a1b743 | Whiteknight++ | / (3 files):
14:38 dalek parrot/parrot_3_3: add info about release to my CREDITS entry. Update release.json. Revise release_manager_guide.pod with respect to the ops2c bootstrapping steps. That mechanism is complicated enough without the clumsy half-explanation.
14:38 dalek parrot/parrot_3_3: review: https://github.com/parrot/parrot/commit/8a1b743a50
14:39 contingencyplan joined #parrot
14:43 JimmyZ left #parrot
14:54 dod left #parrot
14:59 whiteknight blah. These bootstrappy parts of the release always trip me up
15:00 whiteknight I just can't seem to figure out a sequence which allows me to do this smoothly
15:04 cotto It should Just Work if you follow the release manager guide.
15:05 PerlJam whiteknight: wasn't someone working on making parrot releaseable via dzil ?
15:05 cotto I do admit that it's fiddly though.
15:05 whiteknight cotto: if you can even understand some of the garbage written therein
15:05 PerlJam Or was that an idea that just got floated and I glommed onto it because it sounded neat?
15:06 whiteknight the lovely quote "To have parrot configured and have run make with the old version number is condition for this step." is where I am going crazy now
15:06 moritz PerlJam: probably the latter
15:06 whiteknight because when I do use a previously built parrot with the old version number to update the core ops files, I get a build warning that I'm loading the wrong ops library
15:07 whiteknight I've already rewritten that section in the branch, but if I can't get this to work, I've probably rewritten it wrongly
15:07 cotto not the good english that
15:07 whiteknight to be the bad english previously it is
15:07 PerlJam moritz: would have made a good GSoC project though  :)
15:07 moritz PerlJam: good yes, fun... probably not
15:07 moritz PerlJam: it doesn't *sound* like it can fill a whole summer though
15:08 whiteknight okay, now it seems to be building
15:08 whiteknight installed parrot was borking the process
15:08 dalek parrot/parrot_3_3: 8a77739 | Whiteknight++ | / (2 files):
15:08 dalek parrot/parrot_3_3: update ops bootstrap stuff
15:08 dalek parrot/parrot_3_3: review: https://github.com/parrot/parrot/commit/8a77739e88
15:08 PerlJam moritz: yeah ... probably.
15:09 cotto awesome
15:10 moritz PerlJam: otoh build and configure system changes tend to have a long tail of failures on... "idiosyncratic" platforms
15:10 whiteknight at least it doesn't look like we need to update PBC_COMPAT
15:11 cotto We should just because it's a major version bump.
15:11 whiteknight there's no need to update it for no reason. There have been no changes since 3.0
15:12 cotto Fine.  I'll delete an op if it'll make you happy.
15:12 whiteknight ...I don't think you understand what kinds of things make me happy
15:12 dod joined #parrot
15:12 cotto How about new?  Nobody uses that.
15:14 whiteknight blarg fail. t/steps/auto/warnings-01.t fails
15:16 hercynium joined #parrot
15:16 whiteknight looks like that's only an issue with my compiler. Works fine when I configure with gcc instead
15:23 whiteknight msg kid51 t/steps/auto/warnings-01.t fails for me when I configure with clang instead of GCC. Is that something that can be fixed or is worth fixing?
15:23 aloha OK. I'll deliver the message.
15:24 Andy_ joined #parrot
15:24 whiteknight blah. make docs fails now because I don't have JSON.pm installed
15:24 whiteknight I'm entering CPAN hell. I'll be back in a few minutes
15:24 * moritz recommends cpanm. Much less hell-ish
15:25 whiteknight I feel like the solution to my missing dependency problems is rarely "install one more dependency first"
15:26 whiteknight hmmm that actually went much faster than I was expecting. I'm glad I used --force the first time, since I did see some test failures go flying by
15:27 whiteknight saves me from having to go back and tell the computer that yes, I actually do want to install the thing I said I wanted to install
15:29 moritz whiteknight: it doesn't solve the problem for the first dependency you want to install, but for the second all subsequent
15:32 whiteknight the only time I ever do any work with perl or its modules is when I am testing or releasing parrot
15:32 whiteknight I've basically stopped using the language for any other purpose
15:34 cotto_work ~
15:34 atrodo I've noticed cotto_work hasn't been as excited in his waves lately
15:35 whiteknight wave inflation
15:35 Khisanth left #parrot
15:36 kid51 whiteknight: Can you paste failures?
15:36 whiteknight kid51: I'm fulltesting now. I'll go back to it shortly
15:38 whiteknight kid51: do you have clang? reproducing it should be very quick
15:38 whiteknight perl Configure.pl --test --cc=clang --link=clang --ld=clang
15:38 whiteknight and it was the second test to run
15:41 cotto_work ~ ~~ ~~
15:43 whiteknight now there are too many waves! They are going to be devalued! global wave markets will crash!
15:43 whiteknight I can already hear the screams of bankrupt wave traders jumping out of windows
15:43 whiteknight the horrors
15:44 cotto_work whiteknight: you dun released?
15:44 whiteknight no. I'm probably not cutting the final release until after #ps
15:44 cotto_work ok
15:44 whiteknight but I'm working in a branch, so master is free for the breaking
15:44 cotto_work git++
15:44 whiteknight git++ indeed
15:51 kid51 whiteknight: No, I don't have clang.
15:52 whiteknight kid51: okay, let me try to reproduce it now
15:52 kid51 Appears there's no debian package for it (in Lenny, at least), and it wasn't bundled with LLVM until after the llvm version I have.
15:52 Khisanth joined #parrot
15:52 moritz yep, needs to be built from source on debian
15:52 whiteknight heh, it didn't fail this time
15:52 whiteknight wonderful
15:54 kid51 What 'clang' mentions there are in config/auto/warnings.pm were added by Andy Lester in March 2010 -- which was a couple of years after I last looked at that file.
15:54 kid51 moritz: Yes, and it looks like a multi-step process here:  http://clang.llvm.org/get_started.html
15:55 kid51 Does it have any existence outside of LLVM?
15:55 whiteknight no clang is just the C compiler portion of LLVM
15:55 moritz that's a bit like asking if rakudo has any existence outside of parrot
15:55 moritz it's based on compiles to LLVM
15:56 moritz iirc apple ships it with some IDE
15:57 dmalcolm joined #parrot
15:57 kid51 Well, my general impression is that LLVM, OTOH is a more developed project than Parrot, but substantially less developed (i.e., production-ready) than, say, GNU.
15:58 moritz GNU isn't really one project
15:58 kid51 Which raises the question: Should a project like Parrot, which is still 'quite' experimental, be based on LLVM, which is still 'rather' experimental?
15:59 cotto_work We should use LLVM.  We shouldn't be married to it.
15:59 whiteknight I'm not sure I would call LLVM experimental
15:59 kid51 moritz: I was mainly referring to GCC, gnutools, etc (not Hurd)
15:59 moritz kid51: I don't see llvm as very experimental - in my experience it's quite stable and mature
15:59 whiteknight the core of LLVM is quite stable and reliable. clang is a much younger offshoot project that we don't need to use at all
16:00 whiteknight LLVM as JIT is a stable and respectable solution
16:00 moritz kid51: I compiled parrot to llvm (with llvm-gcc) some two years ago, and all tests passed. Even rakudo on top of that worked fine. And that was without any tuning of any code base
16:00 moritz s/to/with/
16:09 whiteknight i think llvm-gcc has been discontinued or something
16:09 lucian whiteknight: except that it's not very good for JITs in general
16:09 lucian whiteknight: it's been replaced with dragonegg, i think
16:10 whiteknight lucian: I've heard that sentiment repeated several times, but I've never seen any evidence that it is not or cannot be made to be a suitably good JIT solution
16:10 moritz whiteknight: maybe because clang is now good enough
16:10 whiteknight moritz: now that it has full c++ support, I suspect that is true
16:10 lucian whiteknight: you should talk to rubinius folk
16:10 lucian whiteknight: llvm makes patching code very hard
16:10 whiteknight lucian: I've heard that said before too. Any worthwhile lessons would have ended up written and published somewhere by now
16:11 lucian the best it can do is compile a single function at runtime
16:11 lucian no patching, no tracing
16:11 whiteknight lucian: and that doesn't answer the question about whether or not the rubinus folk were just too incompetent to use it correctly
16:11 lucian whiteknight: well, they're not the only ones. unladen swallow, pypy
16:11 whiteknight tracing isn't something the actual compiler would do anyway. The runtime does the tracing and creates an execution sequence for the JIT to compile
16:12 lucian sure, but that's my point
16:12 lucian llvm is huge, and a great static compiler
16:12 lucian but there are no JIT features to speak of
16:12 lucian it's about as good as generating C code and invoking gcc at runtime
16:12 lucian just slightly better
16:12 whiteknight then what is the recommended replacement?
16:12 whiteknight libJIT?
16:12 whiteknight nanoJIT?
16:13 lucian perhaps
16:13 whiteknight saying LLVM is not good enough, and actually offering a superior alternative are two completely different arguments
16:13 lucian nanojit has been used extensively for JITs
16:13 whiteknight the former doesn't convince me very much
16:13 lucian libjit is abandoned, sort of i think
16:13 lucian lightning is frozen
16:14 whiteknight that's the impression I've gotten libjit and lightning are both out of the running
16:14 lucian all the cool kids these days write their own codegen (PyPy, v8, jscore)
16:14 whiteknight see, that's exactly the kind of crap we want to avoid
16:14 lucian and if you talk to PyPy folks, it makes sense
16:14 whiteknight we don't want to write a JIT here
16:14 lucian when all of these projects started, nanojit was either nonexistent or too immature
16:14 whiteknight we did that once, and it sucked mightily
16:14 lucian but you'll still write a jit, just not the codegen
16:15 whiteknight right, that's what I mean. the codegen is what we want to avoid
16:15 lucian sure
16:15 whiteknight because we already support x86, x86_64, ARM, and PPC. That's a hassle
16:15 lucian the problem is that llvm doesn't have any advantages for being so inflexible
16:15 lucian its optimisations are completely unsuitable for dynamic languages
16:16 whiteknight advantages are that it's available, we're familiar with it, and we can make it work with our system
16:16 whiteknight and for a first "real" stab at JIT, those aren't things to be ignored
16:16 lucian rubinius does bytecode interpretation and uses llvm for hotspots, as a dumb portable assembly
16:16 whiteknight that's probably close to what we will end up doing
16:17 lucian sure, but then you might as well go with nanojit
16:17 lucian it's much faster, and smaller
16:17 lucian even running java is hard on llvm (look at VMkit)
16:18 lucian although that's not great either
16:18 lucian i think it only has x86 and arm backends
16:18 whiteknight see, that's a serious problem
16:19 whiteknight unless we want to declare that some of our target platforms do not have JIT support
16:19 whiteknight and it's hard to make an argument that we "support" them if we don't offer such important services there
16:19 lucian how many users are there on ppc/sparc?
16:19 whiteknight more than zero
16:20 lucian i see
16:20 lucian hmm. i get conflicting data
16:20 lucian nanojit may have mips, ppc and sparc backends
16:20 whiteknight and we're not going to amputate target platforms because of some quick cost/benefit calculation
16:20 lucian this is funny http://www.masonchang.com/blog/tag/nanojit
16:21 lucian i agree with kid51's point mostly. llvm isn't mature as a target for a JIT, especially for dynamic languages
16:22 whiteknight last time I looked at nanoJit, probably less than a year ago, it was still woefully immature and inadequate, and in a state of major development flux
16:22 whiteknight I worry that it will not be stable enough for us because it will always be serving a higher master: JS in FireFox
16:23 whiteknight every time they need something changed, nanoJit is going to up and change
16:23 lucian whiteknight: hmm http://hg.mozilla.org/tamarin-r​edux/file/3070ff6dee1f/nanojit
16:24 lucian apparently there's backends for everything, and apparently not bitrotten either
16:24 whiteknight okay, that's encouraging
16:25 lucian actually scratch that, everything has the same date
16:25 lucian they could very well be bitrotten
16:25 cotto_work It's odd that all the files have the same timestamp
16:25 whiteknight like I said, a year ago it was in a very sorry state of affairs, and I don't know how much things would have changed since then
16:28 lucian cotto_work: indeed.
16:28 Khisanth left #parrot
16:28 lucian it's probably a mirror or something
16:33 cotto_work looks like that the dev repo for Tamarin
16:33 cotto_work *that is
16:33 cotto_work I didn't know it was under active development
16:38 dukeleto ~~
16:38 dukeleto did a release get tagged yet?
16:38 * dukeleto wants to know when he can break master
16:38 cotto_work dukeleto: yup.  whiteknight said so.
16:38 whiteknight release is happening in a branch. master is free for murder and unpleasantness
16:39 whiteknight I can cherry-pick last-minute fixes and NEWS/PLATFORM updates if necessary
16:49 whiteknight maybe first change should be to make GMS the default GC core?
16:49 cotto_work wfm
16:49 whiteknight and mention that fact in news?
16:50 ShaneC1 joined #parrot
16:51 birdwindupbird left #parrot
16:58 dalek parrot: ed159d0 | cotto++ | / (2 files):
16:58 dalek parrot: make gms the new default GC, update NEWS, drop some unneeded code
16:58 dalek parrot: review: https://github.com/parrot/parrot/commit/ed159d06e6
16:58 cotto_work sadly, the build failed to break
16:58 mj41 left #parrot
17:02 dukeleto whiteknight++
17:02 dukeleto cotto_work: i can probably fix that
17:02 dukeleto cotto_work: did you have to buy a ticket for LFNW? Or do we just show up?
17:02 tadzik I can test something if it's needed
17:02 tadzik fulltest on the 3.3 branch?
17:02 cotto_work dukeleto: good question
17:02 whiteknight tadzik: that would be wonderful
17:02 tadzik on it
17:02 whiteknight tadzik++
17:03 dalek parrot: 61176bb | dukeleto++ | t/src/extend_vtable.t:
17:03 dalek parrot: Merge branch 'leto/embed_grant'
17:03 dalek parrot: review: https://github.com/parrot/parrot/commit/61176bb715
17:03 * dukeleto crosses his fingers
17:03 cotto_work dukeleto: I guess you just register on their site if you feel like it.  If not, just show up.
17:04 dukeleto LinuxFest Northwest is an annual event held at Bellingham (WA) Technical College. Linux and open source experts, users and enthusiasts share their experience with a wide variety of free and open source technologies. There is no charge for parking nor for admission to the exhibits and presentations.
17:04 dukeleto it is on the top banner of the front page. Why would I read something like that?
17:05 cotto_work beats me
17:05 cotto_work nobody reads that kind of copy
17:08 nopaste "tadzik" at 192.168.1.3 pasted "parrot_3_3 failures with --gc=gms --optimize" (13 lines) at http://nopaste.snit.ch/40920
17:09 whiteknight is that on windows?
17:09 tadzik nope, linux, amd64
17:09 whiteknight oh shoot
17:09 whiteknight that's no good
17:09 davidfetter joined #parrot
17:10 whiteknight let me try out that configuration now
17:10 nopaste "tadzik" at 192.168.1.3 pasted "moar failures" (25 lines) at http://nopaste.snit.ch/40921
17:10 tadzik more informative too
17:11 darbelo left #parrot
17:11 dalek parrot: 31ca512 | cotto++ | src/string/api.c:
17:11 dalek parrot: simplify hash seed initialization and remove a debugging macro
17:11 dalek parrot: review: https://github.com/parrot/parrot/commit/31ca512cd1
17:12 whiteknight at the very least, that seems like a terrible error message.
17:12 whiteknight it should say which family is not supported
17:13 lucian_ joined #parrot
17:13 cotto_work works fine on my machine
17:13 lucian left #parrot
17:13 cotto_work nice to see that something's broken though
17:13 cotto_work tadzik++
17:14 whiteknight that's the question though, is parrot broken or is tadzik's setup weird?
17:14 whiteknight I'm building now
17:14 * tadzik gives his laptop a suspicious look
17:16 whiteknight the evil eye is what broke it in the first place
17:18 whiteknight works just fine on my machine too
17:18 cotto_work It boggles my mind that I can by 8GB of ram for a just-released laptop for less than $100.
17:18 sorear I remember back when 8GB of hard drive cost more than that
17:19 sorear And I'm only 20
17:19 * davidfetter vaguely boggled, but for another reason: that the price-fixing that caused this to be surprising hasn't been criminally prosecuted.
17:19 davidfetter it's not like the manufacturing processes suddenly got that much cheaper
17:22 dukeleto my first RAM upgrade was 4MB 30-pin DIMMs that cost $200. I just bought 6GB for $75. Times have changed.
17:22 dukeleto whiteknight: do you need help with anything?
17:23 whiteknight dukeleto: no, I think I have everything ready.
17:23 dukeleto whiteknight: sounds good. did somebody add the -L thing to NEWS?
17:23 ShaneC left #parrot
17:23 whiteknight the -L thing is not worth mentioning yet
17:23 dukeleto whiteknight: because it is experimental?
17:24 dukeleto whiteknight: a user asked for it. I figured others might want to know. We of course should say that it is experimental
17:24 cotto_work because it's not very significant
17:24 whiteknight it's not significant and I'm very unhappy with it
17:24 dukeleto hokey dokey
17:24 whiteknight we do need to change it shortly after the release to something with less fail
17:25 cotto_work whiteknight++ for mentioning that
17:25 dukeleto whiteknight: does it have tests?
17:25 cotto_work It feels bolted-on.
17:26 tadzik what's -L?
17:28 ShaneC1 left #parrot
17:28 ShaneC joined #parrot
17:30 dukeleto tadzik: augments the parrot library search path, i think
17:30 dukeleto so is parrot 3.3.0 still looking in . for libraries, by default ?
17:30 lucian joined #parrot
17:32 lucian_ left #parrot
17:32 ShaneC left #parrot
17:34 jnthn__ nqp's build uses -L and -I, fwiw.
17:34 jnthn__ (e.g., they work ;))
17:35 Coke left #parrot
17:35 Coke joined #parrot
17:36 Eduardow joined #parrot
17:37 mj41 joined #parrot
17:38 dalek TT #2097 created by jkeenan++: darwin/ppc build failure once gms is default GC
17:38 dalek TT #2097: http://trac.parrot.org/parrot/ticket/2097
17:39 soh_cah_toa joined #parrot
17:47 whiteknight that problem on PPC is troubling
17:47 whiteknight I wonder if anybody can reproduce besides kid51
17:54 Andy_ I've reproduced.  Quinn is now 9.
17:54 whiteknight I really need to get myself access to a PPC machine eventually
17:54 Andy_ What runs on a PPC?  Old Macs?
17:55 whiteknight i guess
17:55 lucian ps3
17:55 lucian actually, all consoles nowadays
17:56 kid51 That's Mac OS X 10.4.11 ... hey, we were all using that a few years back!
17:56 kid51 afk lunch
17:56 Andy_ hey wait, kid51, what is lunch?
17:56 Andy_ I need inspiration.
18:16 whiteknight dukeleto: ping
18:20 whiteknight nevermind, unping
18:21 lucian_ joined #parrot
18:21 tadzik whiteknight: any clues about my ipv6 fail?
18:21 tadzik auto::ipv6 -          Determine IPV6 capabilities.........................yes.
18:24 whiteknight tadzik: no, I haven't been looking at it
18:24 lucian left #parrot
18:25 plobsing left #parrot
18:27 kid51 When I configure 'master' with '--gc=ms2' on Darwin/PPC, 'make' completes ... but now t/src/extend_vtable.t is once again failing.
18:29 TypeNameHere____ joined #parrot
18:29 lucian_ left #parrot
18:31 theory left #parrot
18:33 TypeNameHere____ left #parrot
18:33 TypeNameHere____ joined #parrot
18:33 TypeNameHere____ left #parrot
18:36 dukeleto whiteknight: poing
18:36 dukeleto whiteknight: unpoing
18:36 dukeleto kid51: that is expected
18:37 dukeleto kid51: i broke master, because our release is from another branch
18:37 dukeleto tadzik: what is your ipv6 fail?
18:37 dukeleto tadzik: is there a TT for it?
18:37 tadzik dukeleto: http://nopaste.snit.ch/40920 and http://nopaste.snit.ch/40921
18:38 tadzik dukeleto: nope, it's today's
18:39 dukeleto tadzik: looks like ipv6 is misdetected on your system
18:39 dukeleto tadzik: does your system support ipv6?
18:39 dukeleto tadzik: please nopaste the output of "parrot_config --dump" on that system
18:41 tadzik http://pastie.org/1812587
18:41 dalek TT #2098 created by jkeenan++: t/src/extend_vtable.t: test failures on Darwin/PPC with --gc=ms2
18:41 dalek TT #2098: http://trac.parrot.org/parrot/ticket/2098
18:42 tadzik dukeleto: I'm not sure if it does, I don't use it
18:42 lucian joined #parrot
18:42 tadzik is this a kernel thing?
18:49 dukeleto tadzik: yeah
18:49 dukeleto tadzik: which distro are you using?
18:50 dukeleto tadzik: do you have any kernel security features turned on?
18:50 tadzik dukeleto: Gentoo. Just peeking into nconfig
18:50 tadzik dukeleto: no I think not
18:50 dukeleto tadzik: you may be the first gentoo person to run ipv6 tests.
18:50 tadzik < >   The IPv6 protocol  --->
18:50 tadzik no, doesn't look like I'm ipv6 friendly
18:51 dukeleto tadzik: kid51 wrote the config steps to detect ipv6
18:51 dukeleto tadzik: sounds like we misdetect ipv6 on gentoo
18:51 * dukeleto has to go
18:51 dukeleto tadzik: can you create a TT for this?
18:51 tadzik > zgrep IPV6 /proc/config.gz
18:51 tadzik # CONFIG_IPV6 is not set
18:52 tadzik dukeleto: preferably not today, but yeah
18:52 dukeleto tadzik: something like "ipv6 is mis-detected on gentoo" and give the "uname -a" and version of gentoo and cc on your machine
18:52 dukeleto tadzik: or just email parrot-dev and someone else will
18:52 dukeleto tadzik: thanks!
18:52 tadzik gentoo has no versions :) I will, no problem
18:53 Coke left #parrot
18:53 Coke joined #parrot
18:59 lucian_ joined #parrot
19:01 lucian left #parrot
19:04 Coke left #parrot
19:04 Coke joined #parrot
19:07 lucian joined #parrot
19:09 lucian_ left #parrot
19:12 kid51 /j #parrotsketch
19:15 Khisanth joined #parrot
19:15 theory joined #parrot
19:18 bubaflub left #parrot
19:18 lucian_ joined #parrot
19:20 atrodo kid51> What's your YAPC::NA talk about?
19:20 kid51 Lemme see if I can remember ...
19:20 cotto_work something about community management
19:21 lucian left #parrot
19:23 kid51 Open Source Software Projects and Organizations: Community Issues
19:23 kid51 http://www.yapc2011.us/yn2011/talk/3333
19:24 atrodo Oh, sweet, the schedule is up.  Time to star!
19:25 atrodo Is there a parrot BOF setup yet?
19:25 kid51 No, we haven't done that.  Please bring that up at #parrotsketch today.
19:25 tadzik BOF?
19:26 kid51 Birds of a Feather
19:26 atrodo Birds of a Feather
19:26 atrodo Basically, people of a common intrest getting together
19:26 tadzik I see
19:27 kid51 aloha: BOF?
19:27 aloha kid51: Dunno.
19:28 kid51 aloha: BOF?
19:28 aloha kid51: I have no idea.
19:28 kid51 aloha is so dumb.  I just taught her that in a private session, but she can't repeat it back in public!
19:30 atrodo Shy!
19:30 tadzik she's discrete
19:30 Andy_ tadzik: the word you want is "discreet".
19:30 lucian_ left #parrot
19:30 tadzik thanks Andy_
19:31 Andy_ http://www.wsu.edu/~brians/errors/discreet.html
19:32 Tene Andy_: not necessarily; "discrete" could apply just fine here, in saying that aloha keeps knowledge from different channels separate and distinct.
19:32 tadzik so discreet girl, and discrete mathematics, right?
19:32 Andy_ Right.
19:36 theory left #parrot
19:36 bubaflub joined #parrot
19:37 cotto_work like Bender's dating service
19:47 theory joined #parrot
19:48 cotto_work #ps in 42
19:50 S_Arms left #parrot
19:58 lucian joined #parrot
19:58 kid51 left #parrot
20:00 S_Arms joined #parrot
20:05 TiMBuS left #parrot
20:05 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#15075) fulltest) at 3_2_0-428-g31ca512
20:05 mikehh Ubuntu 11.04 beta amd64 (gcc --optimize --gc=gms)
20:08 * Tene contributes to pds poll
20:24 jrtayloriv joined #parrot
20:28 whiteknight left #parrot
20:31 cotto_work #ps in now
20:48 Khisanth left #parrot
20:48 Khisanth joined #parrot
20:53 mikehh rakudo (887bb5b) - builds on parrot (3_2_0-428-g31ca512) - make test, make spectest_smolder[(#15079), roast (7309150)] PASS
20:53 mikehh Ubuntu 11.04 beta amd64 (gcc --optimize --gc=gms)
20:53 mikehh 27,695 ok, 0 failed, 606 todo, 1,800 skipped and 0 unexpectedly succeeded
20:54 lucian_ joined #parrot
20:58 lucian left #parrot
20:58 davidfetter left #parrot
21:11 perlite_ joined #parrot
21:12 lucian joined #parrot
21:13 lucian left #parrot
21:14 kid51 joined #parrot
21:15 perlite left #parrot
21:15 perlite_ is now known as perlite
21:16 lucian_ left #parrot
21:18 donaldh joined #parrot
21:23 ambs left #parrot
21:26 fperrad left #parrot
21:31 mj41 left #parrot
21:31 theory left #parrot
21:32 theory joined #parrot
21:43 bubaflub left #parrot
21:43 bubaflub joined #parrot
21:43 bubaflub left #parrot
21:43 bubaflub joined #parrot
22:10 donaldh left #parrot
22:23 davidfetter joined #parrot
22:23 whiteknight joined #parrot
22:33 bubaflub left #parrot
22:41 whiteknight #ps looked short and uneventful
22:42 whiteknight I'm building what will become the release now. Any objections or last-minute additions?
22:46 mtk left #parrot
22:46 cotto_work go for it
22:50 Andy_ left #parrot
22:50 whiteknight okay, I'm fulltesting the tarball. If all is well, we have a release
22:55 whiteknight unfortunately I can't run fulltest in parallel, because that damn threads.t test goes crazy sometimes
22:55 whiteknight running multiple test targets, or too many test jobs, seems to trigger failures more commonly
22:56 KaeseEs when you say it goes crazy...
22:58 whiteknight I mean the test randomly fails
22:59 whiteknight which is crazy, since that's not the kind of thing a test should do
22:59 whiteknight false negatives == worthless test
22:59 whiteknight actually, worse than worthless, since we have to take time to understand and diagnose the failure, or do stupid things to avoid it
23:03 hercynium left #parrot
23:10 dalek parrot/parrot_3_3: c1bc61d | Whiteknight++ | / (2 files):
23:10 dalek parrot/parrot_3_3: Parrot 3.3 is 'Fire in the Sky'
23:10 dalek parrot/parrot_3_3: review: https://github.com/parrot/parrot/commit/c1bc61d28b
23:11 Maddingue left #parrot
23:11 Maddingue joined #parrot
23:16 plobsing joined #parrot
23:20 davidfetter left #parrot
23:21 whiteknight cotto_work: ping
23:26 plobsing left #parrot
23:30 cotto_work whiteknight: pong
23:30 whiteknight cotto_work: privmsg
23:33 kid51 left #parrot
23:37 ShaneC joined #parrot
23:39 Eduardow left #parrot
23:41 cotto_work http://pdp11.aiju.de/
23:42 theory left #parrot
23:42 Eduardow joined #parrot
23:47 cotto_work I was planning on doing something that wasn't Portal 2 until I found out that it's out today.
23:48 dalek website: Whiteknight++ | Parrot 3.3.0 "Fire in the Sky" Released!
23:48 dalek website: http://www.parrot.org/news/2011/Parrot-3.3.0
23:48 cotto_work I'm not sure sleep is in order.
23:48 * cotto_work goes home
23:49 Eduardow left #parrot
23:50 whiteknight anybody here with access to parrotvm?
23:53 Eduardow joined #parrot

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

Parrot | source cross referenced