Camelia, the Perl 6 bug

IRC log for #parrot, 2010-10-08

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 dukeleto hatseflats: just wondering. the ebuild says scarabeus wrote it
00:02 hatseflats dukeleto: the only files in there are .dump files and one vtable.tbl
00:02 hatseflats don't know if that means something
00:03 ellefu Quick question: In a .pmc file, how would I specify a method name (like "METHOD PMC* foobar()") that doesn't conform to C syntax? (Say, if it has a dash in it or something.)
00:03 cotto ellefu, did you try something and get an error?
00:04 cotto It's possible pmc2c may need to be smartened up to handle whatever you're trying to do.
00:04 dukeleto ellefu: .pmc files get converted to C by pmc2c, like cotto++ said
00:04 * cotto says a lot of things
00:04 * dukeleto even believes a few of them
00:05 cotto For some reason, running nqp-rx's build and test suite under the profiling runcore is a bit slower than normal.
00:07 cotto ellefu, what's the name you want to use?
00:10 ellefu 'set-car'. :-)  Playing around with implementing a proper Lisp in Parrot.
00:11 ellefu Interesting. If I try to quote the method name, like one would in PIR ("METHOD void 'set-car'(PMC* value)") actually causes pmc2c to ignore that method declaration entirely. The generated code just skips right over it.
00:11 cotto pmc2c is like that
00:12 bacek_at_work cotto, hey. Time to resurrect pct_pmc? :)
00:12 bacek_at_work at least we can bring Grammar to trunk to use as validator
00:13 cotto bacek_at_work, I thought that there wouldn't be a need for pct_pmc.
00:14 bacek_at_work cotto, no, but we have functional Grammar for PMC in branch.
00:15 cotto It could be useful, but it'd also be really slow compared to the current process.
00:16 ellefu Slow is fine, as long as it works.
00:17 cotto I don't think you realize how slow it'd be.
00:17 bacek_at_work cotto, we just need profiling to tune nqp-rx. Oh wait...
00:17 bacek_at_work :)
00:17 cotto heh
00:17 cotto nqp-rx is looking good so far
00:18 cotto Next up is Rakudo's build and spectest.  That should only take a couple days.
00:18 theory left #parrot
00:19 cotto all tests pass
00:19 cotto woo-hoo!
00:20 bacek_at_work ship it!
00:29 cotto bacek_at_work, do you have an x64 machine you could test a patch on?
00:29 bacek_at_work cotto, at home.
00:30 nopaste "cotto" at 192.168.1.3 pasted "hard-code profiling runcore as the default (do not commit)" (51 lines) at http://nopaste.snit.ch/24095
00:30 cotto ok.  I'd appreciate it if you could apply that and run Parrot and nqp-rx's build and tests.
00:30 * cotto needs to go afk
00:47 nopaste left #parrot
00:54 nopaste joined #parrot
01:07 whiteknight left #parrot
01:29 ruoso joined #parrot
01:44 theory joined #parrot
01:58 kid51 joined #parrot
02:24 kid51 left #parrot
02:25 jsut_ joined #parrot
02:30 jsut left #parrot
02:35 janus left #parrot
02:41 tcurtis joined #parrot
03:01 plobsing ellefu: I think you might be able to work around your C-invalid identifier issue by listing the method under a C-valid identifier and then moving the method.
03:13 janus joined #parrot
03:14 treed left #parrot
04:23 dukeleto 'ello
04:32 sri left #parrot
04:37 plobsing hiya duke!
04:40 sri joined #parrot
04:58 cotto ~~~~
05:01 bacek_at_work ENOMATCH
05:09 cotto ENOTSMARTENOUGH
05:10 cotto The Rakudo build works with the profiling runcore.
05:10 cotto Happy times.
05:11 cotto I suppose the next task is to make it useful.
05:13 bacek_at_work What about World Domination? And pony?
05:15 cotto World Domination is hard.
05:15 cotto Let's go shopping.
05:15 plobsing profiling runcore allows us to dominate a more efficient world.
05:16 plobsing with turbo-ponies
05:17 cotto I'm getting tired of typing "profiling runcore".  How does "profcore" sound?
05:22 jsut joined #parrot
05:22 ellefu plobsing: Yeah, that's my backup plan. At the moment, toying around with changing pmc2c to distinguish between C identifiers and method names. We'll see.
05:24 bacek_at_work cotto, PCore is shorter :)
05:25 plobsing let's just call it PR
05:26 plobsing as in "our PR is broken again"
05:27 cotto "pcore" has potential
05:27 cotto way easier to type
05:27 jsut_ left #parrot
05:41 cotto anyone know what the parking situation is at the venue for the Portland meeting next Saturday?
05:45 cotto Hmm.  The venue isn't far from omsi.
05:46 tcurtis left #parrot
05:47 cotto Maybe that'll be a good time to work on resurrecting khairul's project.
05:57 theory left #parrot
06:14 dukeleto cotto: the parking situation? it has a parking lot, which will probably have space during the day. sometimes it fills up at night
06:14 dukeleto cotto: are you planning on coming to the parrot gathering? that would be awesome!
06:14 cotto thanks.  I hate looking for a spot.
06:14 cotto of course!
06:14 cotto It's only a few hours away.
06:15 dukeleto cotto: sweet! I am even more excited now. We can complain about Subversion IRL
06:15 cotto Is chromatic in?
06:18 dukeleto cotto: hopefully. It would be awesome if particle could come too, but I am not sure.
06:19 dukeleto cotto: some very nice people spread the word to lots of local tech groups, so I am hoping ot get some other peopl in the virtual machine world to show up, like some Rubinius people
06:19 cotto great idea
06:19 cotto we can hardly have too much cross-polination
06:20 dukeleto cotto: i think virtual machines can learn from each other. There is no reason why Rubinius and Parrot shouldn't be sharing good ideas.
06:20 cotto *pollination
06:21 cotto Though I'd imagine that the Rubinius guys focus more on using the jvm optimally than writing their own.
06:22 cotto but they could tell us what's great about the jvm and what's not
06:24 dukeleto cotto: yeah, I don't expect lots of direct colloboration, but the sharing of good high-level ideas
06:46 ellefu left #parrot
06:46 ellefu joined #parrot
07:34 mikehh left #parrot
07:43 M_o_C joined #parrot
07:48 luben_work joined #parrot
07:55 fperrad joined #parrot
08:51 dukeleto how do I regenerate tools/dev/mk_language_shell.pl if I patched the mk_language_shell.in file?
08:55 cotto why does that file add $PConfig{exe} to the end of a perl script?
08:55 cotto reconfig?
08:58 dukeleto cotto: it is a file that gets fiddled with and then mk_language_shell.pl is generated from it
08:58 dukeleto running "make" after applying a patch to it didn't generate the .pl
08:58 dukeleto i guess i can run "make clean" then "make", but that seems suboptimal
08:58 dukeleto there used to be a "tools" target, iirc
09:04 ellefu What if you delete mk_language_shell.pl, then make?
09:06 ellefu Also, I think I found another bug while futzing with pmc2c -- could someone look at line 798 of default.pmc and confirm that there's really supposed to be a 'VTABLE' in that function definition?
09:07 cotto ellefu++
09:08 cotto I didn't even know we had a VTABLE slot for that.
09:08 ellefu pmc2c is driving me mad. Its response to anything that it doesn't understand is to just silently give up.
09:08 cotto Ah.  It's a fairly recent addition by bacek.
09:09 cotto ellefu, it's not an especially well-designed tool.
09:09 ellefu Nothing that can't be fixed. :-)
09:09 cotto nothing that can be fixed easily, though
09:09 cotto though if you have a patch...
09:09 dukeleto ellefu: i would like some tests for your patch to mk_language_shell
09:09 ellefu Well, I've got the "quoting function names" thing almost done.
09:10 bacek cotto, it was added more than year ago. "Fairly recent" :)
09:10 dukeleto ellefu: i am thinking we need to make sure that created languages compile and pass their tests
09:10 dukeleto ellefu: otherwise, every time there is a change in parrot, our scripts will break and we won't know
09:11 * cotto needs to stop thinking about revisions around 40000 as recent.
09:11 * dukeleto goes to sleep and hope for lovely patches in the morning
09:11 cotto night
09:11 dukeleto cotto: yes, do that. And feed the magic git ponies so we can ride them into the setting sun
09:11 ellefu dukeleto: So have mk_language_shell.pl do a "parrot setup.pir test" after generating the boilerplate?
09:12 cotto ellefu, yes, but using the newly-built parrot
09:12 cotto as opposed to an installed one from 7 months ago that the user's conveniently forgotten about
09:13 dukeleto ellefu: yes, there is a test file called t/tools/mk_language_shell.t
09:13 ellefu Will do.
09:14 dukeleto ellefu: the same problem probably exists in create_language.pl, please fix that as well :) They will be merged in the future, but we are maintaining both for now
09:14 dukeleto ellefu: they use different configure systems (Configure.pl vs setup.pir)
09:14 * dukeleto actually goes to sleep
09:15 * cotto too
09:15 ellefu Nope, create_language.pl doesn't appear to generate .pmc files.
09:16 cotto It probably needs some convincing.  It should have the option there somewhere.
09:16 cotto 'night humans and bots
09:16 ellefu Night!
09:20 ellefu bacek: Any reason not to change "warn "FATAL ERROR: Duplicated VTABLE function: " . $method->name" to a die()?
09:27 bacek ellefu, "deprecation policy"
09:27 ellefu Ouch.
09:28 bacek check trac. I think it should be deprecated already. Otherwise - create deprecation ticket and we'll fix it after next release in 2 weeks time.
09:29 sorear good timing, btw
09:31 ellefu Trac says that the warning is eligible for removal after Oct 19.
09:43 bacek ellefu, yes. After next supported release (2.9)
09:53 M_o_C left #parrot
10:04 contingencyplan left #parrot
10:35 M_o_C joined #parrot
11:02 dalek parrot: r49476 | bacek++ | branches/generational_gc (2 files):
11:03 dalek parrot: Add write barriers to CallContext mutable accessors
11:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49476/
11:03 dalek parrot: r49477 | bacek++ | branches/generational_gc/src/gc (4 files):
11:03 dalek parrot: Rename GC.mark_pobj_header into .mark_str_header to reflect semantics.
11:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49477/
11:03 dalek parrot: r49478 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:03 dalek parrot: Shuffle functions around. Everything is probably broken. Let's start from scratch for mark_and_sweep function
11:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49478/
11:03 dalek parrot: r49479 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:03 dalek parrot: Rewrite generational MS algorithm. Does compile. Doesn't work
11:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49479/
11:18 dalek parrot: r49480 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:18 dalek parrot: Fix typos.
11:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49480/
11:23 ruoso left #parrot
11:33 mikehh joined #parrot
11:46 whiteknight joined #parrot
11:47 whiteknight left #parrot
11:49 dalek parrot: r49481 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:49 dalek parrot: Don't kill "constant" objects...
11:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49481/
11:49 dalek parrot: r49482 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:49 dalek parrot: Fix cleanup flags
11:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49482/
11:58 mikehh bacek: you got missing docs and asserts
11:59 mikehh bacek: you want me to try and sort it out?
12:01 mikehh bacek: and c++ comments in generational_gc/src/pmc/default.pmc
12:27 tadzik joined #parrot
12:37 allison joined #parrot
12:41 bluescreen joined #parrot
12:47 ruoso joined #parrot
13:03 tcurtis joined #parrot
13:03 tcurtis left #parrot
13:19 jan left #parrot
13:20 Patterner left #parrot
13:22 M_o_C left #parrot
13:30 Psyche^ joined #parrot
13:30 Psyche^ is now known as Patterner
13:31 whiteknight joined #parrot
13:45 tadzik left #parrot
13:49 PerlJam joined #parrot
13:51 theory joined #parrot
13:55 theory left #parrot
13:59 bacek left #parrot
14:01 bacek joined #parrot
14:08 tadzik joined #parrot
14:40 luben_work left #parrot
14:42 contingencyplan joined #parrot
14:57 jan joined #parrot
14:58 tadzik left #parrot
15:09 Andy joined #parrot
15:14 he_ joined #parrot
15:15 theory joined #parrot
15:19 smash joined #parrot
15:19 smash hello everyone
15:22 whiteknight hello smash
15:25 bacek left #parrot
15:25 bacek joined #parrot
15:30 theory left #parrot
15:33 theory joined #parrot
15:50 bacek left #parrot
15:55 bacek joined #parrot
16:07 ruoso left #parrot
16:38 brianwisti joined #parrot
16:44 brianwisti Came on to ask a question and found the answer before I had a chance. So ... um ... hey.
16:48 whiteknight hey!
16:49 whiteknight we always like answering questions here, even if we answer our own
16:49 moritz will I switch on the light in the next 10 minutes? I think I will, it's getting dark...
16:51 brianwisti Well, I sort of answered my question. Good enough for today. But for later: how can I tell if a PMC can be invoked? I went the lazy way and checked if typeof is 'Sub', but that might not work for advanced cleverness.
16:51 plobsing you are likely to be eaten by a grue
16:51 whiteknight brianwisti: Most core types implement the role "invocable"
16:51 whiteknight so $I0 = does $P0, "invocable"
16:51 whiteknight er, invokable
16:52 whiteknight it's not a hard-and-fast rule, but invokable core types should implement that role
16:53 brianwisti That works and soothes my easily ruffled sense of code propriety. Thanks, whiteknight
16:54 whiteknight brianwisti: no problem. What kind of fun project are you working on?
16:55 brianwisti I'm poking at the next Parrot Babystep while my work tests run.
16:55 whiteknight oh, nice
16:57 brianwisti Finally getting into namespaces.
17:09 fperrad left #parrot
17:37 allison left #parrot
17:39 dip left #parrot
17:43 theory left #parrot
17:45 M_o_C joined #parrot
17:59 dukeleto hola
18:01 cotto Hmmm.  Testing mk_language_shell-generated languages might be tricky.  It appears to assume that it's being run with an installed parrot and doesn't work when running from a build tree.
18:02 dukeleto cotto: did some tests get added for that recently?
18:04 cotto I'm adding one.
18:04 cotto I guess I can TODO it for now.
18:06 dukeleto cotto: it shouldn't use the installed parrot
18:06 dukeleto cotto: but something is better than nothing. TODO it and I can try to tweak it
18:07 dukeleto cotto: you should be able to get the path of the compiled parrot binary from parrot_config
18:07 cotto dukeleto, it can run the built parrot just fine, but the language won't built
18:08 cotto You can easily repro by making a dummy language and trying to run setup.pir with a parrot from the build tree.
18:09 dukeleto cotto: i think that is what I have been doing
18:09 dukeleto cotto: what kind of error are you getting? are you using --with-pmc ?
18:11 cotto yes
18:12 plobsing left #parrot
18:12 dukeleto cotto: have you tried the update_patch at http://trac.parrot.org/parrot/ticket/1819 ?
18:13 dukeleto cotto: i didin't want to apply that patch unless I could show that it actually works with the patch
18:13 dukeleto cotto: if that patch makes your test work, please apply
18:14 dalek parrot: r49483 | cotto++ | trunk/src/pmc/default.pmc:
18:14 dalek parrot: [pmc] add missing VTABLE to a vtable declaration noticed by ellefu++
18:14 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49483/
18:15 cotto looking now
18:15 cotto also, todo'd tests were just committed
18:18 cotto How do you spell >/dev/null on windows?  The tests I just added are pretty noisy.
18:21 cotto > NUL seems to be the answer
18:21 brianwisti left #parrot
18:22 cotto Is anyone on window to test something?
18:25 dukeleto cotto: you can look at the windows taptinder runs
18:27 cotto This is true.
18:29 dalek parrot: r49484 | cotto++ | trunk/t/tools/mk_language_shell.t:
18:29 dalek parrot: [t] add a couple TODO'd tests to make sure generated languages build and pass their tests
18:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49484/
18:32 dukeleto cotto++
18:39 mj41 left #parrot
18:44 dukeleto cotto: those TODO's pass on my machine (64bit linux).
18:44 mj41 joined #parrot
18:45 dalek parrot: r49485 | cotto++ | trunk/t/tools/mk_language_shell.t:
18:45 dalek parrot: [t] make language build and test tests less noisy
18:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49485/
18:47 dukeleto cotto: do they fail on your machine?
18:47 dukeleto cotto: or were you just being defensive with the TODO?
18:49 cotto They fail on my machine.
18:54 cotto Testing create_language may have similar problems.
18:56 cotto it does
18:58 bluescreen left #parrot
18:59 bluescreen joined #parrot
19:02 cotto Assuming an installed parrot is reasonable for language creation scripts, but it does make testing tricky.
19:17 particle left #parrot
19:18 particle joined #parrot
19:42 cogno joined #parrot
19:48 ruoso joined #parrot
20:01 whiteknight left #parrot
20:03 he left #parrot
20:10 davidfetter joined #parrot
20:15 M_o_C left #parrot
20:18 dukeleto cotto: can you paste what errors you get with your mk_lang_shell tests?
20:18 M_o_C joined #parrot
20:23 cotto sure
20:25 cotto it boils down to setup.pir expecting /usr/local/include/parrot/2.8.0-devel to exist when I use the parrot executable from the build tree.
20:26 nopaste "cotto" at 192.168.1.3 pasted "output of failed built (including docs, pmcs and ops) for mk_language_shell" (45 lines) at http://nopaste.snit.ch/24109
20:27 cogno left #parrot
20:36 dukeleto cotto: that dir doesn't exist on my machine, but the tests pass
20:37 dukeleto cotto: are you using a --prefix when you compile parrot?
20:37 dukeleto cotto: or are you using the non-installed version of parrot in the build dir?
20:37 dukeleto cotto: perhaps the tests only pass now when --prefix is used
20:46 cotto I'm using a non-installed version
20:47 cotto dukeleto, do we want to require --prefix for those tests to pass?
20:49 davidfetter hai dukeleto
20:54 cogno joined #parrot
20:58 dukeleto davidfetter: hola
20:58 * davidfetter hoping dukeleto's been expired to blog
21:01 dukeleto cotto: those test require an "installed" parrot, but not the system install of parrot. Those tests require that parrot be "installed" somewhere to properly work.
21:01 dukeleto cotto: so, i think they need to be TODO'ed in the case where "make install" has not yet been run. which is kind of crappy. But better than nothing, I guess.
21:02 cotto I guess
21:03 cotto Better would be to make them work both ways, though I don't know how feasible that'd be.
21:05 cogno left #parrot
21:09 dukeleto cotto: compiling parrot extensions and HLLs doesn't work with a non-installed parrot, methinks
21:10 dukeleto cotto: it would be nice if that worked, but I don't know about the feasibility of that. Perhaps somebody on parrot-dev can enlighten
21:12 cotto One problem with the mk_language_shell tests right now is that if they depend on an installed parrot, there's no guarantee that the installed parrot is what the user intended to test.
21:14 dukeleto cotto: those tests should only run on the local build of parrot, which is installed "somewhere", which is why I say that those tests require "make install"
21:14 dukeleto cotto: but installing into a temp dir in the parrot build tree seems to run those tests seems ....
21:15 dukeleto cotto: a bit much. But perhaps that is the best way. It would require running Configure.pl again with a --prefix
21:16 cotto They need to be tested one way or another.
21:18 cotto If it's hacky but can be run as part of make test, I'd call it ok.
21:18 cotto If it can be made non-hacky, even better.
21:19 dukeleto cotto: i think it would be workable if those tests were under a different target than "test", but included in "fulltest"
21:19 dukeleto cotto: like make devtests or something
21:20 cotto Do tt machines run fulltest?
21:21 dukeleto cotto: not sure. but mikehh definitely does :)
21:22 cotto Those tests don't need to be run every time we run make test, as long as they're run regularly.
21:22 dukeleto does "make smoke" run fulltest ?
21:22 cotto not sure
21:29 bluescreen left #parrot
21:33 ruoso left #parrot
22:05 whiteknight joined #parrot
22:13 cotto hio whiteknight
22:15 sorear hello whiteknight
22:25 mikehh cotto: AFAIK smoke can run coretest and test but not fulltest
22:28 kid51 joined #parrot
22:28 mikehh cotto: I don't know how it would handle multiple tests of the same name, maybe it could run testb, testf and testr separately
22:29 sorear whiteknight: any chance I could get another fix of PDD review soon? :)
22:30 cotto Is there any reason not to have smolder run fulltest by default?
22:30 cotto s/smolder/make smolder/
22:34 mikehh cotto: I don't know how it would handle the archive if there were multiple tests of the same name
22:45 cotto There's not need for the tests to have the same name.
22:47 dukeleto cotto: when does that even happen?
22:47 dukeleto we should definitely add a smoke_fulltest target
22:47 dukeleto and then ask parrot-dev whether make smoke should run fulltest by default
22:47 cotto I don't see where that idea came from.
22:49 mikehh cotto, dukeleto: testb, testf and testr run the coretests so you have 3 instances of say t/op/*.t, t/pmc/*.t etc
22:51 cotto Ah.   That's what you're talking about.
23:07 M_o_C left #parrot
23:08 dukeleto mikehh: we can add a smoke_fulltest target and see how smolder deals with getting that kind of data
23:09 mikehh let me try and see what happens if i try a make fulltest with --archive
23:10 dukeleto mikehh++
23:12 mikehh dukeleto: after I have finished this test run
23:18 whiteknight left #parrot
23:19 kid51 Wow, even if I can't get purl here, I can get her on #pdx.pm!
23:25 kid51 is now known as kid51_at_dinner
23:32 davidfetter_ joined #parrot
23:34 sorear you can get purl here, ask #purl
23:37 davidfetter left #parrot
23:37 davidfetter_ is now known as davidfetter
23:39 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#505) fulltest) at r49485 - Ubuntu 10.10 RC amd64 (g++-4.5 with --optimize)
23:39 mikehh t/tools/mk_language_shell.t - TODO passed:   6-7. in smoke and fulltest (library_tests)
23:43 dukeleto mikehh: those TODOs are expected, they don't pass in all configurations, yet, so they are TODOed
23:45 mikehh dukeleto: we need to set the TODO's to be platform specific - what platforms are they failing on
23:48 cotto mikehh, it depends on whether you have an installed parrot
23:49 dukeleto mikehh: which makes it tricky to TODO
23:49 cotto if ($user_has_installed_parrot_that_happens_to_work) {...}
23:52 mikehh cotto: I don't have  parrot installed here
23:53 mikehh I remove the installation after I have tested rakudo, partcl etc.
23:54 mikehh I haven't insatalled yet
23:54 dukeleto mikehh: we mean those tests depend on using --prefix and running "make install"
23:54 dukeleto mikehh: extensions and compiling HLLs doesn't work on non-installed parrots
23:55 mikehh yeah, but I haven't done that yet (well --prefix=/usr/local), but no make install yet
23:55 bluescreen joined #parrot
23:56 dukeleto mikehh: and you get rakudo to work with that? are you using --gen-parrot ?
23:57 mikehh I haven't run rakudo tests yet - I do make install before that and use perl Configure.pl --parrot-config=/usr/local/bin/parrot_config when I do
23:58 mikehh but, I have not yet run make install, well sudo make install
23:59 dukeleto mikehh: then I don't quite understand when those tests need to be TODOed. They fail for cotto

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

Parrot | source cross referenced