|
Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close configure component tickets Set by moderator on 12 October 2010. |
|||
|
00:05
brianwisti left
00:07
dngor joined
00:11
whiteknight joined
00:15
dngor left
|
|||
| whiteknight | good evening, #parrot | 00:24 | |
| GeJ | good morning whiteknight. | 00:25 | |
| whiteknight | hello GeJ, how are you doing? | 00:26 | |
|
01:02
Khisanth left
|
|||
| whiteknight | GeJ: where do you live again? | 01:05 | |
| ah, nevermind. I remembered | 01:17 | ||
|
01:23
Khisanth joined
|
|||
| 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
|
|||
| whiteknight | I like this generational_gc desing | 01:41 | |
| design | |||
| dukeleto waves hello | 01:44 | ||
| whiteknight | hello duke | 01:45 | |
| dalek | rrot: r49562 | whiteknight++ | branches/generational_gc/src/gc/gc_ms2.c: fix some docs. no code changes |
01:47 | |
|
01:48
kid51 left
01:49
silug left
|
|||
| 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
01:55
ruoso left
|
|||
| whiteknight | where the hell are the perl test functions like pir_output_is defined? | 01:58 | |
| blah. t/pmc/sys.t fails when we pass in --gc-debug, but passes without it | 02:02 | ||
| kid51 | perhaps lib/Parrot/Test.pm | ||
| whiteknight | kid51: that's where the POD docs for the functions are, but not the implementations | ||
| at least, not that I can find | |||
| there might be some kind of crazy autoload crap going on | 02:03 | ||
| ah yeah, tha's what it's doing. creating them dynamically | |||
| kid51 | gack, you're right, someone must have moved something around | ||
| whiteknight | blah. | 02:04 | |
| kid51 | You're correct. | ||
| kid51 has never had occasion in 10 years to use autoload. | |||
| dukeleto | whiteknight: i know where they are | 02:08 | |
| whiteknight: one sec | |||
| whiteknight | dukeleto: I found them | 02:09 | |
| dukeleto | whiteknight: darn | ||
| whiteknight | this test code is 100% more convoluted than it needs to be for these simple operations | ||
| 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 | ||
| 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 | ||
| so figure that out | |||
| 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. | ||
| kid51 | 'make test' calls stuff with 'perl t/harness --gc-debug' ... and we get it there sometime | ||
| Well, vice versa | |||
| :-) | |||
| whiteknight | only when I invoke it through perl that I get the failure | ||
| bacek_at_work | whiteknight, ignore "ro" failing tests. | 02:13 | |
| whiteknight | why ignore? | ||
| dukeleto | Has anyone looked into this: trac.parrot.org/parrot/ticket/1818 ? | ||
| Seems like something we should fix before the release. | 02:14 | ||
| whiteknight | bacek: so t/pmc/sys.t is the only real problem? | 02:16 | |
| bacek_at_work | whiteknight, I intentionally disable them | ||
| whiteknight, t/pmc/sys.t is ro test as well | |||
| whiteknight | so...all tests pass that we aren't ignoring? | ||
| bacek_at_work | try to build core_ops.c. ./ops2c --core | 02:17 | |
| whiteknight, yes, all core tests (apart from ro) are passing | |||
| whiteknight | get_pmc_keyed() not implemented in class 'Continuation' | 02:19 | |
| (./ops2c --core) | |||
|
02:20
Khisanth left
|
|||
| bacek_at_work | premature collecting of some strings. | 02:20 | |
| whiteknight | great. I *LOVE* those kinds of bugs | 02:23 | |
| this GC is doing stack trace like normal MS? | |||
| and are we marking inter-generational pointers? | 02:24 | ||
| bacek_at_work | yes, I hope so :) | 02:31 | |
|
02:35
janus left
02:36
baest left
|
|||
| bacek_at_work | whiteknight, currently I bringing all objects into same generations after mark&sweep. | 02:43 | |
| whiteknight | okay | 02:44 | |
| I'm going to bed now. I'll look more closely in the morning. | |||
| bacek_at_work | gc_ms2.c, lines 768-798 | ||
| ok | |||
| good night | |||
| whiteknight | goodnight | ||
|
02:44
whiteknight left
|
|||
| cotto | ~~ | 02:47 | |
| 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 | ||
| 2) not a big deal | |||
| few days | |||
| cotto | preferably in normal person time, not magical coding robot time | ||
|
02:53
kid51 left
|
|||
| bacek_at_work | few weeks than | 02:54 | |
| dukeleto | hahah | ||
| cotto | you only think he's joking | 02:55 | |
|
03:12
janus joined
03:19
Khisanth joined
|
|||
| dukeleto | can anybody reproduce the TT1818 bug? | 03:32 | |
| cotto | I'm working on it. | 03:33 | |
| dukeleto | cotto++ | 03:34 | |
| davidfetter waves dukeleto | 03:41 | ||
| waves to* | |||
| dukeleto | davidfetter: how goes it? | ||
| davidfetter | dukeleto, well. i'm 101010 now | 03:42 | |
| as of today :) | |||
| no, i did not forget my towel | |||
| dukeleto | davidfetter: nice! happy birthday | ||
| davidfetter | asked sarah to marry me. she said yes. | ||
| so all in all, just another boring week ;) | |||
| dukeleto | davidfetter: you have any good ideas for who will want to use PL/Perl 6 stored procedures? | ||
| davidfetter | oh, and i shipped some software for $job | ||
| dukeleto | davidfetter: congrats! Tell her I said hello. | 03:43 | |
| davidfetter | :) | ||
| will do | |||
| anyhow, re: pl/perl6, i'm guessing it's pg users who are into modern perl and such | |||
| which is a bigger overlap than you might imagine :) | |||
| dukeleto | davidfetter: i am trying to think of what will be the first actual use of PL/Perl 6. Grammars? Functional programming? Something else? | ||
| 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 :) | ||
| davidfetter: hardly production | |||
| 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. | ||
| davidfetter: not sure. | |||
| davidfetter | pg tends to peg CPUs a lot :( | ||
| cotto | moritz, ping | ||
| dukeleto | davidfetter: yeah, but this is forever. | ||
| davidfetter | it's one of the places where the whole code base could use some love | ||
| oh. that's not good | |||
| have you asked on -hackers? | |||
| dukeleto | davidfetter: it never comes back. probably a change in rakudo | ||
| cotto | moritz, unping | ||
| 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 | |
| davidfetter: having dug into what is going on. | |||
| davidfetter: have you ran the test suite on one of your machines lately? | |||
| davidfetter: perhaps it is something specific to my setup | |||
| davidfetter | lemme give it a shot | ||
| stock parrot 2.7.0 ok? | 03:47 | ||
|
03:49
Khisanth left
|
|||
| 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 | ||
| dukeleto | davidfetter: hasn't been updated | ||
| moderator | Parrot 2.8.0 released | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close configure component tickets | 03:49 | |
| 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 nopaste.snit.ch/24532 | ||
| davidfetter | woops | ||
| so make test? | |||
| dukeleto | davidfetter: that will run PL/Parrot tests | 03:51 | |
| davidfetter: make test_plperl6 | |||
| davidfetter: i need to unify the test targets, there is a github issue for it | |||
| davidfetter | ok 28 - Calculate the sum of all Fibonacci numbers <= 100 (named variable in signature) | ||
| dukeleto | davidfetter: that is the last line that prints? | 03:52 | |
| davidfetter | that's using parrot 2.7.0 (fedora) | ||
| yes | |||
| the others all say ok | |||
| dukeleto | davidfetter: does that test fail, or is postgres in an infinite loop on your machine? | ||
| davidfetter: and what version of rakudo are you using? | |||
| davidfetter | they all pass. it was just installcheck failing | 03:53 | |
| perl6 --version | |||
| This is Rakudo Perl 6, version 2010.08 built on parrot 2.7.0 | |||
| 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? | ||
| davidfetter | i can try with bleeding edge whatevers | ||
| this is on fedora 13 | |||
| stock parrot, rakudo, was trying pl/parrot (master) vs. pg (master) | |||
| dukeleto | davidfetter: trying it with rakudo master and --gen-parrot would be useful. then we will know if you can reproduce my issue | ||
| davidfetter: i have been running against pg 8.4 and 9.0.1 recently | 03:55 | ||
| davidfetter: they both seem to work well | |||
| davidfetter | rakudo's not part of parrot yet? | ||
| dukeleto | davidfetter: they used to be the same project in 2001 and have split apart quite some time ago | ||
| davidfetter | master is 9.1-to-be, so we've got 2.5 supported versions of pg ;) | ||
| oh. heh | |||
| ok, lemme grab rakudo. it's on github? | |||
| dukeleto | davidfetter: yep. github.com/rakudo/rakudo | 03:56 | |
| davidfetter: they have a download sections with tarballs | |||
| davidfetter: but you can do the repo too | |||
| davidfetter | might as well hit the repo | 03:57 | |
| now that we've shipped $product at work, i will get a little extra latitude | |||
| um, so how do i put a $PREFIX on these things so they live in isolation? | 03:58 | ||
| btw, do i compile parrot & rakudo separately, or...? | 03:59 | ||
| cotto | davidfetter, your call. If you run Rakudo's Configure.pl with --gen-parrot, it'll download and use a known-good parrot. | 04:02 | |
| davidfetter trying to figure out how many bleeding edge components to use here, and is tempted to do all-(master) | 04:03 | ||
| so if i do that, how do i $PREFIX each of (parrot, rakudo) ? | 04:05 | ||
| 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:08 | |
| 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:11 | |
| nopaste | Someone at 192.168.1.3 pasted "perl Configure.pl --parrot-con" (10 lines) at nopaste.snit.ch/24533 | 04:12 | |
| cotto | 1818 is an odd one. I don't see it succeeding on r49387. | ||
| davidfetter | that's what i got trying to make rakudo | 04:13 | |
| 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 | ||
| davidfetter | hrm. lemme get PWN out the door so i can work on this | 04:15 | |
|
04:23
dngor joined
04:35
dukelet0 joined
04:40
davidfetter left
|
|||
| 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:18 | |
|
05:41
theory left
06:09
uniejo joined
06:27
dukelet0 left
06:47
sabayonuser is now known as eternaleye
07:07
baest joined
07:17
dngor left,
dngor joined
07:31
bacek joined,
lucian_ left
|
|||
| cotto | good morning bacek | 07:43 | |
| clock? | |||
| 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 | ||
| cotto: No clue. Sorry. | |||
| cotto | er, evening | ||
| bacek | cotto, just arrived from $dayjob :) | ||
|
07:47
markus joined
07:51
markus left
07:54
Khisanth joined
08:55
szabgab left
|
|||
| cotto | bacek, how does trac.parrot.org/parrot/wiki/PirateTodo look? | 09:06 | |
| bacek | cotto, looks about all right | 09:23 | |
| You can also incorporate some things from rememberthemilk | |||
| cotto | good idea | ||
|
09:24
cognominal left
|
|||
| moritz | cotto: nothing | 09:24 | |
| cotto | ok. I've never seen it do nothing. | 09:25 | |
| moritz checks again | 09:28 | ||
| cotto: ok, seems to be not a parrot change at all | 09:38 | ||
| but a fuckup on my behalf | |||
| moritz apologizes | 09:39 | ||
| cotto | I'm quite relieved to hear that. | 09:40 | |
| Should I mark the ticket as invalid? | |||
| moritz | I already did | ||
| cotto | just noticed | 09:41 | |
| At least you can't say that you got no love from Parrot. | 09:42 | ||
|
09:50
contingencyplan left
|
|||
| Infinoid | kid51: Hmm. That's odd: dalek doesn't appear to be running on feather any more? | 09:51 | |
| moritz | Infinoid: diakopter bought a new VPS box while feather was down due to hardware smoke | 10:03 | |
| maybe it runs there | 10:04 | ||
|
10:24
dngor left,
dngor joined
|
|||
| Infinoid | moritz: Cool. kid51 mentioned some problems with reporting wiki changes... it's possible the new box is missing some CPAN modules | 10:29 | |
| cotto | I'd love to have that feature back. | 10:31 | |
| Infinoid | cotto: Is it just wiki changes? Do trac ticket changes work? | 10:34 | |
| (they're separate feeds) | 10:35 | ||
| cotto: good early morning, btw. :) | |||
| cotto | I don't think ticket changes are being reported either, | 10:37 | |
| . | |||
| moritz just closed one an hour ago that didn't get picked up. | |||
| Infinoid | Ok, thanks. I'll see if I can figure out what the story is | 10:41 | |
| cotto | much appreciated | 10:42 | |
| dalek | rrot: r49563 | bacek++ | branches/generational_gc (2 files): Separate wb_triggered flag from generic generation_2 flag to simplify |
10:45 | |
|
10:49
p6eval left
10:55
whiteknight joined
|
|||
| dalek | rrot: r49564 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Factor out function to move all cross-referenced objects to same generation |
11:01 | |
|
11:02
dngor_ joined
11:03
dngor left
|
|||
| dalek | rrot: r49565 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Add more self-checking functionality |
11:16 | |
|
11:18
p6eval joined
11:19
p6eval left
|
|||
| bacek | dear Mr. Whitworth. Are you going to slacking more? | 11:20 | |
| :) | |||
|
11:20
p6eval joined
|
|||
| mikehh | hay bacek, those last changes cause loads of failures | 11:20 | |
| bacek | mikehh, I know :) | ||
| That's why I made them | |||
| mikehh | bacek: what can I do to help? | 11:21 | |
| bacek | mikehh, run gdb, try to find out where I've made some mistakes... | 11:22 | |
| 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:27 | |
| with a couple of -> src/gc/gc_ms2.c:907: failed assertion 'pobj2gen(s) == self->current_generation' | 11:28 | ||
|
11:29
ttbot left
|
|||
| bacek | mikehh, yes. It's part of self-check | 11:38 | |
| mikehh | bah $work intrudes, get back to this later | 11:45 | |
| dalek | rrot: r49566 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Don't validate "constant" objects. |
11:47 | |
|
11:56
dngor joined
|
|||
| bacek | I DID IT! | 11:58 | |
| It works! | |||
|
11:58
dngor_ left
|
|||
| dalek | rrot: r49567 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Use GC_gen_2 flag during validation. |
12:03 | |
| rrot: r49568 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Avoid double processing of objects during gathering into same generation |
|||
| jnthn | bacek: We have generational GC?! | 12:05 | |
| bacek | jnthn, almost | ||
| jnthn | bacek++ | 12:06 | |
| whiteknight | bacek: not slacking. Still reading the gen_gc code | 12:12 | |
| 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:13 | ||
| bacek | whiteknight, too late. I fixed it in r49568. Broke r49569... | 12:14 | |
| whiteknight | hah! | ||
| 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 | ||
| bacek | ok. I'll do it in trunk after release and merge to branch. | 12:18 | |
| dalek | rrot: r49569 | bacek++ | branches/generational_gc/src/gc/gc_ms2.c: Switch on m&s of oldes generation. Introduce few new core test failures |
||
| bacek | I need more flags for GC... | ||
| Why do we have b_ prefix of some PObj flags??? | 12:19 | ||
|
12:29
cognominal joined
12:36
gerd joined
|
|||
| moderator | Parrot 2.9.0 will be released at '2010-10-19 08:00 UTC' | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | close configure component tickets | 12:39 | |
|
gerd left
|
|||
| 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. | ||
| bacek | And on this positive note I'm going to recharge. | 12:47 | |
| Good night, humans | |||
| dalek | rrot: r49570 | bacek++ | branches/generational_gc/src/pmc.c: Add more asserts. |
12:49 | |
|
12:53
bluescreen joined
|
|||
| whiteknight | bacek: I'll look at it | 12:54 | |
| I don't see a failure in t/pmc/fia.t. I see one in t/pmc/fsa.t | 13:13 | ||
| I'll look at it regardless | |||
|
13:30
uniejo left,
davidfetter joined
13:37
ruoso joined
13:51
PacoLinux joined
14:29
whiteknight left
14:31
dukelet0 joined
14:39
silug joined
14:47
dngor left,
dngor joined
14:50
theory joined
|
|||
| dalek | rrot: r49571 | gerd++ | trunk/NEWS: NEWS update |
14:52 | |
|
15:17
ttbot joined
15:24
dukelet0 left
15:41
dmalcolm joined
15:50
allison joined
15:55
brianwisti joined
16:20
davidfetter left
16:23
brianwisti left
16:32
dngor_ joined,
dngor left
|
|||
| dukeleto waves hello | 16:35 | ||
| dukeleto kicks off some smoke tests | 16:36 | ||
|
16:44
lucian joined
|
|||
| dukeleto | I having PASSing smokes on trunk for optimized/unoptimized parrot on gcc and 64bit linux | 16:51 | |
| as well as a PASS on darwin x86 unoptimized | |||
| dalek | rrot: r49572 | dukeleto++ | trunk/NEWS: [doc] Tweak the wording of a NEWS item |
16:56 | |
| dukeleto | We are still FAILING our darwinppc optimized build. Should this be noted in NEWS ? | 16:59 | |
| rather, the tests fail, not the build. The same single test still fails in t/op/number.t | |||
| Failing smoke report: smolder.parrot.org/app/projects/rep...etails/684 | 17:02 | ||
|
17:02
contingencyplan joined
17:05
dngor joined,
dngor_ left
17:24
brianwisti joined
17:27
dngor_ joined,
dngor left
|
|||
| cotto | ~~ | 17:27 | |
| brianwisti | Okay, so what is '~~' for? | 17:28 | |
|
17:32
dngor_ is now known as dngor
|
|||
| cotto | waving hello | 17:32 | |
| or checking for messages | |||
| mikehh | hi cotto | 17:33 | |
| jnthn | or seeing if you smartmatch against the next person who speaks | ||
| ;-) | |||
| brianwisti | gotcha | ||
|
17:48
bacek left
17:50
whiteknight joined,
davidfetter joined
|
|||
| nopaste | "mikehh" at 192.168.1.3 pasted "generational_gc branch - isolated test failure in t/pmc/fixedstringarray.t" (101 lines) at nopaste.snit.ch/24547 | 17:56 | |
| mikehh | msg bacek have a look at nopaste.snit.ch/24547 | 17:57 | |
| aloha | OK. I'll deliver the message. | ||
| mikehh | msg whiteknight have a look at nopaste.snit.ch/24547 | 17:58 | |
| aloha | OK. I'll deliver the message. | ||
| whiteknight | ok | ||
| nice | 17:59 | ||
| mikehh | whiteknight: thought I saw you dissappear :-} | ||
| whiteknight | wishful thinking | 18:00 | |
| :) | |||
| mikehh | naw you came back while I was setting the stuff up :-} | ||
| whiteknight: in the full test it fails an assertion - probably on the sweep 1 | 18:01 | ||
| cotto | It looks like -Ofire isn't a new idea: www.flickr.com/photos/38987873@N00/5084742139/ | 18:22 | |
| dalek | rrot: r49573 | nwellnhof++ | trunk/NEWS: Add NEWS item |
18:29 | |
| 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:40 | |
| post-merge, opcode numbers aren't especially meaningful apart from a bytecode segment | 18:42 | ||
|
18:47
dngor left,
dngor joined
18:55
davidfetter left
18:59
davidfetter joined
|
|||
| dukeleto | brianwisti: i am +1 to switching to a Build.PL in parrot-handler | 19:26 | |
| brianwisti: gotta run, talk to you more later about it | |||
| brianwisti | dukeleto: ok then, I have a rough Build.PL in my code that I will commit. | 19:30 | |
|
19:38
dngor left
20:10
bluescreen left
20:11
bluescreen joined
20:17
theory left
20:18
treed joined,
theory joined
20:28
lucian_ joined
20:30
dngor joined
20:31
lucian left
|
|||
| nopaste | "cotto" at 192.168.1.3 pasted "proposed interface changes to pmc-based op generation (not runnable atm)" (107 lines) at nopaste.snit.ch/24555 | 20:37 | |
| cotto | anyone care to comment on that? | 20:38 | |
| the different part is under "Generate bytecode" | 20:45 | ||
| aloha, clock | 20:48 | ||
| aloha, clock? | |||
| 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 | ||
| cotto: Search me, bub. | |||
|
21:23
bacek joined
|
|||
| plobsing | cotto: (re: pmc-based pbc generation) fixups no longer exist | 21:23 | |
| also string and PMC constants don't share indices | 21:24 | ||
| 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. | ||
| 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. | ||
| plobsing | and it is useful. I can substitute out an op with a jump to new bytecode | ||
| pushing ops is *easier* to implement and understand. it is less flexible | |||
| cotto | what would you suggest? | 21:28 | |
| plobsing | I don't know. Maybe require that people drop down to the raw interface for that. | 21:29 | |
| Although I don't like that either | |||
| how would people introspect existing bytecode? maybe it can tie in there | |||
| 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 | ||
| cotto | s/ops/bytecode/ | ||
|
21:32
bluescreen left
|
|||
| cotto | What's the use case for direct bytecode modification? | 21:32 | |
| 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:34 | ||
|
21:38
ruoso left
|
|||
| plobsing | common is a pretty hard thing to come by when it comes to pbc tools | 21:43 | |
| 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. | ||
| Yes, but it'll be the standard way to manipulate pbc as soon as we can make it such. | 21:45 | ||
| 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. | ||
| lots of yaks there | 21:47 | ||
| but they're important yaks with big, impressive-looking hats | |||
| 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:48 | |
| 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? | ||
| cotto | I don't know if anyone's planned on how baked-in to parrot it'll be. | ||
| plobsing | or do I have to precompile with eiter ./pirate (or ./parrotc a la javac)? | 21:50 | |
| I prefer the second. | |||
| cotto | so only pbc is directly exectuable, instead of both pir and pbc as now? | ||
| *executable | |||
| mikehh | how are we going to handle the bootstrapping problem? | ||
| 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. | ||
| cotto | in the long term, we'll be able to generate C from pbc and can check that in | ||
| plobsing | textual forms and bootstrapping are problematic | 21:52 | |
| if we still want a runable textual representation, I propose it *not* be PIR. | |||
| in stead, something dead simple with 1:1 correspondance with PBC | |||
| cotto | what pasm was intended to be | 21:53 | |
| +1 | |||
| plobsing | but ceased to be because it was coupled with PIR | ||
| 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 | ||
| no macros, no :flags, no nothing. constant table, bytecode dump, that's it | 21:55 | ||
| mikehh | machine readable/writable not necessarily peop;le oriented? | ||
| whiteknight | exactly | ||
| 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 | ||
| whiteknight | maybe MASM | ||
| 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 | |||
| mikehh | no ways, simpler than that | 21:58 | |
| 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:01 | |
| 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:02 | |
| whiteknight | I can't really think of a single practical use for PIR/PASM except to aide in debugging and disassembly | 22:10 | |
| 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:11 | ||
| plobsing: In reality, I'm not a big fan of PIRC for exactly that reason | 22:12 | ||
| 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 | |||
| atrodo | cotto> Lorito on the mind? | 22:14 | |
| cotto | atrodo, yup | 22:15 | |
| davidfetter puts on a few Lorito Lynn ballads | |||
| whiteknight | cotto: have you gotten any feedback on that teams idea? | ||
| 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 | ||
| 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 | ||
| me too | |||
|
22:17
lucian joined
|
|||
| cotto | I've rewritten some of the more annoying bits since then. | 22:17 | |
| whiteknight | okay | 22:18 | |
|
22:18
lucian_ left
|
|||
| 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 | ||
| atrodo | cotto> (about your lorito msg) Were you looking for my ideas on next steps for lorito or my thoughts on my prototype? | 22:20 | |
| cotto | atrodo, mostly a brain dump of what you learned from trying to implement it, especially things that were underspecified. | 22:21 | |
| Any format is fine. A list of question would help get the spec moving along. | 22:25 | ||
| atrodo | Sure. I think I can do that | 22:26 | |
| cotto | atrodo++ | ||
| atrodo | Now, remind me, pirate skips the PAST step, right? | 22:27 | |
| cotto | Yes. It does parse->post->pbc (though not PCT::HLLCompiler's flavor of post). | 22:29 | |
|
22:29
brianwisti left
|
|||
| atrodo | For some reason, I thought it did some magic in the pbc writing | 22:31 | |
| cotto | fsvo "magic" | ||
| atrodo | which would have been a nice place to hijack to make pir->lasm | ||
| cotto | s/would have been/will be/ | 22:33 | |
| 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 | ||
| 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:36 | ||
| atrodo | Which sounds a lot simplier than my inital nqp-rx hack ideas | 22:37 | |
| cotto | that's the beauty of layers | ||
| atrodo | like onions | ||
| jnthn | I figure you'll want to write a PAST -> newPOST rather than having to modify nqp-rx itself. | 22:38 | |
|
22:39
jsut_ joined
|
|||
| jnthn | (I'm not wildly guessing. I actually have been writing a PAST -> .Net thingummy.) | 22:39 | |
| cotto | Yes. I should be talking about PCT::HLLCompiler, which is where POST lives and which is what nqp-rx is build on. | 22:40 | |
| *built | 22:44 | ||
|
22:44
jsut left
|
|||
| atrodo | cotto> github.com/atrodo/lorito/blob/maste...s_skel.pod <Definitions of my lorito ops | 22:48 | |
| cotto | looking now | 22:50 | |
| We need to make a low-level understanding of cps more accessible. | 23:02 | ||
| 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. | ||
| It | 23:04 | ||
| 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:05 | ||
| particle had a good link I should dig up | 23:06 | ||
| dukeleto is +1 to a nice description of CPS for parrot hackers on the wiki | 23:13 | ||
| davidfetter prepares some CPS reports using the new cover sheets | 23:16 | ||
| GeJ | CPS? | 23:17 | |
| cotto | happily we have at least a couple hackers around here whose brains can be picked | ||
| aloha, cps? | 23:18 | ||
| aloha | cotto: No clue. Sorry. | ||
| GeJ | continuation passing style? | ||
| cotto | cps is continuation-passing style | ||
| aloha, cps? | |||
| aloha | cotto: cps is continuation-passing style | ||
| davidfetter wonders what preparing reports with cover sheets would look like in CPS | 23:20 | ||
| cotto | not quite as boring | ||
| davidfetter | is there an option for fish filleting? | 23:24 | |
| cotto | Why wouldn't there be? | 23:25 | |
| bacek_at_work | ~~ | ||
| cotto | just clean up after yourself | ||
| hail, bacek_at_work | |||
| bacek_at_work | aloha, cotto | 23:26 | |
| mikehh, thanks for nopaste | |||
| whiteknight, can you look at nopaste.snit.ch/24547 ? This is t/pmc/fsa.t failure I talked about | 23:27 | ||
| dukeleto found a working TI89 on the curb today. How long until I can run Parrot on it? | 23:28 | ||
| cotto | nice find | ||
| I still have mine from high school | 23:29 | ||
| dukeleto | I also have a ti92 laying around, which has an IR port. I have an itch to make them useful again. | 23:30 | |
|
23:34
davidfetter left
|
|||
| cotto | seen particle | 23:36 | |
| aloha | particle was last seen in #parrot 4 days 5 hours ago joining the channel. | ||
| whiteknight | bacek: yeah, I saw those failures | ||
| or, similar failures | |||
|
23:48
davidfetter joined
|
|||