Perl 6 - the future is here, just unevenly distributed

IRC log for #rakudosketch, 2010-05-25

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

All times shown according to UTC.

Time Nick Message
04:03 sorear joined #rakudosketch
05:24 sorear joined #rakudosketch
12:51 masak joined #rakudosketch
18:10 mberends joined #rakudosketch
18:53 masak joined #rakudosketch
18:57 diakopter joined #rakudosketch
18:57 * diakopter lurks as usual
19:00 masak o/
19:00 spinclad \o
19:00 moritz_ o|
19:00 jnthn o/
19:01 colomon \o
19:01 jnthn pmichaud: #rs!
19:01 moritz_ any pmichauds around?
19:01 pmichaud here.
19:01 jnthn oh wow, we almost has, like, good attendance \o/
19:01 colomon \o/
19:02 moritz_ bkeeler?
19:02 moritz_ sorear?
19:02 moritz_ shall we start with masak's gsoc report?
19:02 colomon :)
19:02 jnthn Why not. :-)
19:03 * masak clears throat
19:03 spinclad q1q
19:03 masak I've created a branch.
19:03 masak in that branch, I've created a few roles.
19:03 masak the preexisting test file now runs.
19:03 masak not all tests pass. :)
19:03 masak I had a question for TimToady about .chars, which TimToady answered today.
19:04 moritz_ what's the immmediate plan? any blockers?
19:04 masak that's it so far. progress is moderate but good. this is officially Day 2.
19:04 masak immediate plan is to write more tests, and pass them.
19:04 jnthn Passing some new tests by day 2 is kinda good. :-)
19:04 jnthn masak: You planning to merge stuff to trunk fairly often, or after some review first, or?
19:05 jnthn masak: I don't want to end up with a branch with like 3 weeks worth of stuff to review, if we can avoid that.
19:05 masak jnthn: I'll keep that in mind.
19:05 jnthn OK, thanks.
19:06 masak actually, I haven't felt the need to be in a branch at all yet. but it's only been two days. :)
19:06 * jnthn has seen too many Parrot GSoC projects in the past that never left their GSoC-long branch
19:06 masak yeah, let's get into the habit of merging regularly. :)
19:06 jnthn +1
19:06 colomon +1
19:06 pmichaud +1
19:06 masak .eor
19:06 jnthn OK. Who next? pmichaud?
19:07 pmichaud I reviewed more of sorear++'s REPL patch and brought a few very nice improvements into the nqp-rx mainline
19:07 pmichaud we now have autoprinting of results from the interactive REPL, with Coke++'s help
19:08 moritz_ \o/
19:08 pmichaud I also reviewed bkeeler++'s regex interpolation code
19:08 pmichaud bkeeler largely did what I was looking for, but after seeing the code I decided a different (and much less invasive) approach was called for
19:08 pmichaud so, I refactored nqp and rakudo to use the newer approach
19:09 pmichaud as a bonus, array-alternations of regex is now somewhat LTM-aware
19:09 masak what's the refactor? in twenty words or less :)
19:09 pmichaud bkeeler's version created a new PAST::Regex node type for interpolation
19:09 pmichaud after re-reading S05, it occured to me that interpolation is really a special case of a subrule
19:10 pmichaud so I rewrote it that way
19:10 pmichaud another bonus is that things like    <abc=@xyz>  now work
19:10 pmichaud so that you can capture the result of the alternated match
19:10 pmichaud and we also get stuff like  <!@xyz>
19:10 jnthn I guess <$xyz> and <@xyz> alone don't create xyz named captures automatically?
19:10 pmichaud they do not.
19:10 jnthn OK
19:11 * jnthn is happy about that
19:11 moritz_ pmichaud: re autoprinting, did you notice that rakudo segfaults when an exception is thrown and not caught?
19:11 pmichaud moritz_: No, I didn't notice that.  Should be relatively easy to fix.
19:12 jnthn pmichaud: More REPL work coming up next?
19:12 pmichaud anyway, merged the new interpolated regexes implementation
19:12 pmichaud I'm currently working on REPL, yes
19:12 jnthn Excellent.
19:12 masak \o/
19:12 pmichaud should have it ready by the end of the day.
19:12 * jnthn is *so* happy to see pmichaud++ committing lots of stuff again
19:13 pmichaud tomorrow I plan to fix up closures, and the contextual PAST node type
19:13 spinclad \o/
19:13 colomon +1
19:13 pmichaud after that is lists/arrays again, probably Friday-ish.
19:13 pmichaud .eor
19:14 jnthn pmichaud: Is the parsing of some typenames in nqp-rx at all related to the grand plan surroudning contextual node?
19:14 pmichaud jnthn: no.
19:14 jnthn pmichaud: OK. I found it curious to see the ability to parse them being put in without any underlying meaning, that's all.
19:14 pmichaud it's more so we can look at supporting simple multi-subs
19:14 jnthn Ah, OK.
19:14 jnthn +1
19:15 pmichaud and potentially things like  "my int $x", but I'm still not at all comfortable with that declaratory syntax.
19:15 jnthn In what sense?
19:15 jnthn The syntax itself, or the use of it to map to underlying Parrot register types?
19:15 pmichaud in Parrot, registers coerce, not constraint.
19:15 pmichaud *constrain
19:16 jnthn Yes, that is true.
19:16 pmichaud so, the Perl 6 semantic of   "my int $x"  is that only int can be stored there.
19:16 jnthn *nod*
19:16 jnthn It'd be difficult to enforce that in nqp.
19:16 jnthn And probably not desirable.
19:16 pmichaud whereas the Parrot semantic of "my int $x" would be to convert anything bound to it to an int.
19:16 jnthn Well, maybe.
19:16 jnthn Aye.
19:16 jnthn Anyway, the multi thing sounds OK.
19:16 pmichaud ....and that's a bit too much of a semantic gap for me to be wanting to accept right at this moment.
19:17 jnthn Yeah, agree.
19:17 pmichaud so it may need to be   "my int $x as int"  or something like that.
19:17 jnthn *nod*
19:17 jnthn moritz_: Has you a report? :-)
19:17 TimToady or my int(Any) $x in the other proposal I made once
19:17 jnthn TimToady: Yeah, I didn't dislike that syntax.
19:18 moritz_ jnthn: moreorless
19:18 TimToady where Any was default, so int() would be coercive
19:18 moritz_ I've worked on various bits and pieces
19:18 moritz_ one of them being match object
19:18 moritz_ had some small success in the mob5 branch
19:18 moritz_ a named, non-quantified capture now works with pure Perl 6 match objects
19:19 moritz_ however everything arrayish (quantified or numbered captures) goes awefully wrong
19:19 moritz_ null PMC access in Seq!fill
19:19 moritz_ somehow Perl 6 arrays seem not to like it when things are being pushed onto them via vtables, or so
19:19 moritz_ haven't figured out what exactly is wrong
19:19 pmichaud moritz_: it's all likely to be majorly refactored with array/list changes anyway
19:20 pmichaud I'd be very reluctant to build lots of code on the existing array/hash implementation.
19:20 moritz_ pmichaud: problem is, match objects are kinda major blocker for me
19:20 moritz_ they block JSON::Tiny and thus the book chapter on grammars
19:20 pmichaud I might be able to fix that more quickly.
19:20 pmichaud we can discuss on #perl6
19:21 moritz_ apart from that I've done small things here and there
19:21 moritz_ started a local branch to enable enums in the setting
19:21 moritz_ hit an iterator issue I haven't figured out yet - still have hope to fix it on my own
19:21 moritz_ applied small patches, reviewed advent integration tests
19:22 moritz_ trying to lure more contributors - ideas for new challenges are very welcome
19:22 moritz_ way too many ideas for not-so-small projects, too few tuits
19:22 moritz_ .eor
19:22 jnthn moritz_++
19:22 jnthn colomon?
19:22 colomon moritz_++
19:23 colomon Since last time, most of my Rakudo-effort went to the release.
19:23 colomon Other than that, a few minor Numeric things.
19:23 colomon Not sure how much connectivity I'll have over the extra long weekend coming up.
19:24 PerlJam greetings.
19:24 colomon o/
19:25 * PerlJam finally shows up during a #rs
19:25 jnthn :-)
19:25 jnthn colomon: ero?
19:25 jnthn *eor?
19:25 colomon jnthn: I can't think of anything else to say, so yes.  :)
19:25 colomon .eor
19:26 jnthn :-)
19:26 jnthn For me, I had a pretty unproductive week last week...was oddly tired. Feeling better this one. :-) Got a few small Rakudo patches in that fixed some bugs.
19:26 jnthn And also did some work on book.
19:26 jnthn Got another book patch partially there.
19:27 jnthn Did some roadmap updates to try and keep it in sync with what's done in reality.
19:27 jnthn This week, plan to focus on book + bugs.
19:27 masak \o/
19:27 colomon what's the deadline on the book?
19:28 jnthn .eor
19:28 moritz_ colomon: too early :(
19:28 jnthn Soon. :(
19:28 moritz_ colomon: we don't have a hard one, I think
19:28 jnthn Anyone else have some report, btw?
19:28 moritz_ but after our deadline it will take a few weeks for it to actually be in print, or so
19:28 [particle] the original intent was hardcopies at yapc::na
19:28 colomon ah, I thought chromatic's publishing needs meant the deadline was next week.
19:28 PerlJam didn't chromatic say in one of his emails that he needed 3-4 weeks lead time or something?
19:29 pmichaud we also expected to have Rakudo * out by now, though.
19:29 jnthn That too.
19:29 moritz_ so what's the current schedule for R*?
19:29 [particle] make it good, then make it right, then make it on time
19:29 jnthn If we're still shooting for June - which I believe we are - that means we have ~ a month to go.
19:29 pmichaud shortly after June release.
19:29 moritz_ so, "late in June"?
19:30 pmichaud It can't be before June Parrot release
19:30 pmichaud so.... around the June release date
19:30 moritz_ June parrot release is 15th
19:30 jnthn It also needs to build against the June Parrot release.
19:30 moritz_ which is as early as it can be
19:30 moritz_ so... shall we say around the 22nd?
19:30 pmichaud yapc::na is jun 21-23, so around then might be good.
19:30 jnthn So essentially, any improvements that need nqp-rx hackage will need to go in before then.
19:32 jnthn What are the Real Big Things that must happen for release?
19:32 colomon We have four weeks, then.
19:32 jnthn We have the ROADMAP must-haves, of course.
19:32 colomon no, wait, three?
19:32 * moritz_ has blogged a list
19:32 pmichaud four, at least
19:32 colomon four.
19:32 colomon exactly if we're talking the 22nd.
19:32 jnthn I also think we need to sort out closures, match objects, arrays/lists somewhat, along with the ROADMAP thngs.
19:32 pmichaud five if we're talking the 22nd
19:32 jnthn *things
19:33 pmichaud oh wait, four.
19:33 pmichaud silly calendars.
19:33 pmichaud I think that closures and arrays/lists are absolutes, which is why they're high on my plate
19:33 pmichaud REPL was another absolute, and I'm doing it now.
19:34 jnthn http://perlgeek.de/blog-en/perl-6/ for moritz_++'s list, btw
19:34 pmichaud some form of Whatever handling would seem very important
19:35 pmichaud anyway, by next week's #rs I'll report on must-haves.
19:35 jnthn Backtraces with Perl 6 file names and line numbers - I can take this.
19:35 jnthn I planned to do it last week and lacked the energy.
19:35 pmichaud I have energy this week, and there are a few times upcoming that are bad for coding but good for writing lists.
19:35 jnthn +1
19:35 PerlJam what is "installation standards" under Ought-to-haves?  Is that directory layout and such for Rakudo?
19:35 pmichaud but anyone feel free to pre-empt me if you get the tuits :)
19:36 jnthn pmichaud: On "/<foo>/ should pick up a regex named foo from the lexical scope, not only from method lookup"
19:36 moritz_ we kinda have that, vaguely
19:36 jnthn pmichaud: How hard is that to do?
19:36 jnthn pmichaud: I did the stuff so my regex foo { ... } works
19:36 TimToady the easiest way to *op* might be with a rewrite rule in the grammar that knows the exceptions like ranges
19:36 TimToady that would be close to spec anyway
19:37 pmichaud jnthn: a lexical would always override a method, then?
19:37 jnthn TimToady: I was pondering that, and the "is this an exception" hook would just know the exceptions hard-coded, and we could fill it out later.
19:37 TimToady that would be fine for R*
19:37 jnthn TimToady: What pmichaud asked ;-)
19:38 jnthn pmichaud: <.foo> is always method and <&foo> is always lexical, though, iirc.
19:38 pmichaud in some sense I'd prefer to see <&foo>  always be used for the lexical.
19:38 jnthn And <foo> would "dwim"
19:38 pmichaud not the least of which is because I can implement that in about two keystrokes.
19:39 TimToady tempting
19:39 jnthn pmichaud: If we implement <&foo> we will mitigate a lot of people's immediate problem.
19:39 pmichaud (<foo> "dwim")  I'm not always sure that we know "wym" though.
19:39 spinclad (but <.foo> is don't-record-foo?)
19:39 TimToady anything with punctuation on the front is don't-record
19:40 pmichaud anyway,  having <foo> automatically find things in the lexical scope is a bit tricky, because the method name doesn't have a & and the lexical name does.
19:40 jnthn <foo=&foo> # records
19:40 spinclad ah. so <.foo> can be method
19:40 pmichaud technically,  <.foo> *is* method :-)
19:40 jnthn Or <foo=.foo>
19:40 TimToady it already is
19:40 spinclad :)
19:41 pmichaud anyway, if someone can let me know if <foo>  is lexical priority or method priority, I can add it.
19:41 TimToady requiring & seems conservative, though if we change the dwimminess of <foo> it could break things later
19:41 TimToady seems fairly unlikely though
19:41 * masak .oO( when syntaxes clash )
19:41 pmichaud right now  <foo> only looks at methods in nqp-rx
19:42 jnthn masak: From a user perspective, is having to write <&foo> for a "my regex blah { ... }" outside of a grammar going to be a pita?
19:42 jnthn (iyo, of course :-))
19:42 TimToady well, I think it has to be lexical priority if it dwims, since we know that at compile time, and not the other
19:42 pmichaud anyway,   having <&foo> work is a short-term "I can do this now" sort of fix.
19:43 moritz_ it would be a large improvement
19:43 pmichaud being able to make <foo> dwimmy on lexicals is a bit more work, but potentially do-able.
19:43 moritz_ even if people still expect /<foo>/ to pick up from lexical scope
19:43 pmichaud (I agree with TimToady++ -- any dwimminess needs to be towards lexicals.)
19:43 jnthn pmichaud: Does that we already know all the lexicals at compile time help us?
19:44 pmichaud jnthn: yes.
19:44 jnthn pmichaud: That is, could we code-gen <foo> as if it were <foo=&foo>?
19:44 masak joined #rakudosketch
19:44 TimToady yes
19:44 jnthn (now easily I mean)
19:44 pmichaud jnthn: yes, that's what would happen.
19:44 jnthn OK, excellent.
19:44 pmichaud The PAST::Regex node already knows how to handle aliasing.
19:45 pmichaud anyway, I'll commit to <&foo> immediately, and may have <foo> shortly thereafter.
19:45 jnthn pmichaud++
19:45 jnthn moritz_: I'll try and get to "Currently user-defined operators hide candidates of the same name from outer scopes. This is rather annoying." in the next week too.
19:45 moritz_ \o/
19:45 jnthn I'll make that and backtraces my main goals. :-)
19:46 jnthn And book :-)
19:46 TimToady and everything else :-)
19:46 jnthn TimToady: That can wait for the week after. :-P
19:47 jnthn OK, any more things for this week?
19:47 jnthn spinclad: I think you q1q'd?
19:47 spinclad as pure administrivia, can we get someone op'ed so we could set a /topic?  (for meeting time, eg)
19:47 pmichaud can someone write some <&foo> tests?
19:47 moritz_ pmichaud: I can do that tonight (ie in the next 1 hour)
19:47 pmichaud moritz_: that would be a huge help.
19:47 jnthn moritz_++, pmichaud++
19:47 moritz_ so, <&foo> does not capture, right?
19:47 TimToady but then I'll be off topic :(
19:48 TimToady correct
19:48 pmichaud moritz_: it does not capture.
19:48 TimToady nothing with punctuation captures
19:48 pmichaud moritz_: but you can do <foo=&foo> to capture.
19:48 moritz_ great
19:48 moritz_ sure think
19:48 moritz_ s/k/g/
19:48 TimToady you don't have to remember which characters capture, other than alphanums
19:48 pmichaud right... any punctuation means "no capture"
19:49 masak joined #rakudosketch
19:50 spinclad i think channel creator has op grant privilege?
19:50 jnthn I'm...not sure how created it. :-)
19:50 spinclad or talk to freenode mgmt
19:50 pmichaud I've not had much luck with freenode mgmt, fwiw.
19:51 Tene It's not registered.
19:51 moritz_ easiest solution: everybody leave
19:51 Tene Yeah, that's about the only reasonable option.
19:51 pmichaud maybe one of us could just kic..... oh.
19:51 masak left #rakudosketch
19:52 Tene or choose a new channel name, and actually register it when you create it.
19:52 pmichaud #rsketch
19:52 pmichaud #rakudoreport
19:52 pmichaud #rakrep
19:52 moritz_ #rs
19:52 Tene #rakudorakudorakudo
19:52 moritz_ that's how we call it anyway :-)
19:52 pmichaud there's already a #rs
19:53 moritz_ oh wait, taken :(
19:53 TimToady radioshack?
19:53 PerlJam #bikeshed  ;)
19:53 pmichaud #bs
19:53 pmichaud oh, wait.
19:53 pmichaud :)
19:54 jnthn ;-)
19:54 spinclad #ORANGEbikeshed
19:54 pmichaud #bikeshed-champagne
19:54 pmichaud ah, heck, let's just call it #phasers
19:54 moritz_ lol
19:54 Tene #metarakudo
19:54 TimToady you're fired
19:54 moritz_ +1 to #phasers
19:54 moritz_ it's free
19:55 pmichaud .oO( TimToady is now TimTrump ?)
19:55 TimToady if yer a phaser, I'm s'posed to fire you
19:56 pmichaud +1 to #phasers here, also
19:56 pmichaud this is where we meet to move Rakudo from one phase to the next :)
19:56 PerlJam #phasers wfm  (I'm rarely around at the right time anyway :)
19:56 TimToady set phasers to #stun, or #deep-fat-fry
19:56 colomon +1 to #phasers, though a bit worried we might attract the wrong sort with that name.  ;)
19:56 spinclad all right, +1 to #phasers here, too
19:56 jnthn wfm :-)
19:56 TimToady what, people coming back through wormholes?
19:57 jnthn Though in a few years somebody will be like...wtf is it called this?
19:57 jnthn :-)
19:57 [particle] can irc channel names have dashes?
19:57 [particle] #rakuda-do
19:57 moritz_ they can
19:57 * moritz_ just registered #phasers
19:57 colomon moritz_++
19:57 moritz_ now I just need to figure out how to add privs for others
19:58 [particle] they probably have to join to get privs... maybe not
19:59 pmichaud if #phasers doesn't work out, we can always change again :)
19:59 pmichaud by then, everyone may have left #rakudosketch :)
19:59 Tene /msg chanserv ACCESS #phasers add tene OP
19:59 Tene etc.
19:59 jnthn whoz op?
20:00 Tene my policy is to always just add everyone.
20:00 moritz_ 22:00 -ChanServ(ChanServ@services.)- Invalid template name given, use /msg  ChanServ TEMPLATE #phasers for a list
20:00 moritz_ 21:59 <moritz_> TEMPLATE #phasers
20:00 moritz_ 21:59 -ChanServ(ChanServ@services.)- No templates set on channel #phasers.
20:01 Tene huh.
20:01 spinclad LessThanHelpful
20:01 Tene the chanserv docs lie, I guess.
20:01 spinclad is TEMPLATE a metaword there?
20:02 Tene oh, um, it works for me.
20:02 Tene but I get that error if I give the args in the wrong order.
20:06 * moritz_ tried ACCESS #phasers ADD pmichaud OP
20:06 moritz_ oh
20:06 moritz_ but +R instead of OP worked
20:07 Tene I'll /msg you the templates set on another channel
20:07 moritz_ +1
20:09 Tene /msg chanserv flags #phasers tene +votriA
20:09 jnthn So, #phasers next time.
20:09 Tene there you go
20:09 jnthn :-)
20:09 * jnthn joins it
20:09 spinclad eoq :)
20:10 Tene maybe +sRf on some people
20:10 colomon moritz_++ for getting tests added while we're still in #rs
20:10 jnthn Aye
20:10 jnthn Are we done with #rs for the day?
20:11 * moritz_ thinks so
20:11 TimToady .eeyore
20:11 pmichaud I'm done for today.
20:11 colomon wfm
20:11 pmichaud afk, walk
20:11 Tene so everyone clear out of #rs?
20:11 Tene left #rakudosketch
20:11 jnthn OK, the end
20:11 jnthn :-)
20:12 spinclad (we can shake out ops grants over in #phasers)
20:12 TimToady left #rakudosketch
20:12 * jnthn tosses his gavel out, and will use a phaser next time
20:12 [Coke] left #rakudosketch
20:12 colomon left #rakudosketch
20:12 jnthn left #rakudosketch
20:13 moritz_ left #rakudosketch

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