Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-05-11

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:03 pmichaud pugs:  my @a = <1 2 3>; say @a.perl;
00:03 exp_evalbot OUTPUT[["1", "2", "3"]␤]
00:04 pmichaud pugs: say <1 2 3>.perl;
00:04 exp_evalbot OUTPUT[("1", "2", "3")␤]
00:07 spinclad seems a subtle distinction: container v. none?
00:07 spinclad = array v. list
00:51 eternaleye joined #perl6
00:57 [particle] joined #perl6
01:08 mncharity sigh.  all ruby's StringScanner positions are byte offsets, not character offsets.  how... inconvenient.
01:11 Patterner Nobody needs Unicode.
01:12 Juerd I need Unicode.
01:12 Juerd I'm not nobody.
01:12 Juerd You lied.
01:13 Patterner Nope.  I didn't say "Only Nobody needs Unicode."
01:13 Tene Juerd++ # needs unicode
01:14 Patterner You should have said "I don't need Unicode. I'm a Nobody." to make my statement a lie.
01:14 mncharity saw a note go by that a Japanese cell phone company has been inventing new glyphs for text messaging... something you can do in Japanese... but which rather doesn't fit with the Unicode picture of the universe. ;)
01:14 Tene Juerd: you still have interest in work on a good web framework for Perl 6?
01:15 Juerd Tene: Yes but no tuits.
01:16 Juerd Well, insufficient tuits.
01:16 Tene Would you have enough to harass me about doing it wrong if I started following up on that proposal you generated a while back?
01:16 Juerd Yes
01:17 Tene Okay.  I'll let you know if I do.  I'm hoping to use that as a project to drive my rakudo hacking.
01:25 Ched- joined #perl6
01:31 syle joined #perl6
01:34 Juerd Tene: Great
01:34 Juerd Tene: I'd suggest beginning simple, with just a CGI interface.
01:34 Juerd Do fastcgi, mod_rakudo (?), etcetera later.
01:35 * Tene nods.
01:36 Juerd In any case, auto detection would be SO nice.
01:36 Juerd CGI.pm does it too. It rocks.
01:36 Tene auto detection of what?
01:37 Juerd The backend
01:37 Tene Ahh.
01:37 Juerd CGI.pm can be used in mod_perl scripts but also in CGI scripts
01:37 Juerd Now, this is hardcoded and that should be more flexibel in Perl 6 of course, but the basic idea is wonderful.
01:37 Juerd flexible
01:38 dalek joined #perl6
01:57 TimToady pmichaud: yes, prefix:<\>, though note that \<ws> wins as unspace under ltm
01:57 meppl joined #perl6
01:57 TimToady and no, I'm not on the plane to Tokyo right now, since our plane broke.
01:58 TimToady so we'll try breaking a different plane tomorrow
02:01 justatheory joined #perl6
02:07 meppl good night
02:09 mncharity good night meppl
02:10 meppl ;)
02:10 mncharity TimToady/pmichaud: new prefix:<\> has what precedence?
02:22 Schwern joined #perl6
02:35 Tene I think that commit finished my first real feature in rakudo, and it's something pugs never got quite right.
02:35 Tene That was a lot of fun.
02:38 mncharity what feature?
02:38 mncharity re fun, :)
02:39 Tene Placeholder vars.  I got the start in yesterday, I think, and as of today they throw an error if used in a block with a signature, and are sorted properly in the signature.
02:40 Tene rakudo: sub f { say $^b, $^a }; f(1,2)
02:40 exp_evalbot OUTPUT[12␤]
02:40 Tene Hm.  Looks like evalbot hasn't caught up.
02:41 mncharity ah, nifty
02:48 Tene Oh, huh, looks like named positional aren't working quite right.
02:53 Juerd What does "
02:53 Juerd You passed an initialization parameter that does not have a matching attribute."? mean?
02:54 Juerd (In Rakudo)
02:58 Tene Juerd: It means that you tried to create a new object and passed a parameter to 'new' that doesn't match an attribute of the class you're trying to make an instance of.
02:58 Juerd Ah. I guess its parser must be really broken then :)
02:58 Juerd Or I'm not getting it.
02:59 Tene Juerd: example?
02:59 Juerd Tene: Are you on feather?
02:59 Tene Yes.
02:59 Juerd Tene: ~juerd/creole
02:59 Juerd Creole is a wiki syntax.
03:00 Juerd Would be so cool to have a Perl 6 wiki :)
03:01 Tene Do you know where the error is coming from?
03:02 Juerd The if block somehow.
03:02 Tene Huh.
03:02 Juerd I first commented away the $<foo> = things in the grammar so it would parse the grammar
03:02 Juerd Then when it no longer threw an error, I added the if block to test.
03:02 Juerd Then it gave "You passed an initialization parameter that does not have a matching attribute."
03:11 Tene Happened somewhere in rule heading
03:16 Tene It's something about the captures.
03:16 Tene Commenting the captures makes it not fail on trying to match.
03:23 Juerd Oh
03:23 Juerd In any case I have to try again in a few weeks :)
03:27 pmichaud Tene++  # placeholder vars
03:28 pmichaud mncharity: according to S03, prefix:\ has the same precedence as the other tight unaries
03:28 pmichaud (if I'm reading it correctly, that is.)
03:30 araujo joined #perl6
03:32 mncharity pmichaud: doh.  I forgot the big operator table in S03.  hmm, I wonder what else in it is missing from STD.pm...
03:33 pmichaud S03 is what convinced me that "prefix:<\>" was probably right in the first place.
03:34 pmichaud without that, I was wondering where the leading \'s were being parsed :-)
03:35 Tene Anyone know how often exp_evalbot updates its rakudo?
03:35 pmichaud not me.
03:35 mncharity no idea, sorry
03:36 Tene Eh, it'll update eventually.
03:36 mncharity possibly missing:  .::
03:37 TimToady actually, it'd be spelled prefix:<\\>, I suppose
03:37 pmichaud right
03:38 mncharity ?& div mod  (Multiplicative)
03:38 lambdabot Maybe you meant: . ? @ v
03:39 pmichaud TimToady: how about   $a => $b  .... is that infix:<< => >>  or just not in STD.pm yet?
03:39 pmichaud (or am I missing it in STD.pm?)
03:40 pmichaud ah... I see it in the "item assignment" precedence level
03:40 mncharity sin et.al. (Named_unary)
03:40 pmichaud (in S03)
03:40 TimToady but yes, it seems to be missing
03:42 pmichaud Juerd: depending on how it's written, I would think that rakudo would be able to handle  $<foo> = ...   in regexes
03:43 mncharity S03 mentiones an absent Nonchaining  leg .   err, what's a leg?
03:44 pmichaud leg is the string version of <=>
03:44 pmichaud i.e., what p5 would call 'cmp'
03:45 mncharity ah, ok.
03:45 mncharity eqv missing from Chaining
03:45 mncharity min max from Tight_or
03:47 mncharity S03 has ff and fff as Conditional, but STD has them Nonchaining.  ??
03:49 mncharity the S03 table doesn't mention level List_assignment
03:49 alester joined #perl6
03:50 TimToady they're supposed to be conditional
03:51 mncharity thanks. :)  hey, that's a STD.pm edit I can do (if someone else doesn't do it first this evening:)
03:52 mncharity X~X X*X XeqvX missing from List_infix
03:53 yewenbin joined #perl6
03:53 mncharity <<==, ==>> missing from Terminator
03:54 TimToady the table at the front is not meant to be complete
03:55 TimToady merely suggestive
03:55 pmichaud I think mncharity is saying that items in the table are missing from STD.pm
03:55 TimToady the XxX's are metaops
03:55 TimToady so don't get their own rule
03:56 mncharity ah, ok
03:56 mncharity got it infix_circumfix_meta_operator:sym<X X>
03:58 mncharity S03 mentions a List prefix  :  .  which is that?
04:01 TimToady at one point we were analyzing the invocant marking : that way, not sure now
04:01 alanhaggai joined #perl6
04:02 TimToady but it's probably actually the : on the end of $obj.meth: or meth obj:
04:03 mncharity strawman "things to add to STD":  Symbolic_unary prefix:<\\>.  .:: in dotty:sym<.*>.  Multiplicative  ?& div mod .  Item_assignment => .  Named_unary  sin (and many others... hmm :/ ).  Nonchaining leg .  Chaining eqv .  Tight_or min max .  ff fff changed to Conditional.  Terminator <<== ==>> .
04:04 mncharity re : , ah, ok.  hmm.  add that too, or wait?
04:05 mncharity Much nicer to work in this direction than parsefail->debug->etc.
04:05 mncharity :)
04:06 TimToady at least one form of it is already under methodop
04:06 mncharity right.  ok, punt for now.
04:08 * mncharity goes back to debugging "add unicode character, get high order nonlinear non-local slowdown" problem...
04:09 mncharity pmichaud: thanks for mentioning the table. :)
04:09 pmichaud do named unaries appear in STD.pm, or should they be a function of the fact that things like   sub foo ($) { ... }   automatically appear at named unary precedence?
04:09 pmichaud (from S06)
04:09 TimToady not any more
04:10 TimToady must use prefix:<foo>
04:10 pmichaud ah, S06 is out of date then?
04:11 pmichaud and then my question becomes... do named unaries such as sin, etc. appear in STD.pm, or do we treat them in the same way that we would   "sub prefix:<sin> ($) { ... }"   ?
04:13 TimToady they come from Prelude
04:13 TimToady maybe even by import
04:13 pmichaud okay, works for me.
04:15 rindolf joined #perl6
04:15 pmichaud TimToady: hope your talk went well :-)
04:16 TimToady for being very hand-to-mouth, and changing the last half on the day-of, it went quite well.
04:16 pmichaud heh
04:16 pmichaud "creating the last half on the day-of" seems to be my m.o. lately.
04:17 pmichaud although I think that won't happen much this year, as I've already given drafts of my talks for the summer :-)
04:18 pmichaud I might even find time to add some graphics and pictures. :-)
04:24 pmichaud well, time for sleep
04:24 pmichaud afk, be back tomorrow
04:24 mncharity shudder.  gross slowdown resolved.  a s/a small re/  /g... where it looks like the two spaces ended up in a different encoding from the string (ruby being "let things have lots of different encodings").  from the glacialness looks like it was repeatedly reencoding the string, adding two spaces, reencoding it back, etc.
04:25 mncharity good night
04:25 mncharity congrats on drafts
04:31 Psyche^ joined #perl6
05:15 lisppaste3 joined #perl6
05:35 Psyche^ joined #perl6
05:39 * mncharity goes looking for the default precedence of infix ops...
05:54 mncharity pugs: while $x-- { return 24; } return 42;
05:54 exp_evalbot OUTPUT[*** ␤    Unexpected "--"␤    expecting "::"␤    Variable "$x" requires predeclaration or explicit package name␤    at /tmp/hQoV3VbQBT line 1, column 9␤]
05:54 Tene rakudo: sub f { say $^b, $:c, $^a }; f(1,2,:c(3))
05:54 exp_evalbot OUTPUT[231␤]
05:55 mncharity pugs: while false { 3 } return 4;
05:55 exp_evalbot OUTPUT[*** No such subroutine: "&false"␤    at /tmp/YPfZxS7AM9 line 1, column 7-13␤]
05:55 mncharity pugs: while 0 { 3 } return 4;
05:55 exp_evalbot OUTPUT[*** Cannot use this control structure outside a 'routine' structure␤    at /tmp/QIYqh0igIm line 1, column 15-23␤]
05:55 mncharity pugs: while 0 { 3 } say(4);
05:55 exp_evalbot OUTPUT[4␤]
05:56 mncharity Anyone have an opinion on whether that while is properly terminated, or instead requires a ; after the } ?
05:59 Southen joined #perl6
06:01 Eevee what else could go after it?
06:02 Eevee also, mncharity: latest moose has a way different arrangement of tests than pugs/t/from_moose.  worth syncing?
06:15 mncharity jo Eevee
06:15 mncharity re what else, 'while 0 { 3 }; say(4);' vs 'while 0 { 3 } say(4);'.  ie, is the semicolon required.
06:15 mncharity s/jo/hi/
06:16 mncharity off by one error
06:16 Eevee I know, I mean: is there an ambiguity?  could anything except a new statement go after the closing brace
06:17 mncharity re worth syncing, don't know.  either sync, or svn rm all the .t.orig files which were never touched (my fuzzy recollection is one was worked on?).
06:18 mncharity re ambiguity,  while 0 {} if 1;
06:19 mncharity maybe
06:22 Auzon joined #perl6
06:23 Eevee ehh.  that's kinda awkward, not sure if it's worth requiring a semicolon (or making it parse differently based on whether or not a newline follows)
06:26 Eevee now that I think about it, a for {} else {} would be handy
06:26 Eevee but that's a different block, shouldn't need a semicolon there either
06:28 mncharity the issue is more that there are a set of conditions in which a semicolon is faked after a block.  and my initial impression is that example doesn't match any of the current conditions.
06:30 pmichaud S04:  Though certain control statements could conceivably be parsed in a self-contained way, for visual consistency all statement-terminating blocks that end in the middle of a line must be terminated by semicolon unless they are naturally terminated by some other statement terminator:
06:30 mncharity stdstopper in http://svn.pugscode.org/pugs/src/perl6/STD.pm , though it's a bit broken there at the moment.
06:30 pmichaud S04:      while yin() { yang() }  say "done";      # ILLEGAL
06:30 mncharity yay.  thanks.
06:31 mncharity fixing test...
06:33 pmichaud fwiw, I like the approach rakudo uses for handling statement terminators.  There's probably some case it can't handle properly, but thus far it's worked out very well in NQP and rakudo.
06:34 Eevee oh, okay then
06:41 mncharity svnbot looks to still be broken.  anyone?
06:41 mncharity anyway, pmichaud++ Eevee++
06:41 Auzon where is svnbot stored?
06:42 mncharity feather?  dunno :/
06:42 mncharity do we have an infrastructure doc?  looking...
06:43 mncharity examples/network/README
06:43 pmichaud afk again, sleep for real this time :-)
06:43 Auzon I found an svnbot.pm in /pugs/docs/feather. Is that the right file?
06:44 mncharity SLAVES
06:44 mncharity sleep++  end of day for me two. :)
06:45 Auzon see you
06:45 Eevee sleep sounds good, eventually
06:45 mncharity the SLAVES entry for svnbot is diakopter
06:45 mncharity diakopter: svnbot is silent...
06:46 mncharity examples/network/svnbot.pl docs/feather/svnbot.pm
06:47 mncharity re 'Is that the right file?', no idea.
06:48 Auzon I think it is. I suspect it just needs to be restarted on feather
06:48 mncharity sounds plausible.  could be nice to expand the feather/README file with details.
06:52 mncharity ah well.  can't check in today's STD_red changes without breaking elf.  have to thing about that.  tomorrow.  non-choking on pugs t/ up from ~60% to just under 70% of files.  (usual caveat - non-choke does not imply a correct or useful parse).  almost there.  just need a few more files clear before fleshing out elf.
06:53 mncharity TimToady: re strawman STD.pm changes previously mentioned, so... should I make the changes, or no?
06:54 mncharity good night all &
06:55 mncharity re feather, can we tweak svnbot or otherwise set things up, so it gets restarted automagically?
07:13 Tene It's unclear whether @_ and %_ should throw a parse error not when used in a block that already has a signature.
07:13 Tene s/not/or not/
07:34 icwiener joined #perl6
07:59 fullermd joined #perl6
08:08 meppl joined #perl6
08:10 alanhaggai joined #perl6
08:55 Ched- left #perl6
09:08 iblechbot joined #perl6
09:52 schmalbe joined #perl6
11:11 rindolf joined #perl6
11:21 simcop2387 joined #perl6
11:46 masak joined #perl6
12:06 Ched- joined #perl6
12:15 Ched- joined #perl6
12:29 icwiener joined #perl6
12:57 meteorjay joined #perl6
13:21 fridim_ joined #perl6
13:43 themeofn joined #perl6
13:44 themeofn left #perl6
13:50 icwiener_ joined #perl6
14:49 elleg joined #perl6
14:52 chris2 joined #perl6
14:58 Ched joined #perl6
15:02 rindolf joined #perl6
15:06 vixey joined #Perl6
15:12 Jedai joined #perl6
15:25 [particle] joined #perl6
15:38 pbuetow joined #perl6
16:13 japhb joined #perl6
16:43 jan joined #perl6
16:59 MikeDavis joined #perl6
17:03 MikeDavi_ joined #perl6
17:05 MikeDavi_ joined #perl6
17:07 MikeDavi_ joined #perl6
17:12 MikeDav__ joined #perl6
17:37 r0bby joined #perl6
17:38 REPLeffect_ joined #perl6
17:40 b_jonas joined #perl6
19:43 mncharity joined #perl6
20:20 Psyche^ joined #perl6
20:58 Tene rakudo: sub f { say $^foo, $:quxx, $^bar, @_[0], %_<frob> }; f(1, 2, 3, :quxx(4), :frob(5));
20:58 exp_evalbot OUTPUT[24135␤]
21:17 mncharity diakopter: svnbot still dead :(
21:41 ispy_ joined #perl6
21:43 meppl good night
21:43 mncharity 'night
21:45 meppl ;)
21:52 mncharity Tene: while it's all fresh, could you review/add test coverage?
22:16 IllvilJa joined #perl6
22:21 jan_ joined #perl6
22:22 Jan_ joined #perl6
22:53 eternaleye joined #perl6
22:58 eternaleye joined #perl6
23:29 lisppaste3 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo