Parrot 2.0.0 "Inevitable" released! | parrot.org | Priorities: merge tt_389_fix and one_make branches | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs
Set by moderator on 23 January 2010.
dalek rrot: r43591 | chromatic++ | trunk/src/pmc/orderedhash.pmc:
[PMC] Fixed C errors and warnings reported by Andy Dougherty in TT #1417: don't
00:00
00:00 mj41_ joined
Coke ooh, something that is difficult to localize. that'll entertain me tomorrow. -> zzzz 00:13
00:15 dduncan joined 00:27 dduncan left 00:31 tetragon joined
dalek rrot: r43592 | chromatic++ | trunk/src/pmc/orderedhash.pmc:
[PMC] Removed spurious trailing semicolon from OrderedHash (Andy Dougherty,
00:49
00:50 patspam joined 00:53 abqar joined 01:08 naypalm joined 01:09 cotto_w0rk joined
mikehh I am getting a failure with testr - t/pmc/eval.t - Failed test: 12 with gcc builds (with or without --optimize) BUT NOT g++ builds - Ubuntu 9.10 amd64, since the merge (TT #1412?) 01:20
sorry that should be TT1142 01:21
TT #1142
plobsing mikehh: which merge? 01:23
01:24 cconstantine joined
mikehh orderedhash_revamp 01:25
kid51 I did a "practice svn merge" of one_make into trunk. 01:31
The merge itself was much easier than I thought; only a few easily resolvable conflicts. 01:32
But make test was pretty awful.
01:33 LaVolta joined
cotto_w0rk I'll have some time in a couple hours to give it a shot, but I recall that last time I tried a merge I had to get bacek to rescue me. 01:33
nopaste "kid51" at 71.255.53.28 pasted "'make test' after attempted merge of one_make branch into trunk" (280 lines) at nopaste.snit.ch/19368 01:34
kid51 but surprisingly, I had a tremendous make fulltest after (what I presume was today's) orderedhash branch merge. 01:35
cotto_w0rk That's extravagantly broken. I'm not even sure how that's possible. 01:36
You did reconfig, right?
kid51 Since, in that paste, most of the failing files are failing in toto, I suspect path problems.
I merged into a fresh sandbox
plobsing mikehh: I can't reproduce the error. can you run './parrot t/pmc/eval_12.pbc' and show the output? 01:37
mikehh I get the error with gcc builds on Ubuntu 9.10 amd64 but not with g++ builds 01:39
kid51 Trying something
mikehh and only in testr 01:40
plobsing mikehh: I am on Arch Linux x86_64 and compile with gcc 4.4.2 . My results should be similar.
mikehh it passes on all other cores, and make coretest, make test
01:40 JimmyZ joined
kid51 Getting better results. 01:46
After the merge, config/gen/makefiles/root.in had 'running-make-test' in EXTRA_TEST_ARGS
That was eliminated in trunk in r43546 01:47
Deleting that string from root.in and starting over from make realclean is leading to much better make test results.
PASS
Dare I merge ... or does Coke want to do the honors? 01:48
01:52 particle joined 01:56 cognominal joined
kid51 If we don't merge one_make now, then perhaps we should consider applying to that branch the same changes applied to trunk in r43546 (eliminating --running-make-test) 01:59
cconstantine how would I go about removing an item from a hash in nqp? 02:01
or even better, just remove al items in the hash (or even the hash itself) 02:03
just %some_hash := NULL ? 02:04
Austin cconstantine: yes 02:08
But that eliminates the hash - you won't be able to store anything there afterwards.
cconstantine Austin: awesome 02:12
on both counts
Austin How's reason?
You get your quote thing worked out? 02:13
cconstantine yup
it's awesome
Austin Sweet
cconstantine I'm just doing some cleanup work now
Austin So what's next? A text editor?
cconstantine hmm, a lisp-aware text editor... I wonder if one already exists...
Austin Doubtful. 02:14
kid51 lisp?
purl rumour has it lisp is just for the firmware loader or xkcd.com/224/
cconstantine surely that's not emacs
Austin No, man. Emacs is a text-aware operating system.
cconstantine true true 02:15
I still have some basic forms to get working. I'm aiming to get only the bare minimum of forms working then stay in in reason as much as possible for the rest of it's implementation 02:17
latests changes are up 02:20
in case you care
kid51 Okay, so the only failure I'm getting in 'make fulltest' in the merge-candidate tree is the one we expect: perlcritic.t fails on tools/dev/checkdepend.pl.
cconstantine is it fairly easy to load an external HLL file? 02:24
that's probably a dumb question, and I don't really need to know how to do it now so... yeah 02:28
02:29 somebody joined 02:35 TiMBuS joined
Coke (I don't care if someone else merges one_make back to trunk) 02:36
kid51 Coke I'm ready to do that now --okay? 02:38
Coke sure.
kid51 ... and I'll remove the branch then?
Coke sure.
thanks. I hate dealing with merges.
-> offline. 02:39
GeJ building post-merge 02:43
dalek rrot: r43593 | jkeenan++ | trunk (166 files):
Merge one_make branch into trunk.
02:44
rrot: r43594 | jkeenan++ | branches/one_make:
Branch has been merged into trunk and is no longer needed at HEAD.
purl i already had it that way, dalek.
ttbot Parrot trunk/ r43593 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185416.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
GeJ build OK, smoking it. 02:45
r43594 smoke PASS on FreeBSD 7.2 amd64 02:51
Coke++
kid51++
ttbot Parrot trunk/ r43595 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185459.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 02:59
dalek rrot: r43595 | jkeenan++ | trunk/tools/dev/checkdepend.pl:
Convert an 'XXX' into ļæ½trac.parrot.org/parrot/ticket/1418 to quiet perlcritic.
03:00
JimmyZ E:\\parrot>make 03:03
makefile:2802: warning: overriding commands for target `testg'
makefile:2798: warning: ignoring old commands for target `testg'
D:\\strawberry\\perl\\bin\\perl.exe tools\\build\\h2inc.pl include\\parrot\\enums.h lib\\
Parrot\\Pmc2c\\PCCMETHOD_BITS.pm
invalid output file: 'lib\\Parrot\\Pmc2c\\PCCMETHOD_BITS.pm' for input 'include\\par
rot\\enums.h' at tools\\build\\h2inc.pl line 36. 03:04
make: *** [lib\\Parrot\\Pmc2c\\PCCMETHOD_BITS.pm] Error 255
dalek TT #1418 created by jkeenan++: tools/dev/checkdepend.pl: TODO; fine-tuning
cconstantine how do I add attributes to a compiler? I've tried addattribute but it won't work (add_attribute() not implemented in class 'Reason::Compiler') 03:09
oh, I have an instance of a class, not a class definition :( 03:11
GeJ clock? 03:12
purl GeJ: LAX: Mon 7:12pm PST / CHI: Mon 9:12pm CST / NYC: Mon 10:12pm EST / LON: Tue 3:12am GMT / BER: Tue 4:12am CET / IND: Tue 8:42am IST / TOK: Tue 12:12pm JST / SYD: Tue 2:12pm EST /
dalek TT #1214 closed by jkeenan++: config/inter/charset.pm generates incorrect makefile deps 03:20
TT #1285 closed by jkeenan++: Some files generated by Configure.pl should be generated by Makefile
TT #382 closed by jkeenan++: Using := in Makefiles causes extra complexity
kid51 Smolder is being recalcitrant again re feedback to submitter. 03:21
I notice that when Smolder is being recalcitrant, it shows a box on the summary page that reads like this: 03:23
Platform \tUnknown \tArchitecture \tUnknown
... until such time as the timeout runs its course.
Coke what was with all prop changes on the merge? 03:25
kid51 That's the latest version of Subversion ... or at least the latest version I have on that box. 03:26
svn --version svn, version 1.5.1 (r32289) compiled Aug 6 2009, 20:47:37 03:27
dalek tracwiki: v8 | jkeenan++ | BuildTaskList
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
Coke oh, was it the svn-merge props?
kid51 I guess that's what they call it. 03:28
All my merges lately have had that.
Nothing to worry about, AFAICT
Coke k 03:29
kid51++
kid51 Subversion is actually up to at least 1.6.3 (what I have on my ibook).
1.5.1 is what came with Debian Lenny 03:30
kid51 must sleep
purl $kid51->sleep(8 * 3600);
03:52 cognominal joined
Coke looks like svn:ignore didn't get copied over. 03:53
ah, whoops. no, things that used be cleaned aren't any more. need to do a manually clenaup once.
dalek tracwiki: v9 | coke++ | BuildTaskList 04:00
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
tracwiki: v10 | coke++ | BuildTaskList 04:16
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
05:08 abqar joined 06:03 eternaleye joined 06:05 brooksbp joined 06:49 cognominal joined 07:22 brooksbp_ joined
wagle my round tuit arrived this evening, and i'm giving parrot a whirl 07:24
in the docs, it says stuff like "run this: $ B<parrot news.pasm>" 07:25
what does that mean? is the docs b0rk?
07:26 kgilmer joined
GeJ if you see this in perldoc, then most probably. If you're reading raw pod, then discard the 'B<' and '>'. 07:40
07:52 khisanth_ joined
wagle docs.parrot.org/parrot/latest/html/...d.pod.html 07:56
for example
08:02 iblechbot joined
GeJ Hum, ok. 08:02
Looks like some POD got in the HTML rendering. 08:03
just ignore 'B<' and '>' for now.
and the '$' is the command prompt, so you don't have to type it either. 08:04
just go with: parrot news.pasm
08:10 particle1 joined
wagle yeah.. i'm currently busy with figuring out first class functions.. dukeleto talked me into writing a scheme compiler 08:21
pir is perl without the bells and whistles 08:22
cotto technically, so is bf 08:23
wagle just found that amusing.. 08:29
oh.. brainf*ck.. i never sat down and figured that out 08:33
cotto It's probably better that way.
wagle lol
cotto You lol now but wait until you've tried it. 08:36
wagle lol's now while he still knows how
here's the example i bookmarked: www.linusakesson.net/programming/brainfuck/ 08:38
ttbot Parrot trunk/ r43596 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185541.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 08:53
dalek rrot: r43596 | cotto++ | trunk/tools/dev/checkdepend.pl:
[checkdepends] Trade one bug for another. Also, upgrade this from a braindead script to a script.
08:56
ttbot Parrot trunk/ r43597 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185576.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 09:05
cotto I wonder if that's a case-sensitivity bug. 09:07
Let's see if that helps. 09:09
msg cotto_w0rk Check if the win32 build is fixed at tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ 09:11
purl Message for cotto_w0rk stored.
cotto I can delegate.
dalek rrot: r43597 | fperrad++ | trunk/ext/nqp-rx/Rules.mak:
[build] fix target 'installable'
09:12
ttbot Parrot trunk/ r43598 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185615.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
rrot: r43598 | cotto++ | trunk/lib/Parrot/H2inc.pm:
[h2inc] make h2inc less picky about capitalization, hopefully fixing the win32 build
rrot: r43599 | cotto++ | trunk/tools/dev/checkdepend.pl:
[checkdepends] minor readability improvements
ttbot Parrot trunk/ r43599 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/185629.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 09:14
cotto might be slashes then 09:17
09:22 JimmyZ joined
JimmyZ nopaste 09:22
nopaste?
purl nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or trac.parrot.org/parrot/browser/tru...nopaste.pl
nopaste "JimmyZ" at 61.144.177.86 pasted "parrot make error on Win32 with strawberry perl" (23 lines) at nopaste.snit.ch/19372 09:23
cotto JimmyZ, can you test a patch? 09:24
JimmyZ yep 09:25
nopaste "cotto" at 96.26.227.153 pasted "win32 build fix" (22 lines) at nopaste.snit.ch/19373
cotto if the build doesn't immediately explode, it worked 09:27
lmk
JimmyZ, is it working? 09:31
JimmyZ the same error 09:32
cotto well crud
It's off to bed with me. I'll have a windows box to play with tomorrow. 09:33
JimmyZ and there is a warning.
makefile:2802: warning: overriding commands for target `testg'
makefile:2798: warning: ignoring old commands for target `testg'
cotto: good night
cotto night
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#31913), fulltest) at r43599 - Ubuntu 9.10 amd64 (g++ with --optimize) 09:40
dalek rrot: r43600 | fperrad++ | trunk/lib/Parrot/H2inc.pm:
[H2inc] fix on Windows
09:45
09:54 JimmyZ joined
JimmyZ fperrad++ 09:55
nopaste "JimmyZ" at 61.144.177.86 pasted "parrot make error on Win32 with strawberry perl again" (14 lines) at nopaste.snit.ch/19374
10:00 payload joined 10:09 TiMBuS joined
mikehh fulltest - testr FAIL - t/pmc/eval.t - Failed test: 12 - see TT #1142 10:16
all othertests PASS (pre/post-config, make corevm/make coretest, smoke (#31915), fulltest) at r43600 - Ubuntu 9.10 amd64 (gcc with --optimize)
10:20 payload joined 10:51 payload joined 11:46 cognominal joined 12:09 LaVolta joined 12:14 payload joined 12:16 bluescreen joined 12:30 cconstantine joined 13:43 payload joined 13:52 payload joined
Coke fperrad++ 14:23
make tests passes for me here on SB perl. 14:32
the testg duplicate rule is probably because we have a testg and a testG 14:33
14:39 payload joined
Coke ugh. we invoke perl to invoke CC every time? 14:40
I wonder how much of our build time is devoted to perl startup.
14:42 mj41_ joined
particle much more on windows... 14:43
Coke I'll add that to the cleanup work.
14:43 mj41__ joined
Coke trac-- 14:48
dalek rrot: r43601 | coke++ | trunk/config/gen/makefiles/root.in:
testG conflict with testg on windows, so use more characters.
14:51
tracwiki: v11 | coke++ | BuildTaskList 14:54
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
tracwiki: v12 | coke++ | BuildTaskList
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
14:56 mj41_ joined
Coke cotto, was that you that made cd.pl show line numbers and makefile names? 14:59
(whoever that was, thanks.) 15:01
msg cotto my plan for the build is to have every foo.pir get built into foo.pbc, even if it is later copied to buz/blarg/frob.pbc 15:03
purl Message for cotto stored.
Coke then we can key all the deps for going from pir->pbc properly. 15:04
msg cotto we should also distinguish between load_bytecode deps (runtime) and include (compile time)
purl Message for cotto stored.
dalek rrot: r43602 | coke++ | trunk/tools/dev/cc_flags.pl:
Remove unused option.
15:08
tracwiki: v13 | coke++ | BuildTaskList 15:11
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
tracwiki: v14 | coke++ | BuildTaskList
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
tracwiki: v15 | coke++ | BuildTaskList
tracwiki: trac.parrot.org/parrot/wiki/BuildTa...ction=diff
NotFound r43604 must fix the problem nopasted by JimmyZ. 15:19
dalek rrot: r43603 | coke++ | trunk/tools/dev/checkdepend.pl:
Move these docs into the wiki and reference them from here.
15:24
rrot: r43604 | NotFound++ | trunk/src/embed.c:
remove unneeded Parrot_SubAttributes access from set_current_sub
rrot: r43605 | coke++ | trunk/config/gen/makefiles/root.in:
Fix 2 dependencies: one missing with the new build, one w/2 targets in 1 rule.
15:27 preflex joined 15:41 Psyche^ joined 15:46 bubaflub joined
cotto Coke, yes I added that. 15:47
Coke cotto++ : thanks. 15:49
cotto I like the idea of making the pbc build more C-like. 15:51
That'll make dependency checking easier.
and it'll mean I won't have to make checkdepends much smarter 15:54
Coke that was my lan. 15:57
*p
15:57 cognominal joined, whiteknight joined
Coke anyone here using ncigen? 15:57
it's not built as part of the normal build, it seems.
whiteknight Might just be a good opportunity to switch to the PCT-based variant 16:01
at least, I seem to remember that project was mostly ready to go
16:09 brrant joined 16:33 payload joined
cotto_w0rk good morning! 16:43
whiteknight good morning cotto 16:44
17:01 brooksbp joined
bubaflub good afternoon, all. i've got a rather newbie question: i ran make install on 1.9.0 and now want to make sure that my development doesn't conflict with an older version. since there is no make uninstall, should i just nuke the directory and unlink some stuff in /usr/local/bin? 17:27
darbelo bubaflub: Torch the harddrive. It's the only way to be sure. 17:28
bubaflub darbelo: hahaha.
17:29 theory joined
darbelo If you're willing to settle for a lesser alternative, you can install to a --prefix and use that as a list of stuff to delete from /usr/local 17:29
bubaflub ah, i see that they are actual executables in /usr/local, not symlinks 17:34
that should make things more interesting
cotto_w0rk Does anyone recall what the official conclusion on switching Parrot to Git was? ISTR allison saying that it should be brought up at some point in the future, either post-2.0 or post 3.0. 17:37
bubaflub cotto_w0rk: if my memory serves me correctly, at one parrotsketch it was asked to be brought up post-2.0 17:42
cotto_w0rk good enough
whiteknight bubaflub: you'll want to unlink everything parrot*, libparrot*, and pbc* from /usr/local/bin, /usr/local/lib, /usr/local/src, /usr/local/inc
bubaflub whiteknight++
whiteknight Here's my bash function to do it: 17:43
function parrot-uninstall {
sudo rm -rfv /usr/local/bin/parrot*
sudo rm -rfv /usr/local/bin/pbc*
sudo rm -rfv /usr/local/lib/parrot*
sudo rm -rfv /usr/local/lib/libparrot*
sudo rm -rfv /usr/local/src/parrot* 17:44
sudo rm -rfv /usr/local/include/parrot*
}
overkill, but always works
cotto_w0rk won't that miss include/pmc ? 17:45
whiteknight no, recursively deletes all files and folders
that's /usr/local/include/pmc, right?
cotto_w0rk yes
whiteknight hmm, I didn't know we installed files to that location 17:46
whiteknight needs to update his macro
cotto_w0rk It's a recent change.
bacek++'s doing iirc
whiteknight ah, that magical coding robot
particle parrotsketch is logged... 17:48
cotto_w0rk 2.0 or 3.0 is correct: irclog.perlgeek.de/parrotsketch/200...#i_1553903 17:52
Coke gives a "meh" for the switch to git. 18:01
we still haven't recovered from our last infrastructure transition. =-)
cotto_w0rk you mean rt->trac? 18:02
Coke more generally, parrotcode.org -> parrot.org
but yes.
and rt->trac was a BEAR. 18:03
dukeleto: any progress on the website?
so, I like git better, and am happy for the switch, but have no interest in managing any of the work involved.
* or doing.
if a shiny new git shows up, whee.
cotto: ./parrot -E might help with 1418. 18:08
whiteknight The switch to git will be much more painless than the switch to SVN
and if we were bright we could maintain a read-only SVN mirror
Coke cotto: yup. it flattens heredocs... 18:09
cotto_w0rk nice
Coke whiteknight: given that we now have not svn but svn+trac...
(that adds to the complexity, is all.)
cotto_w0rk although it's pretty simple to deal with them if all I care about is ignoring them. 18:10
Coke fair enough.
whiteknight too bad github doesn't offer a better issue tracker
cotto_w0rk We'd definitely want to keep a ro svn mirror, even if only to avoid obsoleting all extant references to svn revisions.
Coke whiteknight: we're not switching issue trackers. =-) 18:11
we've done that once. we're not doing again. =-)
I don't care if the new one /fixes bugs/
cotto_w0rk +1
purl 1
bubaflub whiteknight: github.com/davglass/github-trac 18:12
don't know how good it is, but there is a plugin started for using trac with github. even including redirecting the source view of trac to github 18:13
Coke if folks are serious about git, a page to track what we'd need from an infrastructure standpoint to switch. (trac support. all old rXXXX links inside trac should still work., etc.) 18:15
cotto_w0rk Coke, doing so now 18:17
Coke failed to complete that sentence; danke. 18:18
dalek tracwiki: v1 | cotto++ | GitTransition 18:28
tracwiki: trac.parrot.org/parrot/wiki/GitTran...ction=diff
cotto_w0rk tracsmac 18:29
Gah! What's with trac today? 18:30
18:32 chromatic joined
cotto_w0rk nm. browser issue 18:32
bubaflub cotto_w0rk: i think dukeleto should have some good feedback on the switch to git; i know he recently did an svn -> git transition at his work. he also taught me git. 18:33
cotto_w0rk Excellent.
I'll ask him to add to that page next time he's around.
18:38 zibri joined
moderator Parrot 2.0.0 "Inevitable" released! | parrot.org | Priorities: deprecated core PMCs and VTABLE entries | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs 18:42
wagle so, do i want to write a compiler from scheme s-expr strings to .pir, or look into one of the other things? 18:50
chromatic wagle, if I were doing Pheme over again, I'd use NQP. 18:51
wagle hmm.. ok
chromatic I don't know how easy or difficult NQP makes things, but expression evaluation order rewriting was annoying enough that I wouldn't want to do it myself.
18:51 joeri joined
wagle i am planning to do all sorts of wacky things with memory layout 18:51
oh, expression evaluation is easy for me 18:52
Coke wonders if he'll ever get back to partcl-nqp 18:53
wagle i have a trick: wagle-normal-form, which moggi's a-normal-form was later a lot like.. one person says its "just ssa!"
(invented-by-laziness at 3am) 18:54
treat temporaries and locals the same
so make each temporary a local
conversion is a lot like converting to continuation-passing-form 18:55
chromatic Sure, now write that in PIR.
That part was the annoying one, at least for me. 18:56
wagle write a compiler to write it in .pir for me.. 8)
chromatic Presto, done! ext/nqp-rx
wagle tries to juggle 24 balls at onve
wagle tries to juggle 24 balls at once
sweet! 18:57
cotto_w0rk dukeleto, can you look at trac.parrot.org/parrot/wiki/GitTransition ? Apparently you have some recent experience with svn->git migrations.
dukeleto indeed I do 18:59
cotto_w0rk throws another hat at dukeleto
dalek tracwiki: v148 | dukeleto++ | WikiStart 19:00
tracwiki: trac.parrot.org/parrot/wiki/WikiSta...ction=diff
dukeleto starts wearing hats on his feet
wagle use toes.. 19:01
19:03 rblasch joined 19:05 plobsing joined 19:15 rblasch_ joined
dalek tracwiki: v149 | cotto++ | WikiStart 19:17
tracwiki: trac.parrot.org/parrot/wiki/WikiSta...ction=diff
19:22 rblasch__ joined 19:32 iblechbot joined
Coke oh, crap, did I miss PS? 19:37
dukeleto Coke: yep 19:40
Coke: we gave you all the hardest TTs
wagle: how is your scheme interpreter?
wagle dukeleto: going to try writing one in haskell to target .pir... until i hit one of the many walls i can see dimly in the fog 19:44
Coke dukeleto: I'll treat them with the same care and tenderness that all the tt's open are. =-)
wagle i dont have the impression i can (easily) do what I really want, but at least I'll get the infrastructure for a front-end going 19:46
dukeleto wagle: so you are writing haskell that generates PIR? 19:47
wagle i have a lot of clever memory layout and intermediate language stuff i want to do, and targetting a simplified perl is a bit disconcerting.. but i'll get over that, i think
dukeleto: yeah, i think i can get that going in a day or so (without factoring in the 3x) 19:48
will start working on it in an hour or so
dalek tracwiki: v2 | dukeleto++ | GitTransition 19:50
tracwiki: trac.parrot.org/parrot/wiki/GitTran...ction=diff
wagle eventually, i write it in itself, but hey 19:54
19:54 bluescreen joined
whiteknight chromatic: ping 19:59
davidfetter anybody know the status of rakudo w/2.0? 20:00
dalek rrot: r43606 | mikehh++ | branches/remove_deprecated_vtable_entries:
create a branch to remove deprecated VTABLE entries
20:01
rrot: r43607 | mikehh++ | branches/moving_core_to_dynpmcs:
create a branch to move core to dynpmcs
chromatic pong 20:05
whiteknight chromatic: in #ps today you mentioned TT #389 was "more complex than anyone thought". The ticket doesn't have any info from the last two months. Can you expand on the new-found difficulties?
cotto_w0rk davidfetter, istr that ng worked with it after a fairly small amount of hacking.
PerlJam davidfetter: I know that the ng branch seems to work fine with 2.0 and that the ng branch should become master this week and that there should be a release this week. 20:06
chromatic Built-in PMCs store associated methods in the NameSpace because I couldn't find a good place to put them otherwise.
My best idea right now is to store them in a PMCProxy. 20:07
dalek tracwiki: v3 | dukeleto++ | GitTransition
tracwiki: trac.parrot.org/parrot/wiki/GitTran...ction=diff
davidfetter cotto_w0rk, PerlJam ok. the rakudo thing appears to be blocking a fedora package
whiteknight chromatic:so it's just a question of figuring out where to put the definitions if not in the Namespace? 20:13
Coke trac--
whiteknight to my knowledge PMCProxies are created lazily, right? 20:14
chromatic Right.
Coke trac--
whiteknight toots "this won't be a problem when everyting is written in Lorito" horn
chromatic No kidding.
Because PMCProxy extends Class, it's easy enough to stuff them in there. 20:15
whiteknight on parrot startup, we create NameSpace PMCs for each built-in type?
chromatic I don't know that.
The vtable has a slot for that.
I assume it has to be that way to store the methods.
whiteknight well the method PMCs are created on startup, and if they're going in the NameSpaces, the namespaces must be created early 20:16
chromatic Exactly.
whiteknight What if every VTABLE had a Hash* with methodnames/Method PMCs? 20:17
then we wouldn't need to create PMCProxies eagerly
20:17 payload joined
whiteknight but we could look them up in the hash and add them to the proxy when needed for inheritance 20:18
chromatic I'm not sure.
Essentially we have two method lookup schemes now.
One is for classes and one is for intrinsics.
Unification would be lovely. 20:19
Coke will spock be there/
whiteknight where do Classes store them, right in an attribute of the class?
chromatic Yes. 20:20
whiteknight hmmm 20:21
quite the tricky problem
chromatic It's not awful. I think the trick is to make Default delegate its find_method VTABLE to the appropriate PMCProxy's find_method. 20:22
whiteknight that's a reasonable solution. I have a personal irrational dislike of PMCProxy, but I won't let that get in the way 20:23
chromatic Otherwise we make everything extend Class, not default.
Point being, a doubly-rooted hierarchy is silly.
dalek tracwiki: v4 | coke++ | GitTransition
tracwiki: trac.parrot.org/parrot/wiki/GitTran...ction=diff
tracwiki: v5 | coke++ | GitTransition
tracwiki: trac.parrot.org/parrot/wiki/GitTran...ction=diff
whiteknight on a tangential note, is there any reason why Class and PMCProxy cannot be merged?
chromatic PMCProxy->instantiate() I think. 20:25
whiteknight but that should be easy enough, switch whether the type is an intrinsic or not, and run one of the two implementations 20:26
chromatic Replace Polymorphism with Switch?
20:28 Austin joined
whiteknight When the Class PMC is created, we would have a flag that determines whether it's a built-in type or not. 20:32
PMC2C would generate the affirmative flag. Anything else would be negative
then when we instantiate, we act based on the value of that flag
chromatic What does that unification provide, besides the chance to get rid of polymorphism with runtime checks and switches? 20:34
Here's my idea. 20:48
When we register methods in PMC initialization, create a PMCProxy, store it in the appropriate namespace, and then insert the methods there.
dalek rrot: r43608 | chromatic++ | branches/tt389_fix/lib/Parrot/Pmc2c/PMCEmitter.pm:
[lib] Extracted write_nci_methods() method from init_func() method in PMC
20:50
NotFound whiteknight: I think your post about pir doesn't take into account the pir role as target language for compilers that doesn't use PCT. 20:51
BTW the anonymous that recommends Winxed is not me X-) 20:52
whiteknight NotFound: no, I didn't forget about Winxed. But I think it should be easy for Winxed to output PASM instead of PIR 20:53
chromatic: good idea, but increases startup time
NotFound: and if you can output PASM, you can call libparrot to do a direct translation to bytecode
the only thing that PASM is really missing there is the ability to auto-allocate registers, which you don't want to do yourself 20:54
NotFound whiteknight: yes, but pir curentrly takes care of calling conventions details. Generating pasm means you need to change the code generator when calling conventions change,
chromatic There's a tradeoff. We're trading a bit of startup time for correctness and unification of method lookup. 20:55
20:56 brooksbp joined
cotto_w0rk Lazy PMC initialization could help alleviate some pain. 20:56
whiteknight chromatic: so find_method VTABLE gets the PMCProxy/Class from the namespace and then looks for the method there? 20:58
chromatic Definitely.
Yes.
whiteknight wait, pmc has pmc->vtable->class with the current Class or PMCProxy, right? So we can keep the lookup with only one redirection 20:59
cotto_w0rk I'm seeing the charm of unification.
chromatic It's a one-line delegation: VTABLE_find_method(interp, VTABLE_get_class(interp, SELF->vtable->_namespace), method);
Does PMCProxy go in vtable->class?
whiteknight chromatic: I think it should. in a built-in PMC type, vtable->class wouldn't hold anything else anyway 21:00
chromatic Fine by me.
That lets us skip a lot of unnecessary ceremony anyway.
whiteknight jam the class or the proxy in there, be consistent about it, and then we just do VTABLE_find_method(interp, SELF->vtable->class, method); 21:01
21:01 japhb joined 21:09 bacek joined
whiteknight I would really like to see some good caching or memoization of looked-up methods though 21:10
of course we may need to wait for a proper PIC implementation or something similar for that
chromatic In theory we have caching.
We have two kinds of caching.
Both suck in various ways.
whiteknight I'm not aware of any caching that is done for method lookups 21:11
chromatic find_method_direct_1() in src/oo.c. 21:12
whiteknight that doesn't do any caching 21:14
oh wait, I was looking at the wrong method
bacek morning, good morning 21:15
whiteknight hello bacek
bacek aloha whiteknight
whiteknight anyway, I'm heading home now. See you guys later 21:16
chromatic slacker
21:19 payload1 joined
bacek msg whiteknight Can you help me with gc_encapsulate branch? It compiles. Even runs. But dies on first GC cycle... 21:21
purl Message for whiteknight stored. 21:22
bacek heading off for morning duties and $dayjob
cotto_w0rk chromatic, moving #ps 3 hours later seemed like an acceptable option to most people. Are we going to try that? 21:23
darbelo +1 from me on that. 21:25
I wouldn't have missed it today that way ;)
chromatic We can try it. 21:27
21:33 bacek joined
NotFound "The PL/Parrot team will be having IRC meetings in #plparrot on freenode" Are you going to post logs somewhere? 21:35
Coke 3 hours puts it at what time? 21:39
ps? 21:40
purl rumour has it ps is postscript or process status or see "parrotsketch" or non-vector?! or annoying
Coke parrotsketch?
purl hmmm... parrotsketch is a status meeting for parrot core committers held every Tuesday at 18:30 UTC in #parrotsketch
chromatic 21:30 UTC then.
NotFound 22:30 Spain winter time. Good for me. 21:42
Coke that puts it at 4:30 or 5:30 eastern depending on the season?
darbelo UTC == GMT ?
Coke darbelo: minus DST.
UTC?
purl hmmm... UTC is date -u or "Coordinated Universal Time"
NotFound darbelo: for all practical purposes, yes. 21:43
Coke er, wait. minus some fractions of a second.
darbelo Looks good to me.
NotFound GMT is astronomical based, UTC is based on atomic clocks.
Coke if we move to that, I'll miss it about half the year due to being in a car. 21:44
chromatic That's a long commute.
Coke funny. 21:45
I don't see '3 hours' in the email thread.
chromatic Go ahead and laugh. I'm a funny guy.
Coke just "couple"
... tell everyone goodbye.
21:46 cghene joined
darbelo couple == 2 ? Such old-fashioned thinking... 21:49
NotFound How many are a 'bunch'? 21:51
Coke bunch depends on the item being bunched. 21:59
22:04 joeri left
dukeleto anybody know stuff about openembedded? 22:11
dalek rrot: r43609 | plobsing++ | trunk (2 files):
fix return (possibly smaller) native types from NCI and add test for returning
22:12
darbelo dukeleto: www.openembedded.org has some pointers. 22:13
dukeleto darbelo: yes, I am reading up
it looks like I am going to get some hardware from buglabs.net to port Parrot to it 22:14
and they use an openembedded buildchain
darbelo Oh. Shiny.
dukeleto shiny shiny! I am excited 22:15
Infinoid oh, cool. so you're gonna write an openembedded build script for parrot? 22:17
darbelo 'recipe' IIRC.
Configure.pl is bound to need surgery for that. 22:18
22:20 brooksbp joined
NotFound I'd like a port to the Nintendo DS 22:22
darbelo I started thinking about that when the RTEMS people first shouwed up. The path of least resistance for cross-compilation should be to add a --use-this-hinst-file= option to Configure and the build an *extensive* hists file that overrides all of the data we pull from perl. 22:32
dukeleto PL/Parrot sketch is happenin on #plparrot on irc.freenode.net NOW 22:38
dalek rrot: r43610 | plobsing++ | trunk (2 files):
remove "xv"-style NCI signature fixup code (see TT1410)
22:44
parrot: 3aa1b83 | darbelo++ | CREDITS:
Add myself to CREDITS.
22:45
parrot: c322ad5 | darbelo++ | PLATFORMS:
Add a PLATFORMS file.
22:46 brooksbp joined
dukeleto Infinoid: yes, that is the plan 22:47
so do we need an embedded Parrot working group or something? 22:48
PerlJam imagines opening a machine and finding bunches of tiny parrots inside. 22:49
dalek parrot: 9209f47 | (Joshua Tolley)++ | PLATFORMS:
Add platform report
22:51
cotto_w0rk Ideally they'd be Loritos.
chromatic A wunch of loritos? 22:52
22:54 Whiteknight joined
NotFound A bunch of couples, so they can reproduce. 22:57
cotto_w0rk and a bunch of bananas so they don't go hungry
NotFound Good point
dalek nxed: r370 | julian.notfound++ | trunk/winxedst0.cpp:
rename PredefFunction to PredefFunctionFixargs and move some functionality to

in stage 0 the same way as in stage 1
23:00
23:07 eternaleye joined 23:12 patspam joined 23:16 plobsing joined 23:20 lichtkind joined
Whiteknight NotFound: I don't know enough about Winxed, a default systems language for Parrot would need to be relatively low-level 23:27
NotFound No one but me knows enough about Winxed ;)
Whiteknight DEMANDS more documentation and examples 23:28
NotFound Is enough low level to be able to compile himself without any runtime.
Whiteknight I would need to see more examples 23:29
purl msg bacek: sure, I'll check out a copy and look at it tonight
purl Message for bacek stored.
NotFound I recall now that I have an hexadcimal dump in examples in my laptop and forgot to commit it. 23:30
plobsing after I remove something deprecated, do I remove the deprecation notice? 23:31
dalek rrot: r43611 | plobsing++ | trunk/tools/build/nativecall.pl:
simplify empty nci signature fixup a bit
23:33
Whiteknight plobsing: yes, unless you want to double-secret deprecate it
dalek nxed: r371 | julian.notfound++ | trunk/examples/hexdump.winxed:
hexadecimal dump example program
23:34
plobsing Whiteknight: double-secret deprecation? 23:35
23:35 brooksbp_ joined
lichtkind the reason for parrot 2.0 is really just a nother year not a new API ? 23:36
darbelo Kind of.
23:36 brooksb__ joined
darbelo 2.0 is a supported release, it's API (unless noted in DEPRECATED.pod) will stay stable until the next supported release. 23:37
23:40 hudnix joined 23:45 bacek joined
dalek nxed: r372 | julian.notfound++ | trunk/ (2 files):
implement PredefFunctionVarargs in stage 0 and reimplement print and say predefs
23:48
purl using it is asking for troubles, it will cause more work than doing right from the beginning
23:49 jsut joined
dalek rrot: r43612 | plobsing++ | trunk (2 files):
update documentation wrt status of "xv"-style signatures
23:49
23:50 sri joined
lichtkind darbelo: thanks 23:54
darbelo Incidentally, we've just changed from a 6-month deprecation cycle to a 3-month one. So you could say our API has become more potentily volatile now. 23:56
23:56 hercynium joined
cotto_w0rk Or you could say that we'll converge on awesomeness more quickly. 23:57
darbelo That's the intent, at least. 23:58
lichtkind why after 8 years develope,ment still API changes ? 23:59