Parrot 2.11.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: write GettingStartedWithPlumage, review html documentation, test HLLs, review deprecations | no major changes after Tuesday, only critical fixes and documentation updates after Friday
Set by moderator on 12 January 2011.
dalek rrot: 35f5746 | Whiteknight++ | / (3 files):
fix README with non-ascii name. It breaks MANIFEST and configure, so give it a simpler name
00:02
00:04 jsut joined 00:05 hercynium joined
dukeleto whiteknight++ 00:09
00:09 jsut_ left
dukeleto YAML is making me very angry right now 00:10
I just want to store a multiline string as the value of a key
Why is that so hard?
00:12 KatrinaTheLamia joined
whiteknight What does the eval_pmc attribute on Sub do? 00:19
because it appears to do very little
And I think I'm going to delete it
cotto_work not right now, I hope 00:21
whiteknight not from master 00:22
plobsing whiteknight: eval_pmc points back to the eval PMC that created this sub, if any 00:23
that way the bytecode doesn't get collected out from under the sub
whiteknight right, 00:25
So the Eval PMC is tied to the bytecode/packfile?
why isn't it just a PackFile PMC?
plobsing it does essentially fill that role, yes 00:26
it can probably go away once our packfiles are tracked by PBCs 00:27
jnthn s/PBCs/PMCs/? 00:30
plobsing sure. them too. 00:31
00:36 gbacon left
whiteknight what is PBC_PBC? 00:49
it's the same as PBC_MAIN, right?
cotto_work Nice. Rakudo's spectest_regression passes with the latest parrot. 00:50
davidfetter eeeeeeexcellent! 00:58
</monty_burns> 00:59
01:13 cognominal left, mikehh joined 01:14 whiteknight_ joined
whiteknight_ I don't see any difference in the code between PBC_PBC and PBC_MAIN, but when I unify them parrot gets all segfaulty 01:14
01:15 cognominal joined 01:18 whiteknight left 01:19 whiteknight_ is now known as whiteknight 01:27 Kristaba left, davidfetter left 01:29 kid51 joined
whiteknight PBC_MAIN and PBC_PBC appear to fire when we load the initial bytecode file, before we execute :main 01:29
01:29 hercynium left 01:31 fbrito left
whiteknight damnit, this whole thing is so twisted 01:35
dalek rrot/kill_packfile_new_dummy: ff5035f | Whiteknight++ | / (2 files):
rename a variable to be less confusing
01:38
cotto_work The problem is probably the places where PBC_MAIN is used but PBC_PBC isn't. afaict it's do_1_sub_pragma that's special. 01:43
whiteknight so do_1_sub_pragma appears to ignore PBC_PBC 01:45
wtf
so what does PBC_PBC do?
bacek_at_work whiteknight, PBC_PBC isn't used in imcc 01:47
cotto_work bacek_at_work: making it the same as PBC_MAIN causes a segfault in the build. 01:50
It's fun. Try it!
whiteknight and if I take it out completely, I get a Null PMC access exception 01:51
so it is used. but I have no idea how, or why
cotto_work added in github.com/parrot/parrot/commit/def84918 in 2004 01:52
I lie. it was just moved in that commit.
browsing a 2004-vintage Parrot is a bit surreal 01:53
whiteknight I really hate this system of PackFile_fixup_subs and do_sub_pragmas 01:55
I want a handful of new API subs that are more clear and less magical: Parrot_pf_get_main_sub, Parrot_pf_execute_init_subs, Parrot_pf_execute_load_subs, etc 01:56
dalek TT #1942 closed by jkeenan++: src/nci/libffi.c: Throws warnings under various make targets
TT #1942: trac.parrot.org/parrot/ticket/1942
TT #1963 created by jkeenan++: src/string/api.c: Throws warnings under two 'make' targets
TT #1963: trac.parrot.org/parrot/ticket/1963
plobsing whiteknight: the problem is all of those are coupled. you don't want subs that are both :init and :load to run twice. likewise for other combinations. 01:57
whiteknight I think that we should be able to separate those functions out, and clean all this code up significantly
plobsing: That particular combination wouldn't happen, since you wouldn't be doing fixups with PBC_LOADED and PBC_MAIN for the same packfile 01:58
plobsing I recall it happening to me at one point in encapsulate-main
whiteknight I want to be able to ask the packfile to return me a list of subs to execute in any particular situation 01:59
in a :load situation, I want a list of all :load subs
in an :init situation, I want a list of all :init subs
and when it's time to execute :main, I want to be able to ask for that and get it
cotto_work Wow. 2004-era Parrot expects icu to be in the root of the src dir. 02:00
plobsing it is interesting how much our repo structure changed over the years. 02:01
I recently had a bit of fun running gource over the repo. Cool stuff. We could mash it up with ParrotFaces to make it even cooler too. 02:02
cotto_work github.com/parrot/parrot/commit/7a1ac2246 is definitely the commit where PBC_PBC was added. 02:05
plobsing, sounds fascinating
completely unhelpful is another thing that it is 02:07
or is it?
github.com/parrot/parrot/commit/7a...cec#L3R208
whiteknight That's my goal for the coming months. I am going to put a pretty face on this sub pragma bullshit. I am going to hide this mess behind a nice API 02:09
nobody is going to call PackFile_fixup_subs again. Nobody is going to call do_sub_pragmas again 02:10
cotto_work whiteknight: what's your plan for dealing with the case the plobsing++ mentioned of not running subs twice?
whiteknight++
whiteknight cotto_work: Hit it with a large metal rod
cotto_work I suspect that a more comprehensive and nuanced solution may be required. 02:12
plobsing based on my discussion with Pm re: why we need :init to be different from :load, we probably don't need :init after we get packfile pmcs and expose them to PBC loaders 02:13
whiteknight fine, whatever. We do it your way. Just this time
plobsing: I suspect that what we really need in the long term are something like :program_main, and :library_main 02:14
plobsing what does :library_main do?
whiteknight :library_main does basically what :load does now
plobsing does it get called before :main? 02:15
whiteknight :program_main gets called when we execute it like a program. :library_main executes when we load it as a library
basically different names for :main and :load, respectively
plobsing then just call them that. this isn't the JVM. identifiers do not have a minimum character length. 02:16
02:16 vmspb left
whiteknight I'm not interested in changing the syntax of PIR really, I'm only thinking about giving new names for newish concepts 02:17
whatever we refer to them by is one thing
02:36 whiteknight left
kid51 A git question: 02:44
I have revised about a dozen files, called 'git add', and generated a patch from 'git diff --cached'. 02:45
02:45 fbrito joined
kid51 But, given that we're approaching a release, I probably should not commit these changes right away. 02:45
What is the best way to clear out these revisions? BTW, this was done in a checkout of master. 02:46
dalek rrot: 19c9af2 | jkeenan++ | t/steps/init/optimize-01.t:
[codingstd] Eliminate trailing whitespace.
02:48
sorear kid51: git reset --hard HEAD clears uncommitted changes 02:56
git reset --hard origin/master clears local changes
alternatively, commit on a local branch
plobsing or use the stash 02:58
kid51 plobsing: 'git stash' will stash scheduled but uncommitted files, correct? 02:59
Yes, that's what man git-stash tells me, and that sounds right. 03:00
Done.
Thanks.
plobsing kid51: it will stash all changes (without regard to adding) IIRC
cotto ~~ 03:11
03:11 cognominal left
kid51 cotto If you have time: trac.parrot.org/parrot/ticket/1934#comment:12 03:34
cotto looks 03:35
03:42 Myhrlin joined
cotto kid51, do you have a branch with that patch? 03:45
kid51 No, I did it sort of spontaneously, then realized I didn't want to commit (see backscroll). So I just git-stash-ed the changes. 03:46
I'm perfectly fine with postponing it till after 3.0.
But if you want to run with it now.
I would like to hear from the GCIer who wrote that ... someone who can tell me the pretty-printing still works.
cotto iirc the gdb stuff just requires a very recent version of gdb (7.2+?) 03:47
Since it's not messing anything up, I'd prefer to leave it out until post-release, 03:48
.
kid51 I do not have gdb 7.anything
Yes, after release is okay. Think about what needs to be added to codingstd.pod; I'd like to apply all these changes at once so that I can close the TT.
kid51 must sleep 03:51
cotto 'night 03:55
03:58 kid51 left
cotto jnthn, can you mention your use case for :instanceof in trac.parrot.org/parrot/ticket/1962 ? 04:10
dalek TT #1950 reopened by cotto++: pbc_disassemble dumps core on illegal options
TT #1950: trac.parrot.org/parrot/ticket/1950
04:27 hercynium joined 04:28 hercynium left
dalek rrot: 42b94c9 | petdance++ | / (3 files):
adding function macros
04:57
05:50 rurban left 05:51 rurban joined
dukeleto ~~ 06:08
tadzik ~~ 06:09
06:16 contingencyplan_ joined 06:17 contingencyplan left
cotto hi dukeleto 06:19
dukeleto cotto: wazzup 06:22
dukeleto is playing around with Django and Python 06:24
dukeleto is outside his comfort zone
pypi.python.org/pypi/virtualenv is the python equivalent of perlbrew/rvm/parrot-handler 06:35
cotto I didn't mind django when I played with it. 06:36
I never got very far though.
06:38 fbrito left, fbrito joined
dukeleto tadzik: how is the deprecation as data stuff going? 06:39
tadzik dukeleto: it isn't I barely woke up :0 06:42
:)
dukeleto tadzik: well, you seem awake now :)
tadzik I don't think I'll find time to do anything today
dukeleto: well, but I was sleeping all this time :)
dukeleto tadzik: we can split it up if you want 06:43
tadzik: if there are multiple things to do
tadzik: if you have some ideas and add them to the TT, that would help too 06:44
tadzik dukeleto: I think I'll handle this, just the day today will be quite busy for me
dukeleto tadzik: ok, no worries. It is all you :)
cotto: what are you hacking on tonight? 06:46
cotto dukeleto, call it meta-hacking. figuring out what architecty stuff needs to be done by me and how much can be delegated 06:48
it involves less coding than I'd hope 06:49
06:55 fbrito left 06:56 cosimo joined
dukeleto cotto: let me know if you need a high five 06:59
cotto The sooner I plow through this, the sooner I'll know what my minions and I should be hacking on.
also, I'll have something well-defined to talk about at PDS 07:00
dukeleto cotto: oh yeah, that is gonna happen again soon 07:01
cotto ypu
yup
cotto wishes he could upgrade his brain 07:02
dukeleto there are ways 07:04
cotto has been watching Dollhouse 07:05
07:22 fperrad joined
cotto jnthn, ping 07:23
I'm not sure how I feel about always having a PDS <=3 months away, but we'll see how it goes. 07:25
dukeleto cotto: what lorito stuff do you want to talk about at PDS? 07:35
cotto in general terms, what's known about the design and what I plan to have nailed down and/or implemented by when 07:36
that's probably more general than you were hoping 07:37
07:50 jan left
cotto 'night 07:55
08:19 acrussell left 08:21 theory left 08:28 he__ joined 08:54 contingencyplan_ left 08:59 TiMBuS left, TiMBuS joined 09:13 sjn joined
dukeleto blarg. Python still hurts 09:40
09:57 cotto left 10:05 vaneska joined
dalek rrot: 2a4e288 | (Gerd Pokorra)++ | tools/docs/make_html_docs.pl:
add version to HTML title
10:23
rrot: 4fbf977 | NotFound++ | / (2 files):
fix decorations of Parrot_str_from_platform_cstring
11:00
11:02 cognominal joined
mikehh t/configure/065-git_describe_from_cache.t is failing pre-config tests 11:15
Can't locate Parrot/Git/Describe.pm in @INC 11:16
11:22 ok22 left
dalek rrot: e0df021 | mikehh++ | src/string/api.c:
fix codetest failure - line length
11:29
12:37 PacoLinux left
dalek TT #1964 created by coke++: t/src/embed.t failed 34 tests of 49. 12:38
TT #1964: trac.parrot.org/parrot/ticket/1964
mj41 Chrome Release Cycle slides docs.google.com/present/view?id=dg..._4d7vkk6ch
12:41 vaneska left 12:47 fbrito joined
dalek TT #1950 closed by doughera++: pbc_disassemble dumps core on illegal options 12:54
TT #1950: trac.parrot.org/parrot/ticket/1950
rrot: 0297b0a | gerd++ | tools/docs/make_html_docs.pl:
make the option "--version" optional
13:38
13:44 mtk joined 13:45 mtk left, mtk joined, whiteknight joined 13:50 mtk left, rurban left, mtk joined 13:51 rurban joined
whiteknight good morning, #parrot 13:54
Coke whiteknight: hio. have you seen #1964? (I didn't see a ticket, but am sure I've mentioned those failures in #parrot) 14:05
if that's the new API, the passing TODOs and occasionail FAILs should probably be resolved before 3.0 if possible.
14:10 plobsing left
whiteknight Coke: That's the old API, and might be related to some of dukeleto's work 14:13
I'll go look at it right now 14:14
Coke (old API) ah, then it definitely should be fixed. ;) 14:16
14:23 he__ left
dalek rrot/imcc_cleanups: 4357d74 | Whiteknight++ | / (2 files):
remove unused function imcc_run_pbc
14:24
rrot/imcc_cleanups: c68e224 | Whiteknight++ | / (5 files):
imcc_run is now static because it's only used in compilers/imcc/main.c. With that, we can get rid of include/parrot/imcc.h entirely. Good riddance.
14:29 cognominal left 14:31 plobsing joined
NotFound whiteknight: this doesn't look good: Parrot_String string; string = Parrot_PMC_new(interp, Parrot_PMC_typenum(interp,"String")); 14:42
Also, if the vtable accessors are intended for extending, they should be tested in extend.t, not in embed.t 14:45
whiteknight NotFound: Where is that line? 14:50
and what doesn't look good about it?
NotFound whiteknight: Parrot_String is a string, not a PMC, isn't it?
embed.t line 82 and following 14:51
whiteknight ah, right
sorry. Yes that is wrong
NotFound Are we going to allow explicit calls to the destroy vtable? Seems very error prone to me. 14:55
14:55 PacoLinux joined
whiteknight no, we definitely don't want that 15:12
explicit calls to VTABLE_destroy, VTABLE_mark, VTABLE_invoke, VTABLE_share, VTABLE_share_ro are all bad
probably some others I am missing
VTABLE_init, VTABLE_init_int, and VTABLE_init_pmc 15:13
NotFound Then we shouldn't test it. 15:14
15:27 contingencyplan_ joined 15:28 mtk left 15:37 plobsing left 15:41 theory joined 15:45 plobsing joined 16:08 gbacon joined
dalek TT #1965 created by doughera++: rational.pmc's get_bool is backwards and not portable 16:12
TT #1965: trac.parrot.org/parrot/ticket/1965
Coke doughera++ 16:15
16:25 wolverian left 16:30 gbacon left
mikehh dukeleto: ping 16:32
16:43 Kristaba joined 17:18 cotto joined 17:41 plobsing left
dalek p-rx/nom: 10b0b0b | jonathan++ | / (2 files):
Stub in a DispatcherSub PMC to be used for subs that serve as dispatchers.
17:41
p-rx/nom: bb3de19 | jonathan++ | src/ops/nqp.ops:
Port the ops related to multiple dispatch; the one that actually does the dispatch is incomplete, but the rest are complete (though untested).
cotto_work ~~ 17:47
Coke seen dukeleto? 17:50
aloha dukeleto was last seen in #parrot 8 hours 10 mins ago saying "blarg. Python still hurts".
Coke checking out a fresh copy of parrot is slow-ish. 17:53
17:55 [hudnix] joined
cotto_work mikehh: ping 17:56
Coke dukeleto's Util/bin looks interesting, but it assumes much. 17:57
Coke wonders if it's worth making it a little more agnostic.
17:57 hudnix left
cotto_work whiteknight++ for decrapifying imcc one function at a time 17:58
that's the only way to do it while maintaining sanity
Coke No NCI thunk available for signature 'PJt' 17:59
msg dukeleto is your smoker alerting you to build failures at all? 18:00
aloha OK. I'll deliver the message.
cotto_work Coke: what triggers that?
Coke github.com/leto/Util/blob/master/b...rrot_plain
those are config options. 18:01
whiteknight cotto_work: I'm slowly pushing my way through imcc_run. That function by itself is surprisingly hard to decrapify
mikehh cotto_work: pong 18:02
cotto_work mikehh: in make_html_docs.pl, why is --version=x necessary at all? Why not just use VERSION? 18:03
18:03 plobsing joined
mikehh cotto_work: dunno, that was how it was before when I started working on it 18:04
cotto_work mikehh: does the release manager guide need any updates to deal with the new docs system? 18:05
mikehh cotto_work: gerd was doing something with that today, haven't looked yet
Coke it IS using VERSIOn.
it's passing it on the command line, though.
IIRC. 18:06
rant: the nqp stuff in the normal build is SO SLOOOOOW
(looks like it's just used to test the profiler, too.Ironic.)
mikehh cotto_work: just need to run make html and transfer the docs in docs/html to parrot.org as before 18:07
cotto_work: will check it out though 18:08
cotto_work mikehh: thanks 18:10
Coke cotto_work: narrowing down which of those config options is responsible. 18:14
there we go. 18:20
18:23 ambs joined
dalek TT #1966 created by coke++: Configure.pl --without-core-nci-thunks breaks build. 18:25
TT #1966: trac.parrot.org/parrot/ticket/1966
Coke Ok. I can't promise it'll stay up, but I've got dukeleto's parrot smoker running locally. 18:34
(darwin/x86)
cotto_work Coke: wouldn't you expect the build to break with --without-core-nci-thunks if we don't have an alternative? 18:35
Coke ... why do we even HAVE that option?
cotto_work probably to verify that a jit frame builder works
dalek p-rx/nom: 194180d | jonathan++ | src/NQP/Grammar.pm:
Bring the various multiple dispatch and signature parsing changes introduced in JnthnNQP into the nqp-rx/nom grammar.
18:36
p-rx/nom: d3290da | jonathan++ | src/NQP/Actions.pm:
Actions for {*}.
Coke cotto_work: do we have one of those?
cotto_work we did at some point. I don't recall what happened to it.
Coke looks like those embed failures are g++ specific? 18:37
dalek p-rx/nom: 2f51f68 | jonathan++ | src/NQP/Actions.pm:
Pull the old meta-model's handling of method_def out into something we can easily toss later. (Can't quite toss it yet; grammar is not using 6model yet, and there are grammars with methods within nqp-rx itself, so removing it now would break the bootstrap.)
18:38
Coke plobsing: you can go ahead and close 1966, then. 18:47
msg dukeleto - given #1966, you probably want to update your new_parrot_plain script to avoid that option.
aloha OK. I'll deliver the message.
dalek TT #1966 closed by plobsing++: Configure.pl --without-core-nci-thunks breaks build. 18:58
TT #1966: trac.parrot.org/parrot/ticket/1966
18:59 dmalcolm joined
whiteknight cotto_work: I have a commit coming up here that you are going to love 19:06
cotto_work waits 19:13
19:14 vmspb joined
whiteknight I was going to push it, but then I started working on another one 19:18
cotto_work now I'll never know. 19:19
whiteknight oh, you'll see it in a few seconds
19:20 mtk joined
plobsing commits or it didn't happen 19:22
cotto_work I don't see any commits. 19:25
whiteknight I'm working on it! Had to re-headerizer cause IMCC is stupid 19:26
even if it was my fault, I still blame IMCC
dalek rrot/imcc_cleanups: 2471580 | Whiteknight++ | / (5 files):
remove the field interp->output_file. Instead, we let IMCC parse that option internally for now and not burden the interp with that information
19:28
rrot/imcc_cleanups: d4cdba7 | Whiteknight++ | / (3 files):
remove .pbc loading logic from imcc_run, and move it into the parrot.exe frontend. While I'm there, change argument parsing so we put parsed flag values into a struct, and make a few other cleanups and changes
rrot/pbc-backref: c46bc40 | plobsing++ | src/pmc/imageiofreeze.pmc:
simplify logic in ImageIOFreeze.push_pmc
19:30
rrot/pbc-backref: f002b96 | plobsing++ | src/p (5 files):
inline Parrot_visit_list_{visit, thawfinish}

