weekly Perl 6 status meetings with phase transitions: Wed 17:30 UTC | IR clogs at irclog.perlgeek.de/phasers/today
Set by moderator on 17 September 2011.
00:33 pmichaud joined 00:35 eternaleye joined 05:03 _ilbot joined
moderator weekly Perl 6 status meetings with phase transitions: Wed 17:30 UTC | IR clogs at irclog.perlgeek.de/phasers/today
07:51 TimToady joined, [Coke] joined, sorear joined, Util joined, moritz joined, jlaire joined 07:52 pmichaud joined 07:53 ashleydev joined
[Coke] Prereport: trying to keep on track of t/spectest.data. 16:38
retro-triaged a bunch of old RTs. 16:39
working on a replacement for smolder.
family life and $dayjob keeping me too busy.
EOR
sorear DID: focusing almost entirely on the niecza serialize/ branch. 16:40
This branch is about unifying the compile-time and run-time represetations of various objects, subs and types especially 16:41
it will most importantly enable proper BEGIN implementation
as of yesterday it can run code, but mildly important things like "lexicals" and "blocks" are NYI
EOR 16:42
jnthn PREPORT 17:03
This week...
* Taught optimizer branch to detect unused routines; fixed bugs in setting that this found
* Fixed bug where role A::B { ... }; class A { ... } lost A::B
* Made us much smarter about handling string constants
* Optimized join
* Optimized lexical lookups
* Optimized infix:<~>
* Fixed BEGIN /\\s/ and other related bugs
* Implemented type/arity based cache for multi-dispatch
* Improved returnless-routine analysis; thinking it may double up as inlinability analysis, though maybe not
* Made things like sub foo($x = 1) { } just store the literal as the default, not make a thunk
* Added missing Regex.Bool
* Made it so we don't re-check types in the binder when the multi-dispatcher already did so
* Fixed issues with Rats in the setting, which unblocked Temporal
* Fixed whatever-currying of method calls (*.foo)
* Prevented .WHAT and friends getting whatever-curried
* Switched to having a $! and $/ per routine, and related cleanups.
* Made role Foo[::T] does Bar[T] { ... } work
* Implemented missing .^does
* Initialized role attributes properly when doing a mixin
* Fixed BEGIN time/multi interaction bug
* Quietly started sketching out some stuff on serialization and the CLR; nothing ready to commit/show yet.
Over the next week... 17:04
* Fix/improve/optimize stuff in nom
* Start on NQP optimizer - at least stub in an optimization stage
* Continue working on serialization bits
* Continue sketching out CLR stuff
EOR
sorear jnthn++ 17:11
jnthn++ 17:12
jnthn: I am also needing to figure things out re. "serialization the the CLR" 17:13
jnthn sorear: I plan to do the first version in the Parrot implementation of 6model, then port it. So am keeping the "this should work on the CLR too" thing in the back of my mind. 17:16
sorear: Haven't got very far with it all yet, alas.
It's not been a great week for being able to concentrate well... 17:17
sorear Heh
jnthn (Which is why I've done lots of tiny bits all over...) 17:19
Util Pre-report: No Parrot/Perl 6 work due to $WORK. Tuit drought projected to continue. 17:28
EOR
moritz did: 17:30
* patched the REPL to .gist
sorear o/
moritz * bumped parrot and nqp revisions
* a bit of changelog fiddling 17:31
* TODO'ed the failing test in 02-embed
* resurrcted the nom-exceptions branch, but didn't really do anything there
* fixed floor() to return an Int
* Date/DateTime hacking together with tadzik++ 17:32
EOR
\\o
Util o/
cotto_work hi 17:33
17:33 mberends joined
mberends o/ 17:35
jnthn o/
17:36 masak joined, diakopter joined
sorear o/ masak 17:37
jnthn So, anybody got a report who didn't preport? :)
masak I have nothing to report, except that I'm sekkritly working on the macros branch, and hope to push it soon ;) 17:38
I wish I had more time for blogging. EOR
sorear masak: oops 17:39
masak sorear: "oops"? 17:40
sorear masak: notsosecretly. 17:41
masak oh, right.
I've mentioned it before.
jnthn masak: You're working on WHAT?! :P 17:43
:)
jnthn wonders if there'll be more comments on masak++'s grant prop
I did one and then nobody commented since :P
mberends tiny report: I'm shaving Gtk shaped yaks with Niecza, having fun. 17:44
.eor 17:45
sorear fun++
masak oh yeah. comments on news.perlfoundation.org/2011/09/hag...mplem.html appreciated.
cotto_work Parrot note: we'll be merging mls' profiler into master within the next few hours. 17:46
masak \\o/
jnthn cotto_work: nice :)
sorear wonders how new-nqp handles major incompatible changes in the runtime
niecza handles them by keeping the compiler and the runtime quite isolated; there is no direct contact between the compiler and the runtime metaobjects 17:47
jnthn sorear: Hard to say without a specific example.
The trickiest case would be an incompatible change that broke the bootstrap somehow. 17:50
But it's tricky to imagine one of those that couldn't be coped with somehow. 17:51
e.g. use an older version of the runtime to spit out a version of new-nqp for the new version.
After all, that's how the nqpclr bootstrap gets started, apart from it's a different runtime rather than a new one. But very incompatible. :) 17:52
TimToady is this the pre-meeting or the pre-meeting pre-meeting? 17:53
moritz it's the meeting :-)
jnthn TimToady: I, uh, thought it was the meeting
:)
sorear jnthn: How do you do the "spit out a version of new-nqp for the new version" thing? 17:54
TimToady oh, okay, I can't subtract in base 12, it would seem 17:55
sorear jnthn: proposed concrete example: you want to add a new field to the serialized form of Sub
jnthn sorear: I'm not sure I see the difficulty in that one. 17:56
PerlJam masak: re your grant proposal ... when should it be decided?
jnthn sorear: new-nqp is extremely careful to distinguish between the versions of objects it's running, and the ones its compiling. 17:57
sorear jnthn: you change the runtime components in nqp_group.dll, you try to run nqp... BAM, it can't load the compiler because the serialized versions are wrong
jnthn sorear: Oh...if you mean if VM-level serialized things need to change. 17:58
sorear Yes
jnthn sorear: My current sketch just has a version number; the deserializer could branch on that.
sorear: On subs though, the nqp_group multi-dispatch related PMC is probably going away in favor of NQP having code objects, like Rakudo does. 17:59
masak PerlJam: as soon as possible, at least if the decision is a "yes" :P 18:00
jnthn sorear: Anyway, VM-level changes will have to be handled by the deserializer having to know about both versions for a migration period.
sorear: I don't see that as a huge huge issue, though ymmv. 18:01
And I may be wrong about it not being a huge issue of course ;)
TimToady assuming defaults is easy; structural changes, not so much
jnthn Aye.
I think if I can handle spitting out stuff from an NQP running on Parrot that a runtime based on the CLR can load and make sense of, though, migrating between Parrots shouldn't be a huge issue. 18:03
(In the comparative sense. :))
Anyway, not wanting to have to deal with lots of this stuff while nqp and nom were in the state of flux they have been in recent months is a lot of why I didn't just put the full-blown serialization stuff in already. 18:04
diakopter will the serialization stuff help startup time only?
jnthn diakopter: It'll help pre-compilation time too 18:05
TimToady I think it will also help semantic integrity :)
jnthn diakopter: It'll also make BEGIN stuff work better
diakopter: And enable me to much more easily implement a load of optimizations.
diakopter: For example, cross-compilation unit inlining kinda blocks a bit on it. 18:06
masak++'s macro work will block on it also, I suspect.
So, the startup time improvement will be the immediately visible win, but it'll open a bunch of doors for doing further stuff. 18:07
Also I can toss at least half the code in SymbolTable.pm... :)
moritz queues a question 18:08
jnthn moritz: go ahead 18:09
TimToady questions a queue
moritz tomorrow is rakudo release date
should we go ahead and cut the release?
(I'd say "yes")
jnthn waves his hands and looks around for a pmichaud
moritz: I don't think I'd object to us cutting a compiler release tomorrow, failing an appearance from pmichaud++ to say he wants otherwise. 18:10
moritz ok.
jnthn is quite concerned about the nfa/protoregex/grammar stuff at this point 18:11
I'm still very much holding out hope that pmichaud++ will have tuits to hack on it soon.
moritz right, but since there's not much movement at the moment, there's not much sense in hold off for a few more days
jnthn Right. 18:12
tadzik damn, late :/ 18:13
PerlJam +1 for release
tadzik I'd say no
it's _really_ less functional than the old master 18:14
today, someone asked on SO about sqlite support. B had zavolaj, B had even blizkost, to small extend. nom has nothing that could compare, yet
sorear jnthn: it would be awesome if rakudo and niecza could use the same meta-format for the serialization, so third party tools that want to parse them can share some code 18:15
jnthn: I mean metaformat in the sense of "what kind of thing ASN.1 is"
PerlJam tadzik: holding off a release until nom gets all of those might jsut be too long
tadzik I don't see people waving hands and screaming because they can't wait 18:16
18:16 colomon joined
sorear o/ colomon 18:16
[Coke] Do we want regular releases or do we want monotonically improving releases, or... 18:17
jnthn sorear: "ASN.1"?
moritz +1 to regular releases
[Coke] jnthn: it's a trap. back away slowly.
tadzik =report DateTime hacking; merged wherefore-gc-bug
PerlJam +1 for regular releases here too 18:18
jnthn tadzik: We're talking about a compiler relesae rather than a distribution one.
tadzik hmm
jnthn tadzik: The criteria is kinda different there.
tadzik may be okay then
I see
sorear jnthn: a more well known standard for defining data formats. (I am not proposing it) 18:19
I have to leave in ~5m 18:20
colomon \\o
jnthn sorear: Found the wikipedia article; will give it a read.
TimToady sees "ASN.1" and suffers PTSD... 18:21
but yes, it would be nice to try for convergence of data formats 18:23
PerlJam When was the last time anyone talked with pmichaud about the compiler release?
Maybe get a status update before cutting a release just in case he's really close on the regex/grammar stuff 18:24
jnthn PerlJam: I could drop an email his way. 18:26
PerlJam I guess that's the end of #phasers since no one is talking here any more :) 18:40
cotto_work sub profiler is merged into Parrot master. Have fun! 18:41
colomon \\o/ 18:42
jnthn Great! :)
On convergence of the data formats - I think we have quite enough other things to worry about converging before we worry about that one.
Also I suspect most tools will be more interested in working against the deserialized environment. 18:44
PerlJam A common serialization format would mean that one implementation could take advantage of compile-time features that the other one has, right? 18:46
pmichaud sorry I've missed #phasers -- I was unexpectedly commandeered for the afternoon :-| 18:48
jnthn pmichaud! \\o/
PerlJam: I wasn't even expecting to keep nqpclr and nqp-parrot's ones totally identical, fwiw. That's how far I am off the idea of "one true way" for this. 18:49
PerlJam oh
jnthn pmichaud: Main question: compiler release tomorrow or not? 18:50
pmichaud maybe Friday would be better?
anyway, compiler release this week, yes. 18:51
I won't have a chance to work on regexes until tomorrow at the earliest
masak but you will, that's great news \\o/
jnthn pmichaud: I'm fine with pushing it to Friday if there's a good chance we'll have soemthing then that we won't have by doing it tomorrow. Particularly if it hits one of the big missing things (like, making action methods work again) 18:52
pmichaud oh, action methods can *definitely* be made to work
jnthn OK :)
pmichaud anyway, I'm in favor of Friday... my schedule has turned topsy turvy this week :-|
colomon action methods! \\o/
jnthn OK, that works for me.
18:53 benabik joined
moritz pmichaud: if there's anything I can do to help with the release, please let me know 18:53
pmichaud moritz: will do. I'll likely get started on it tomorrow afternoon-ish 18:54
(draft announcement, tags, etc.)
it would be good to tag nqp with a 2011.09 tag at some point. but that should probably wait until I do a few more regex updates tomorrow afternoon 18:55
moritz ok 18:57
pmichaud I'm afk again -- bbl or tomorrow morningish 18:58
jnthn pmichaud: thanks for dropping by! :)
[Coke] pmichaud: ~~ 18:59
19:10 benabik left 19:11 diakopter left 19:15 masak left 20:29 mberends left 20:40 pmichaud joined 21:36 pmichaud joined