Camelia, the Perl 6 bug

IRC log for #parrot, 2010-10-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:05 brianwisti left #parrot
00:07 dngor joined #parrot
00:11 whiteknight joined #parrot
00:15 dngor left #parrot
00:24 whiteknight good evening, #parrot
00:25 GeJ good morning whiteknight.
00:26 whiteknight hello GeJ, how are you doing?
01:02 Khisanth left #parrot
01:05 whiteknight GeJ: where do you live again?
01:17 whiteknight ah, nevermind. I remembered
01:23 Khisanth joined #parrot
01:26 whiteknight aloha msg bacek gc_ms2.c:697-699 is a mirror of lines 618-622 (generational_gc branch)
01:26 aloha whiteknight: OK. I'll deliver the message.
01:27 kid51 joined #parrot
01:41 whiteknight I like this generational_gc desing
01:41 whiteknight design
01:44 * dukeleto waves hello
01:45 whiteknight hello duke
01:47 dalek parrot: r49562 | whiteknight++ | branches/generational_gc/src/gc/gc_ms2.c:
01:47 dalek parrot: fix some docs. no code changes
01:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49562/
01:48 kid51 left #parrot
01:49 silug left #parrot
01:52 whiteknight aloha msg bacek just built generational_gc with clang. fails t/pmc/ro.t 1 9-12 and t/pmc/sys.t 2. I'll do some digging tonight
01:52 aloha whiteknight: OK. I'll deliver the message.
01:53 kid51 joined #parrot
01:55 ruoso left #parrot
01:58 whiteknight where the hell are the perl test functions like pir_output_is defined?
02:02 whiteknight blah. t/pmc/sys.t fails when we pass in --gc-debug, but passes without it
02:02 kid51 perhaps lib/Parrot/Test.pm
02:02 whiteknight kid51: that's where the POD docs for the functions are, but not the implementations
02:02 whiteknight at least, not that I can find
02:03 whiteknight there might be some kind of crazy autoload crap going on
02:03 whiteknight ah yeah, tha's what it's doing. creating them dynamically
02:03 kid51 gack, you're right, someone must have moved something around
02:04 whiteknight blah.
02:04 kid51 You're correct.
02:04 * kid51 has never had occasion in 10 years to use autoload.
02:08 dukeleto whiteknight: i know where they are
02:08 dukeleto whiteknight: one sec
02:09 whiteknight dukeleto: I found them
02:09 dukeleto whiteknight: darn
02:09 whiteknight this test code is 100% more convoluted than it needs to be for these simple operations
02:10 dukeleto whiteknight: why so?
02:10 whiteknight for the life of me, I can't figure out how Parrot is invoked when calling pir_output_is
02:11 whiteknight and the test fails when I call "perl t/pmc/sys.t --gc-debug", but not when I call "perl t/pmc/sys.t" or "parrot --gc-debug t/pmc/sys_2.pir"
02:11 whiteknight so figure that out
02:12 kid51 whiteknight:  We've had that problem from time to time, i.e., where adding --gc-debug tickles something that leads to a weird failure.
02:12 whiteknight kid51: but that's the point. When I call parrot directly with --gc-debug, it isn't tickled.
02:12 kid51 'make test' calls stuff with 'perl t/harness --gc-debug' ... and we get it there sometime
02:12 kid51 Well, vice versa
02:12 kid51 :-)
02:12 whiteknight only when I invoke it through perl that I get the failure
02:13 bacek_at_work whiteknight, ignore "ro" failing tests.
02:13 whiteknight why ignore?
02:13 dukeleto Has anyone looked into this: http://trac.parrot.org/parrot/ticket/1818 ?
02:14 dukeleto Seems like something we should fix before the release.
02:16 whiteknight bacek: so t/pmc/sys.t is the only real problem?
02:16 bacek_at_work whiteknight, I intentionally disable them
02:16 bacek_at_work whiteknight, t/pmc/sys.t is ro test as well
02:16 whiteknight so...all tests pass that we aren't ignoring?
02:17 bacek_at_work try to build core_ops.c. ./ops2c --core
02:17 bacek_at_work whiteknight, yes, all core tests (apart from ro) are passing
02:19 whiteknight get_pmc_keyed() not implemented in class 'Continuation'
02:19 whiteknight (./ops2c --core)
02:20 Khisanth left #parrot
02:20 bacek_at_work premature collecting of some strings.
02:23 whiteknight great. I *LOVE* those kinds of bugs
02:23 whiteknight this GC is doing stack trace like normal MS?
02:24 whiteknight and are we marking inter-generational pointers?
02:31 bacek_at_work yes, I hope so :)
02:35 janus left #parrot
02:36 baest left #parrot
02:43 bacek_at_work whiteknight, currently I bringing all objects into same generations after mark&sweep.
02:44 whiteknight okay
02:44 whiteknight I'm going to bed now. I'll look more closely in the morning.
02:44 bacek_at_work gc_ms2.c, lines 768-798
02:44 bacek_at_work ok
02:44 bacek_at_work good night
02:44 whiteknight goodnight
02:44 whiteknight left #parrot
02:47 cotto ~~
02:53 cotto bacek_at_work, how much work would it be to convert PCT to PIRATE's POST format?
02:53 bacek_at_work cotto, 1) discuss it with pm
02:53 bacek_at_work 2) not a big deal
02:53 bacek_at_work few days
02:53 cotto preferably in normal person time, not magical coding robot time
02:53 kid51 left #parrot
02:54 bacek_at_work few weeks than
02:54 dukeleto hahah
02:55 cotto you only think he's joking
03:12 janus joined #parrot
03:19 Khisanth joined #parrot
03:32 dukeleto can anybody reproduce the TT1818 bug?
03:33 cotto I'm working on it.
03:34 dukeleto cotto++
03:41 * davidfetter waves dukeleto
03:41 davidfetter waves to*
03:41 dukeleto davidfetter: how goes it?
03:42 davidfetter dukeleto, well. i'm 101010 now
03:42 davidfetter as of today :)
03:42 davidfetter no, i did not forget my towel
03:42 dukeleto davidfetter: nice! happy birthday
03:42 davidfetter asked sarah to marry me. she said yes.
03:42 davidfetter so all in all, just another boring week ;)
03:42 dukeleto davidfetter: you have any good ideas for who will want to use PL/Perl 6 stored procedures?
03:42 davidfetter oh, and i shipped some software for $job
03:43 dukeleto davidfetter: congrats! Tell her I said hello.
03:43 davidfetter :)
03:43 davidfetter will do
03:43 davidfetter anyhow, re: pl/perl6, i'm guessing it's pg users who are into modern perl and such
03:43 davidfetter which is a bigger overlap than you might imagine :)
03:43 dukeleto davidfetter: i am trying to think of what will be the first actual use of PL/Perl 6. Grammars? Functional programming? Something else?
03:44 davidfetter hrm. i'd say those first two you mentioned are excellent candidates. are there some standard cool grammars out there in production?
03:44 dukeleto davidfetter: that is a great question. there is the one in the PL/Perl6 test suite :)
03:44 dukeleto davidfetter: hardly production
03:45 davidfetter what are people doing with perl6 in production, generally?
03:45 dukeleto davidfetter: and it makes postgres peg a cpu on recent rakudos. I haven't had time to figure out why.
03:45 dukeleto davidfetter: not sure.
03:45 davidfetter pg tends to peg CPUs a lot :(
03:45 cotto moritz, ping
03:45 dukeleto davidfetter: yeah, but this is forever.
03:45 davidfetter it's one of the places where the whole code base could use some love
03:45 davidfetter oh. that's not good
03:45 davidfetter have you asked on -hackers?
03:45 dukeleto davidfetter: it never comes back. probably a change in rakudo
03:45 cotto moritz, unping
03:46 dukeleto davidfetter: i don't konw that it is a pg think. rakudo changing their behavior is much more likely than postgres, but parrot might be to blame as well ;)
03:46 dukeleto davidfetter: having dug into what is going on.
03:46 dukeleto davidfetter: have you ran the test suite on one of your machines lately?
03:46 dukeleto davidfetter: perhaps it is something specific to my setup
03:46 davidfetter lemme give it a shot
03:47 davidfetter stock parrot 2.7.0 ok?
03:49 Khisanth left #parrot
03:49 dukeleto davidfetter: the tests that fail are the plperl6 tests, so if you can choose a stable a release of rakudo and use that, that would work
03:49 davidfetter hrm. make installcheck failed
03:49 dukeleto davidfetter: hasn't been updated
03:49 Topic for #parrot is now Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: http://nopaste.snit.ch:8001 | close configure component tickets
03:50 dukeleto davidfetter: i always forget, because i do "make test". maybe test should be an alias for installcheck ?
03:50 nopaste "davidfetter" at 192.168.1.3 pasted "PL/Parrot: make installcheck fails" (82 lines) at http://nopaste.snit.ch/24532
03:50 davidfetter woops
03:50 davidfetter so make test?
03:51 dukeleto davidfetter: that will run PL/Parrot tests
03:51 dukeleto davidfetter: make test_plperl6
03:51 dukeleto davidfetter: i need to unify the test targets, there is a github issue for it
03:51 davidfetter ok 28 - Calculate the sum of all Fibonacci numbers <= 100 (named variable in signature)
03:52 dukeleto davidfetter: that is the last line that prints?
03:52 davidfetter that's using parrot 2.7.0 (fedora)
03:52 davidfetter yes
03:52 davidfetter the others all say ok
03:52 dukeleto davidfetter: does that test fail, or is postgres in an infinite loop on your machine?
03:52 dukeleto davidfetter: and what version of rakudo are you using?
03:53 davidfetter they all pass. it was just installcheck failing
03:53 davidfetter perl6 --version
03:53 davidfetter This is Rakudo Perl 6, version 2010.08 built on parrot 2.7.0
03:54 dukeleto davidfetter: yeah, i think it works back then, but not in the last few weeks. i haven't tried the last stable rakudo release yet, though. It could have been a change since then.
03:54 cotto moritz, what will ./perl6 -e "class B::Grammar {}; class B{};" do if the bug is not present?
03:54 davidfetter i can try with bleeding edge whatevers
03:54 davidfetter this is on fedora 13
03:54 davidfetter stock parrot, rakudo, was trying pl/parrot (master) vs. pg (master)
03:54 dukeleto davidfetter: trying it with rakudo master and --gen-parrot would be useful. then we will know if you can reproduce my issue
03:55 dukeleto davidfetter: i have been running against pg 8.4 and 9.0.1 recently
03:55 dukeleto davidfetter: they both seem to work well
03:55 davidfetter rakudo's not part of parrot yet?
03:55 dukeleto davidfetter: they used to be the same project in 2001 and have split apart quite some time ago
03:55 davidfetter master is 9.1-to-be, so we've got 2.5 supported versions of pg ;)
03:55 davidfetter oh. heh
03:55 davidfetter ok, lemme grab rakudo. it's on github?
03:56 dukeleto davidfetter: yep. http://github.com/rakudo/rakudo
03:56 dukeleto davidfetter: they have a download sections with tarballs
03:56 dukeleto davidfetter: but you can do the repo too
03:57 davidfetter might as well hit the repo
03:57 davidfetter now that we've shipped $product at work, i will get a little extra latitude
03:58 davidfetter um, so how do i put a $PREFIX on these things so they live in isolation?
03:59 davidfetter btw, do i compile parrot & rakudo separately, or...?
04:02 cotto davidfetter, your call.  If you run Rakudo's Configure.pl with --gen-parrot, it'll download and use a known-good parrot.
04:03 * davidfetter trying to figure out how many bleeding edge components to use here, and is tempted to do all-(master)
04:05 davidfetter so if i do that, how do i $PREFIX each of (parrot, rakudo) ?
04:08 cotto I don't know how Rakudo handles installing Parrot with --gen-parrot.  My guess would be that it gets installed to $PREFIX instead of parrot_install in the rakudo build dir.
04:11 mikehh I generally build and test parrot and install parrot with the default, and then run perl Configure.pl --parrot-config=/usr/local/bin/parrot_config in the rakudo dir
04:12 nopaste Someone at 192.168.1.3 pasted "perl Configure.pl --parrot-con" (10 lines) at http://nopaste.snit.ch/24533
04:12 cotto 1818 is an odd one.  I don't see it succeeding on r49387.
04:13 davidfetter that's what i got trying to make rakudo
04:14 davidfetter heh! -N  - 3/7919: Tom Lane               [COMMITTERS] pgsql: Fix a passel of inappropriately-named global functions in GIN.                                                                                 -- (57%)
04:14 mikehh you can modify this with changing the parrot install dir and using the appropriate path to parrot_config
04:15 davidfetter hrm. lemme get PWN out the door so i can work on this
04:23 dngor joined #parrot
04:35 dukelet0 joined #parrot
04:40 davidfetter left #parrot
05:18 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#661) fulltest) at r49562 - Ubuntu 10.10 amd64 (gcc-4.5 with --optimize)
05:41 theory left #parrot
06:09 uniejo joined #parrot
06:27 dukelet0 left #parrot
06:47 sabayonuser is now known as eternaleye
07:07 baest joined #parrot
07:17 dngor left #parrot
07:17 dngor joined #parrot
07:31 bacek joined #parrot
07:31 lucian_ left #parrot
07:43 cotto good morning bacek
07:43 cotto clock?
07:44 cotto aloha, clock?
07:44 aloha cotto: cotto: LAX: Mon, 00:44 PDT / CHI: Mon, 02:44 CDT / NYC: Mon, 03:44 EDT / UTC: Mon, 07:44 UTC / LON: Mon, 08:44 BST / BER: Mon, 09:44 CEST / TOK: Mon, 16:44 JST / SYD: Mon, 18:44 EST
07:44 aloha cotto: No clue. Sorry.
07:44 cotto er, evening
07:44 bacek cotto, just arrived from $dayjob :)
07:47 markus joined #parrot
07:51 markus left #parrot
07:54 Khisanth joined #parrot
08:55 szabgab left #parrot
09:06 cotto bacek, how does http://trac.parrot.org/parrot/wiki/PirateTodo look?
09:23 bacek cotto, looks about all right
09:23 bacek You can also incorporate some things from rememberthemilk
09:23 cotto good idea
09:24 cognominal left #parrot
09:24 moritz cotto: nothing
09:25 cotto ok.  I've never seen it do nothing.
09:28 * moritz checks again
09:38 moritz cotto: ok, seems to be not a parrot change at all
09:38 moritz but a fuckup on my behalf
09:39 * moritz apologizes
09:40 cotto I'm quite relieved to hear that.
09:40 cotto Should I mark the ticket as invalid?
09:40 moritz I already did
09:41 cotto just noticed
09:42 cotto At least you can't say that you got no love from Parrot.
09:50 contingencyplan left #parrot
09:51 Infinoid kid51: Hmm.  That's odd: dalek doesn't appear to be running on feather any more?
10:03 moritz Infinoid: diakopter bought a new VPS box while feather was down due to hardware smoke
10:04 moritz maybe it runs there
10:24 dngor left #parrot
10:24 dngor joined #parrot
10:29 Infinoid moritz: Cool.  kid51 mentioned some problems with reporting wiki changes... it's possible the new box is missing some CPAN modules
10:31 cotto I'd love to have that feature back.
10:34 Infinoid cotto: Is it just wiki changes?  Do trac ticket changes work?
10:35 Infinoid (they're separate feeds)
10:35 Infinoid cotto: good early morning, btw. :)
10:37 cotto I don't think ticket changes are being reported either,
10:37 cotto .
10:37 cotto moritz just closed one an hour ago that didn't get picked up.
10:41 Infinoid Ok, thanks.  I'll see if I can figure out what the story is
10:42 cotto much appreciated
10:45 dalek parrot: r49563 | bacek++ | branches/generational_gc (2 files):
10:45 dalek parrot: Separate wb_triggered flag from generic generation_2 flag to simplify
10:45 dalek parrot: debugging.
10:45 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49563/
10:49 p6eval left #parrot
10:55 whiteknight joined #parrot
11:01 dalek parrot: r49564 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:01 dalek parrot: Factor out function to move all cross-referenced objects to same generation
11:01 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49564/
11:02 dngor_ joined #parrot
11:03 dngor left #parrot
11:16 dalek parrot: r49565 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:16 dalek parrot: Add more self-checking functionality
11:16 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49565/
11:18 p6eval joined #parrot
11:19 p6eval left #parrot
11:20 bacek dear Mr. Whitworth. Are you going to slacking more?
11:20 bacek :)
11:20 p6eval joined #parrot
11:20 mikehh hay bacek, those last changes cause loads of failures
11:20 bacek mikehh, I know :)
11:20 bacek That's why I made them
11:21 mikehh bacek: what can I do to help?
11:22 bacek mikehh, run gdb, try to find out where I've made some mistakes...
11:27 mikehh most of the failures seem to be -> src/gc/gc_ms2.c:898: failed assertion 'pobj2gen(pmc) == self->current_generation || !"Got object from wrong generation"'
11:28 mikehh with a couple of -> src/gc/gc_ms2.c:907: failed assertion 'pobj2gen(s) == self->current_generation'
11:29 ttbot left #parrot
11:38 bacek mikehh, yes. It's part of self-check
11:45 mikehh bah $work intrudes, get back to this later
11:47 dalek parrot: r49566 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
11:47 dalek parrot: Don't validate "constant" objects.
11:47 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49566/
11:56 dngor joined #parrot
11:58 bacek I DID IT!
11:58 bacek It works!
11:58 dngor_ left #parrot
12:03 dalek parrot: r49567 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
12:03 dalek parrot: Use GC_gen_2 flag during validation.
12:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49567/
12:03 dalek parrot: r49568 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
12:03 dalek parrot: Avoid double processing of objects during gathering into same generation
12:03 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49568/
12:05 jnthn bacek: We have generational GC?!
12:05 bacek jnthn, almost
12:06 jnthn bacek++
12:12 whiteknight bacek: not slacking. Still reading the gen_gc code
12:13 whiteknight bacek: the opsc problem is a problem with a PMC that's stored in a register. That suggests that it's not a problem with marking, since the root set marking algorithm hasn't changed
12:14 bacek whiteknight, too late. I fixed it in r49568. Broke r49569...
12:14 whiteknight hah!
12:17 bacek Can we get rid of PObj_is_special_FLAG?
12:17 whiteknight I think we decided that we can. All PMCs are "special" by that definition
12:18 bacek ok. I'll do it in trunk after release and merge to branch.
12:18 dalek parrot: r49569 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c:
12:18 dalek parrot: Switch on m&s of oldes generation. Introduce few new core test failures
12:18 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49569/
12:18 bacek I need more flags for GC...
12:19 bacek Why do we have b_ prefix of some PObj flags???
12:29 cognominal joined #parrot
12:36 gerd joined #parrot
12:39 Topic for #parrot is now Parrot 2.9.0 will be released at '2010-10-19 08:00 UTC' | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: http://nopaste.snit.ch:8001 | close configure component tickets
12:39 gerd left #parrot
12:46 bacek msg whiteknight If you have time can you focus on t/pmc/fia.t failure. Looks like NameSpaces (or Hashes?) aren't properly handled during propagate phase
12:46 aloha OK. I'll deliver the message.
12:47 bacek And on this positive note I'm going to recharge.
12:47 bacek Good night, humans
12:49 dalek parrot: r49570 | bacek++ | branches/generational_gc/src/pmc.c:
12:49 dalek parrot: Add more asserts.
12:49 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49570/
12:53 bluescreen joined #parrot
12:54 whiteknight bacek: I'll look at it
13:13 whiteknight I don't see a failure in t/pmc/fia.t. I see one in t/pmc/fsa.t
13:13 whiteknight I'll look at it regardless
13:30 uniejo left #parrot
13:30 davidfetter joined #parrot
13:37 ruoso joined #parrot
13:51 PacoLinux joined #parrot
14:29 whiteknight left #parrot
14:31 dukelet0 joined #parrot
14:39 silug joined #parrot
14:47 dngor left #parrot
14:47 dngor joined #parrot
14:50 theory joined #parrot
14:52 dalek parrot: r49571 | gerd++ | trunk/NEWS:
14:52 dalek parrot: NEWS update
14:52 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49571/
15:17 ttbot joined #parrot
15:24 dukelet0 left #parrot
15:41 dmalcolm joined #parrot
15:50 allison joined #parrot
15:55 brianwisti joined #parrot
16:20 davidfetter left #parrot
16:23 brianwisti left #parrot
16:32 dngor_ joined #parrot
16:32 dngor left #parrot
16:35 * dukeleto waves hello
16:36 * dukeleto kicks off some smoke tests
16:44 lucian joined #parrot
16:51 dukeleto I having PASSing smokes on trunk for optimized/unoptimized parrot on gcc and 64bit linux
16:51 dukeleto as well as a PASS on darwin x86 unoptimized
16:56 dalek parrot: r49572 | dukeleto++ | trunk/NEWS:
16:56 dalek parrot: [doc] Tweak the wording of a NEWS item
16:56 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49572/
16:59 dukeleto We are still FAILING our darwinppc optimized build. Should this be noted in NEWS ?
16:59 dukeleto rather, the tests fail, not the build. The same single test still fails in t/op/number.t
17:02 dukeleto Failing smoke report: http://smolder.parrot.org/app​/projects/report_details/684
17:02 contingencyplan joined #parrot
17:05 dngor joined #parrot
17:05 dngor_ left #parrot
17:24 brianwisti joined #parrot
17:27 dngor_ joined #parrot
17:27 dngor left #parrot
17:27 cotto ~~
17:28 brianwisti Okay, so what is '~~' for?
17:32 dngor_ is now known as dngor
17:32 cotto waving hello
17:32 cotto or checking for messages
17:33 mikehh hi cotto
17:33 jnthn or seeing if you smartmatch against the next person who speaks
17:33 jnthn ;-)
17:33 brianwisti gotcha
17:48 bacek left #parrot
17:50 whiteknight joined #parrot
17:50 davidfetter joined #parrot
17:56 nopaste "mikehh" at 192.168.1.3 pasted "generational_gc branch - isolated test failure in t/pmc/fixedstringarray.t" (101 lines) at http://nopaste.snit.ch/24547
17:57 mikehh msg bacek have a look at http://nopaste.snit.ch/24547
17:57 aloha OK. I'll deliver the message.
17:58 mikehh msg whiteknight have a look at http://nopaste.snit.ch/24547
17:58 aloha OK. I'll deliver the message.
17:58 whiteknight ok
17:59 whiteknight nice
17:59 mikehh whiteknight: thought I saw you dissappear :-}
18:00 whiteknight wishful thinking
18:00 whiteknight :)
18:00 mikehh naw you came back while I was setting the stuff up :-}
18:01 mikehh whiteknight: in the full test it fails an assertion - probably on the sweep 1
18:22 cotto It looks like -Ofire isn't a new idea: http://www.flickr.com/photo​s/38987873@N00/5084742139/
18:29 dalek parrot: r49573 | nwellnhof++ | trunk/NEWS:
18:29 dalek parrot: Add NEWS item
18:29 dalek parrot: review: http://trac.parrot.org/parrot/changeset/49573/
18:40 cotto whiteknight, given plobsing's recent dynop_mapping changes, do you think it stil make sense to have a distinct OpLib and Opcode PMC rather than rolling that functionality into a PackfileBytecode PMC?
18:42 cotto post-merge, opcode numbers aren't especially meaningful apart from a bytecode segment
18:47 dngor left #parrot
18:47 dngor joined #parrot
18:55 davidfetter left #parrot
18:59 davidfetter joined #parrot
19:26 dukeleto brianwisti: i am +1 to switching to a Build.PL in parrot-handler
19:26 dukeleto brianwisti: gotta run, talk to you more later about it
19:30 brianwisti dukeleto: ok then, I have a rough Build.PL in my code that I will commit.
19:38 dngor left #parrot
20:10 bluescreen left #parrot
20:11 bluescreen joined #parrot
20:17 theory left #parrot
20:18 treed joined #parrot
20:18 theory joined #parrot
20:28 lucian_ joined #parrot
20:30 dngor joined #parrot
20:31 lucian left #parrot
20:37 nopaste "cotto" at 192.168.1.3 pasted "proposed interface changes to pmc-based op generation (not runnable atm)" (107 lines) at http://nopaste.snit.ch/24555
20:38 cotto anyone care to comment on that?
20:45 cotto the different part is under "Generate bytecode"
20:48 cotto aloha, clock
20:48 cotto aloha, clock?
20:48 aloha cotto: cotto: LAX: Mon, 13:48 PDT / CHI: Mon, 15:48 CDT / NYC: Mon, 16:48 EDT / UTC: Mon, 20:48 UTC / LON: Mon, 21:48 BST / BER: Mon, 22:48 CEST / TOK: Tue, 05:48 JST / SYD: Tue, 07:48 EST
20:48 aloha cotto: Search me, bub.
21:23 bacek joined #parrot
21:23 plobsing cotto: (re: pmc-based pbc generation) fixups no longer exist
21:24 plobsing also string and PMC constants don't share indices
21:26 plobsing and are we losing the ability to mutate existing bytecode (substituting equal-length op sequences)?
21:26 cotto do we do that now?  That sounds evil.
21:27 plobsing it was allowed
21:27 cotto There's no reason to lose that if it's useful.  I just thought that pushing ops seemed like a more natural interface than using explicit indicies.
21:27 plobsing and it is useful. I can substitute out an op with a jump to new bytecode
21:27 plobsing pushing ops is *easier* to implement and understand. it is less flexible
21:28 cotto what would you suggest?
21:29 plobsing I don't know. Maybe require that people drop down to the raw interface for that.
21:29 plobsing Although I don't like that either
21:29 plobsing how would people introspect existing bytecode? maybe it can tie in there
21:30 cotto modifying ops directly is pretty low-level.  I wouldn't feel bad about making it require a raw interface.
21:30 plobsing or maybe we could iterate ops and copy to a new segment
21:30 cotto s/ops/bytecode/
21:32 bluescreen left #parrot
21:32 cotto What's the use case for direct bytecode modification?
21:34 cotto i.e. is it a common thing that we should make easy, or is it an unusual thing that we should only make sure is possible?
21:38 ruoso left #parrot
21:43 plobsing common is a pretty hard thing to come by when it comes to pbc tools
21:44 plobsing that entire interface falls under making uncommon things possible
21:44 cotto Anyway, there's nothing about pushing ops that excludes direct manipulation.  The PMC just needs to implement indexed access.
21:45 cotto Yes, but it'll be the standard way to manipulate pbc as soon as we can make it such.
21:46 plobsing that's been a hurdle for a while. is someone going to tackle it soon?
21:46 cotto I'm looking at resurrecting make_hello_world_pbc.pir as the first step in getting PIRATE back in action.
21:47 cotto lots of yaks there
21:47 cotto but they're important yaks with big, impressive-looking hats
21:48 plobsing what's the plan for PIRATE? will it be somewhat separated? I feel half the problems associated with IMCC is that it is *the* interface to parrot, baked-in, and all that entails.
21:49 cotto The plan is that PIRATE will be the official PIR compiler and that imcc will go away, only to be brought up in stories intended to scare small children.
21:49 plobsing OK. but what I want to know is - when I run ./parrot, does it load up PIRATE as it does with IMCC now?
21:49 cotto I don't know if anyone's planned on how baked-in to parrot it'll be.
21:50 plobsing or do I have to precompile with eiter ./pirate (or ./parrotc a la javac)?
21:50 plobsing I prefer the second.
21:50 cotto so only pbc is directly exectuable, instead of both pir and pbc as now?
21:50 cotto *executable
21:50 mikehh how are we going to handle the bootstrapping problem?
21:51 cotto mikehh, in the medium term, we can check in pbc
21:51 plobsing That's part of why I'm not a big fan of PIRC. It fixes the superficial flaws of IMCC, but none of the underlying architectural ones.
21:51 cotto in the long term, we'll be able to generate C from pbc and can check that in
21:52 plobsing textual forms and bootstrapping are problematic
21:52 plobsing if we still want a runable textual representation, I propose it *not* be PIR.
21:52 plobsing in stead, something dead simple with 1:1 correspondance with PBC
21:53 cotto what pasm was intended to be
21:53 cotto +1
21:53 plobsing but ceased to be because it was coupled with PIR
21:54 cotto that would also be nicer to have in the repo than a pbc
21:54 plobsing when I say dead simple, I mean *no* compromises to increase ease of reading or writing
21:55 plobsing no macros, no :flags, no nothing. constant table, bytecode dump, that's it
21:55 mikehh machine readable/writable not necessarily peop;le oriented?
21:55 whiteknight exactly
21:56 whiteknight besides HLA, I can't name a single other assembly language that was designed with human readability and usability in mind
21:56 cotto not unlike what we intend for Lorito's textual representation
21:56 whiteknight maybe MASM
21:56 whiteknight nobody writes shit in assembly, at least not without doing it for fun with the fore knowledge that it's the absolute wrong way to do things
21:58 mikehh no ways, simpler than that
22:01 plobsing what such a textual interface buys us is not a bridge across PBC compat changes, but in stead, code in a format humans/text-tools can edit to accomodate PBC changes
22:02 cotto the nice thing about that approach is that the more direct the translation, the easier it'll be to write code to spit out the textual version
22:10 whiteknight I can't really think of a single practical use for PIR/PASM except to aide in debugging and disassembly
22:11 whiteknight we don't want people to be writing it by hand, and we don't want HLLs generating it as an intermediate step durin compilation
22:12 whiteknight plobsing: In reality, I'm not a big fan of PIRC for exactly that reason
22:12 whiteknight PIR/PASM is the wrong interface for Parrot, and PIRC is just another compiler for it. Even if it is a million times better than IMCC, it's a solution to the wrong problem
22:14 atrodo cotto> Lorito on the mind?
22:15 cotto atrodo, yup
22:15 * davidfetter puts on a few Lorito Lynn ballads
22:15 whiteknight cotto: have you gotten any feedback on that teams idea?
22:16 cotto whiteknight, not much apart from the initial meeting, but #ps tomorrow is when I plan on bringing it up.
22:16 whiteknight okay. I don't promise that I will be there, but strong +1 from me
22:17 whiteknight we can quibble about the exact teams, but I love the idea
22:17 cotto I don't think it helped that the first draft was excessively redundant
22:17 cotto me too
22:17 lucian joined #parrot
22:17 cotto I've rewritten some of the more annoying bits since then.
22:18 whiteknight okay
22:18 lucian_ left #parrot
22:19 cotto Please add anything you think would help.  I don't want that document being perceived as my baby.
22:19 whiteknight it looks nothing like you
22:20 atrodo cotto> (about your lorito msg) Were you looking for my ideas on next steps for lorito or my thoughts on my prototype?
22:21 cotto atrodo, mostly a brain dump of what you learned from trying to implement it, especially things that were underspecified.
22:25 cotto Any format is fine.  A list of question would help get the spec moving along.
22:26 atrodo Sure.  I think I can do that
22:26 cotto atrodo++
22:27 atrodo Now, remind me, pirate skips the PAST step, right?
22:29 cotto Yes.  It does parse->post->pbc (though not PCT::HLLCompiler's flavor of post).
22:29 brianwisti left #parrot
22:31 atrodo For some reason, I thought it did some magic in the pbc writing
22:31 cotto fsvo "magic"
22:31 atrodo which would have been a nice place to hijack to make pir->lasm
22:33 cotto s/would have been/will be/
22:35 atrodo Another idea I had was to hack nqp-rx to output and run on lorito
22:35 cotto that's part of the roadmap, though indirectly
22:36 cotto First it'll need to spit out PIRATE's flavor of POST.  Then once we can do POST->Lorito, we'll get Lorito from nqp-rx without any extra effort.
22:37 atrodo Which sounds a lot simplier than my inital nqp-rx hack ideas
22:37 cotto that's the beauty of layers
22:37 atrodo like onions
22:38 jnthn I figure you'll want to write a PAST -> newPOST rather than having to modify nqp-rx itself.
22:39 jsut_ joined #parrot
22:39 jnthn (I'm not wildly guessing. I actually have been writing a PAST -> .Net thingummy.)
22:40 cotto Yes.  I should be talking about PCT::HLLCompiler, which is where POST lives and which is what nqp-rx is build on.
22:44 cotto *built
22:44 jsut left #parrot
22:48 atrodo cotto> http://github.com/atrodo/lor​ito/blob/master/ops_skel.pod <Definitions of my lorito ops
22:50 cotto looking now
23:02 cotto We need to make a low-level understanding of cps more accessible.
23:03 atrodo Yes.  Thats a good point
23:03 cotto A wiki page that starts with a simple assembly language, making basic assumptions about CS literacy, and shows how to do CPS with it would be very helpful.
23:04 cotto It
23:05 cotto It's central enough to Parrot's future that we can't really get away with not having a solid communal knowledge of it.
23:06 cotto particle had a good link I should dig up
23:13 * dukeleto is +1 to a nice description of CPS for parrot hackers on the wiki
23:16 * davidfetter prepares some CPS reports using the new cover sheets
23:17 GeJ CPS?
23:17 cotto happily we have at least a couple hackers around here whose brains can be picked
23:18 cotto aloha, cps?
23:18 aloha cotto: No clue. Sorry.
23:18 GeJ continuation passing style?
23:18 cotto cps is continuation-passing style
23:18 cotto aloha, cps?
23:18 aloha cotto: cps is continuation-passing style
23:20 * davidfetter wonders what preparing reports with cover sheets would look like in CPS
23:20 cotto not quite as boring
23:24 davidfetter is there an option for fish filleting?
23:25 cotto Why wouldn't there be?
23:25 bacek_at_work ~~
23:25 cotto just clean up after yourself
23:25 cotto hail, bacek_at_work
23:26 bacek_at_work aloha, cotto
23:26 bacek_at_work mikehh, thanks for nopaste
23:27 bacek_at_work whiteknight, can you look at http://nopaste.snit.ch/24547 ? This is t/pmc/fsa.t failure I talked about
23:28 * dukeleto found a working TI89 on the curb today. How long until I can run Parrot on it?
23:28 cotto nice find
23:29 cotto I still have mine from high school
23:30 dukeleto I also have a ti92 laying around, which has an IR port. I have an itch to make them useful again.
23:34 davidfetter left #parrot
23:36 cotto seen particle
23:36 aloha particle was last seen in #parrot 4 days 5 hours ago joining the channel.
23:36 whiteknight bacek: yeah, I saw those failures
23:36 whiteknight or, similar failures
23:48 davidfetter joined #parrot

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

Parrot | source cross referenced