This allows the visit list to be pruned while freezing.
rrot/pbc-backref: 48b4174 | plobsing++ | / (11 files):
implement PBC backrefs in constant tables

Objects previously seen in the object graphs of other constants in the same constant table are now stored as backreferences in stead of being duplicated. This is significant improvement for a number of common cases including, but not limited to: namespaces, outer subs, and lexpads.
opsc.pbc, by virtue of being created using nqp, makes heavy use of all of the above mentioned features and is now 15% smaller.
rrot/pbc-backref: 3925b99 | plobsing++ | src/p (2 files):
[codingstd] cpp comments
rrot/pbc-backref: 6ac58b5 | plobsing++ | src/packfile/output.c:
[codingstd] c function docs
rrot/pbc-backref: f3ce78c | plobsing++ | src/pmc/imageio (2 files):
[codingstd] pmc docs
rrot/pbc-backref: e8cf978 | plobsing++ | src/p (2 files):
use get_pointer to access seen hash of ImageIOFreeze for consistency with ImageIOSize
plobsing pbc-backref decrease the size of rakudo's perl6.pbc by 65% and reduces the instructions executed by a simple Perl 6 "Hello World!" by 23% 19:31
cotto_work plobsing: I look forward to figuring out what you just did. 19:32
plobsing what do I win?
sorear plobsing: AWESOME. 19:34
jnthn plobsing++ # WOW!!! 19:36
plobsing: "instructions" as in, CPU-level?
plobsing yes
as collected by callgrind
jnthn *nod* 19:37
Wow. Again, plobsing++.
cotto_work plobsing++
moritz is it ready for testing?
jnthn plobsing: ooc, what's the difference in memory usage of Rakudo when you just type "perl6" and start the repl?
moritz i mean, testing rakudo on the branch?
plobsing moritz: I've completed all the changes I intended, and none of them *should* be visible outside of core, so yes 19:38
cotto_work plobsing: really nice work. What gave you the idea? 19:43
plobsing it's been stewing in the back of my head for a while 19:44
I first noticed the problem when I fully understood the freeze/thaw/constants code.
it also came to the fore when I saw autoclose didn't work from PBC (it should now, but don't use it, it is a stupid feature) 19:45
and it is similar to the pbc-xrefs jnthn has requested 19:46
jnthn plobsing: The way auto-close looks today is really not too useful either. 19:48
s/looks/works/
plobsing jnthn: repl VSZ (as reported by ps) is also down 23%. RSS is down 33% 19:50
19:51 ambs_ joined, ambs left, ambs_ is now known as ambs
jnthn plobsing: Very nice. 19:51
19:52 ambs_ joined, ambs left, ambs_ is now known as ambs
dalek rrot/pbc-backref: c019067 | plobsing++ | src/pmc/imageiosize.pmc:
[codingstd] pod syntax
19:55
sorear plobsing: I'm glad somebody agrees with me about how stupid autoclose is 19:57
20:02 sECuRE_ joined
plobsing also, other optimizer-devs: tag your it! perl6 startup is now no longer dominated by thaw. it appears to be roughly a 3-way tie between hash performance, GC, and PCC. 20:03
20:03 sECuRE left
dukeleto ~~ 20:03
plobsing: sounds fun
moritz once we serialize meta classes, and deserialize them at startup (instead of building them as we do now), that might change again :-) 20:04
sorear the GC ought to be disabled during startup 20:05
it's not like thaw creates garbage
plobsing perl6 startup perf *should* be dominated by thaw eventually, agreed. But right now making any one of Hashes, GC, or PCC faster should give decent improvements.
moritz no? not even temporary arrays or so?
dukeleto Coke: thanks for the heads up. I was seeing those build failures, but didn't know what was up
plobsing thaw creates a lot of garbage. I'd like to do away with that, but it's not so high on my list of priorities 20:06
jnthn moritz: Looking forward to that point. :)
moritz jnthn: me too
Coke dukeleto: whiteknight suggested you might know what's up with t/src/embed.t failures. 20:10
dukeleto Coke: i probably should. I haven't looked at the failures yet, tho 20:12
whiteknight PCC is an area where we do need to squeeze a hell of a lot of performance 20:13
dukeleto Coke: new_parrot_plain updated, will deploy soon 20:14
Coke be nice if we had a clean few days of smolder before the release.
jnthn wonders if pbc-backref will land pre- or post-release
dukeleto jnthn: post 3.0 20:15
jnthn: we aren't merging any branches before 3.0
Coke: new new_parrot_plain deployed. Some smoke should clear up. 20:16
jnthn dukeleto: Makes sense. 20:17
It is rather close.
dukeleto Coke: i will try to look at the t/src/embed.t failures later today 20:20
dalek p-rx/nom: e0ac587 | jonathan++ | src/pmc/dispatchersub.pmc:
s/inherits/extends/ for PMC inheritance. D'oh.
20:31
p-rx/nom: 08ccc35 | jonathan++ | src/ops/nqp.ops:
Fix a name-o that made most of the multi-dispatch related ops busted.
p-rx/nom: 75cf4dc | jonathan++ | src/NQP/Actions.pm:
Align nqp-rx/nom's method_def more closesly with the nqpclr one. This gets setup of proto methods - at least at the code generation level - in shape; the * or {*} also calls the stub that will eventually enter the multi-dispatcher.
p-rx/nom: d7ccb41 | jonathan++ | src/pmc/dispatchersub.pmc:
Make sure we mark the dispatchees.
20:47
p-rx/nom: 25f7ff9 | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
First piece of the multi-method handling in NQPClassHOW. Direct copy-paste from nqpclr's NQPClassHOW.
20:50
cotto_work jnthn: I'm think about how to set roadmap items for an implementation of the mop in M0 (the ops used by Lorito). What would a minimum mop implementation need to contain? 20:56
jnthn In 6model, everything is built on top of the KnowHOW meta-object (which has an instance of itself that is set up to describe itself). 20:58
It's pretty minimal. 20:59
See github.com/perl6/nqp-rx/blob/nom/s...strapper.c
For the setup logic of it.
cotto_work What I'm thinking is, how little can we do to make something that looks like the mop? It doesn't need to be complete, just a good starting point along the road to a complete reimplementation. 21:00
jnthn If you have some kind of struct, arrays, hashes and the ability to invoke something and pass it some arguments, you're probably much of the way there. 21:01
Well, with some basic ops
You can build a basic meta-object out of those.
cotto_work Thanks. I'm pretty sure that was what I was looking for. 21:02
jnthn The file I linked may be a bit of an eyeful but if you dig into what it's doing, it's doing little more than set up a data structure built out of the things I described. 21:03
cotto_work Yeah. I've been spending a bit of time looking through your work on the nom branch.
jnthn OK 21:04
21:04 he_ left
jnthn Every other meta-object is built out of KnowHOW in nqp-rx/nom. 21:04
cotto_work It's helpful to ask you because you already have a complete mental model of how it all hangs together.
jnthn Sure. :-) 21:05
Just like to try and link what I'm saying to code too. :)
cotto_work: BTW, the multi-dispatch stuff I'm working on at the moment isn't core to the meta-model. 21:09
cotto_work: It's core to nqp's and Perl 6's needs, but another language using the meta-model bits need not have anything to do with the Perl 6 style multi-dispatch. 21:10
dalek p-rx/nom: c6b29ec | jonathan++ | src/metamodel/how/NQPClassHOW.pm:
Port over incorporate_multi_candidates. No algorithmic changes, just VM munging (yes, I hope to have the nqpclr and nqp-rx versions the same some day soon - for now this is not too far off).
21:11
21:14 bacek left 21:17 vmspb left
moritz plobsing: rakudo spectest passes on pbc-backref branch 21:21
plobsing: and let me just say "WTF?" (in a positive sense) - 20.5 minutes for a spectest run (on 2 cores)... 21:22
plobsing moritz: thanks. good to know.
moritz: how long does it usually take?
moritz plobsing: I don't know exactly... longer :-)
running a timed spectest now 21:23
21:30 bacek joined 21:50 rurban left 21:51 rurban joined 21:55 chromatic joined 21:56 Patterner left, whiteknight left, Psyche^ joined, bacek left, Psyche^ is now known as Patterner 22:02 ambs_ joined, ambs left, ambs_ is now known as ambs, ambs left 22:09 bacek joined 22:20 dmalcolm left
plobsing moritz: hows the spectest comming? 22:24
nopaste "mikehh" at 192.168.1.3 pasted "Configure fails when run with --test" (19 lines) at nopaste.snit.ch/27834 22:33
mikehh that's a new test t/configure/065-git_describe_from_cache.t added by dukeleto 22:37
first failed on me about 12 hours ago 22:38
dukeleto: ping 22:42
22:50 bacek left
dalek rrot: 5e6374d | mikehh++ | docs/dev/profiling.pod:
fix pod to conform with make html

