Perl 6 - the future is here, just unevenly distributed

IRC log for #phasers, 2011-09-21

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

All times shown according to UTC.

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

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