uc =head1 Name to =head1 NAME (this seems to be required) also Description to DESCRIPTION (only other =head1 in the pod) did not change copyright as this probably needs to be updated and
   do not want to show that this is up-to-date
23:01
23:03 bacek joined 23:04 fperrad left
Coke Any devs currently building on windows? 23:06
I just got the latest strawberry perl and msysgit, and cannot config.
23:07 fbrito left
Coke digs up the wiki 23:07
mikehh Coke: you didn't run with --test did you, that fails for me
Coke no, I rarely run with that. 23:08
Coke looks at trac.parrot.org/parrot/wiki/Platforms/Windows and wonders WTF happened to parrot on windows.
it used to JFW. 23:09
*sigh*
mikehh I can run Configure with --test-build, but not --test on its own
jnthn Coke: Agree, but otoh there's at least one known configuration where it does reliably tend to.
mikehh --test=build
jnthn Coke: But it'd be really nice if it Just Worked with Strawberry too.
Coke jnthn: k. I will see about fixing it to work with strawberry perl again, but that's more than I will do tonight. 23:10
jnthn Coke: I'm confused about "Use the following arguments to Configure.pl in the Windows SDK command prompr and you should be able to build with msvc."
Coke: And the huge load of args below.
Coke aloha, msg dukeleto you should add a new_parrot_test that tries to run Configure.pl with --test. maybe.
aloha Coke: OK. I'll deliver the message.
jnthn Coke: I just do perl Configure.pl <enter>
And it works. 23:11
Coke jnthn: that is using msvc with strawberry as opposed to active.
jnthn oh, wait
Right.
Yeah, sorry, I missed that. :)
23:19 dmalcolm joined
dalek p-rx/nom: 0499684 | jonathan++ | / (2 files):
Turns out we need some kind of lightweight signature object just for multis, to store the types but also definedness constraints (thus can't easily use an RPA). This should do it for now.
23:36
p-rx/nom: 3a7f05b | jonathan++ | src/ops/nqp.ops:
Add an op for putting a multi sig in place.
p-rx/nom: d34f3a0 | jonathan++ | src/NQP/Actions.pm:
Emit code that builds and installs multisig objects that contain the type and definedness constraint for each multi candidate.