pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
pmichaud pugs: my @a = <1 2 3>; say @a.perl; 00:03
exp_evalbot OUTPUT[["1", "2", "3"]␤]
pmichaud pugs: say <1 2 3>.perl; 00:04
exp_evalbot OUTPUT[("1", "2", "3")␤]
spinclad seems a subtle distinction: container v. none? 00:07
= array v. list
00:33 araujo left 00:46 icwiener left 00:51 eternaleye joined 00:57 [particle] joined
mncharity sigh. all ruby's StringScanner positions are byte offsets, not character offsets. how... inconvenient. 01:08
Patterner Nobody needs Unicode. 01:11
Juerd I need Unicode. 01:12
I'm not nobody.
You lied.
Patterner Nope. I didn't say "Only Nobody needs Unicode." 01:13
Tene Juerd++ # needs unicode
01:13 [particle3 left
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:15
Tene Juerd: you still have interest in work on a good web framework for Perl 6?
Juerd Tene: Yes but no tuits.
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?
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- left, Ched- joined 01:31 syle joined
Juerd Tene: Great 01:34
Tene: I'd suggest beginning simple, with just a CGI interface.
Do fastcgi, mod_rakudo (?), etcetera later. 01:35
Tene nods.
Juerd In any case, auto detection would be SO nice. 01:36
CGI.pm does it too. It rocks.
Tene auto detection of what?
Juerd The backend 01:37
Tene Ahh.
Juerd CGI.pm can be used in mod_perl scripts but also in CGI scripts
Now, this is hardcoded and that should be more flexibel in Perl 6 of course, but the basic idea is wonderful.
flexible
01:38 dalek left, dalek joined, meppl left
TimToady pmichaud: yes, prefix:<\>, though note that \<ws> wins as unspace under ltm 01:57
01:58 meppl joined
TimToady and no, I'm not on the plane to Tokyo right now, since our plane broke. 01:58
so we'll try breaking a different plane tomorrow
02:01 justatheory joined
meppl good night 02:07
mncharity good night meppl 02:09
meppl ;) 02:10
02:10 meppl left
mncharity TimToady/pmichaud: new prefix:<\> has what precedence? 02:10
02:15 pbuetow left 02:22 Schwern joined
Tene I think that commit finished my first real feature in rakudo, and it's something pugs never got quite right. 02:35
That was a lot of fun.
mncharity what feature? 02:38
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
rakudo: sub f { say $^b, $^a }; f(1,2)
exp_evalbot OUTPUT[12␤]
Tene Hm. Looks like evalbot hasn't caught up.
mncharity ah, nifty 02:42
Tene Oh, huh, looks like named positional aren't working quite right. 02:49
Juerd What does " 02:53
You passed an initialization parameter that does not have a matching attribute."? mean? 02:54
(In Rakudo)
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 :)
Or I'm not getting it.
Tene Juerd: example? 02:59
Juerd Tene: Are you on feather?
Tene Yes.
Juerd Tene: ~juerd/creole
Creole is a wiki syntax. 03:00
Would be so cool to have a Perl 6 wiki :)
Tene Do you know where the error is coming from? 03:01
Juerd The if block somehow. 03:02
Tene Huh.
Juerd I first commented away the $<foo> = things in the grammar so it would parse the grammar
Then when it no longer threw an error, I added the if block to test.
Then it gave "You passed an initialization parameter that does not have a matching attribute."
03:08 fullermd left 03:11 fridim_ left
Tene Happened somewhere in rule heading 03:11
It's something about the captures. 03:16
Commenting the captures makes it not fail on trying to match.
03:18 Schwern left
Juerd Oh 03:23
In any case I have to try again in a few weeks :)
pmichaud Tene++ # placeholder vars 03:27
mncharity: according to S03, prefix:\ has the same precedence as the other tight unaries 03:28
(if I'm reading it correctly, that is.)
03:30 araujo joined
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.
without that, I was wondering where the leading \'s were being parsed :-) 03:35
Tene Anyone know how often exp_evalbot updates its rakudo?
pmichaud not me.
mncharity no idea, sorry 03:36
Tene Eh, it'll update eventually.
mncharity possibly missing: .::
TimToady actually, it'd be spelled prefix:<\\>, I suppose 03:37
pmichaud right
mncharity ?& div mod (Multiplicative) 03:38
lambdabot Maybe you meant: . ? @ v
pmichaud TimToady: how about $a => $b .... is that infix:<< => >> or just not in STD.pm yet? 03:39
(or am I missing it in STD.pm?)
ah... I see it in the "item assignment" precedence level 03:40
mncharity sin et.al. (Named_unary)
pmichaud (in S03)
TimToady but yes, it seems to be missing
pmichaud Juerd: depending on how it's written, I would think that rakudo would be able to handle $<foo> = ... in regexes 03:42
mncharity S03 mentiones an absent Nonchaining leg . err, what's a leg? 03:43
pmichaud leg is the string version of <=> 03:44
i.e., what p5 would call 'cmp'
mncharity ah, ok. 03:45
eqv missing from Chaining
min max from Tight_or 03:46
S03 has ff and fff as Conditional, but STD has them Nonchaining. ?? 03:47
the S03 table doesn't mention level List_assignment 03:49
03:49 alester joined
TimToady they're supposed to be conditional 03:50
mncharity thanks. :) hey, that's a STD.pm edit I can do (if someone else doesn't do it first this evening:) 03:51
X~X X*X XeqvX missing from List_infix 03:52
03:53 yewenbin joined
mncharity <<==, ==>> missing from Terminator 03:54
TimToady the table at the front is not meant to be complete
merely suggestive 03:55
pmichaud I think mncharity is saying that items in the table are missing from STD.pm
TimToady the XxX's are metaops
so don't get their own rule 03:56
mncharity ah, ok
got it infix_circumfix_meta_operator:sym<X X>
S03 mentions a List prefix : . which is that? 03:59
TimToady at one point we were analyzing the invocant marking : that way, not sure now 04:01
04:01 alanhaggai joined
TimToady but it's probably actually the : on the end of $obj.meth: or meth obj: 04:02
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:03
re : , ah, ok. hmm. add that too, or wait? 04:04
Much nicer to work in this direction than parsefail->debug->etc. 04:05
:)
TimToady at least one form of it is already under methodop 04:06
mncharity right. ok, punt for now.
mncharity goes back to debugging "add unicode character, get high order nonlinear non-local slowdown" problem... 04:08
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?
(from S06) 04:10
TimToady not any more
must use prefix:<foo>
pmichaud ah, S06 is out of date then?
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:11
04:12 sri_work left
TimToady they come from Prelude 04:13
maybe even by import 04:14
pmichaud okay, works for me.
04:15 rindolf joined
pmichaud TimToady: hope your talk went well :-) 04:15
TimToady for being very hand-to-mouth, and changing the last half on the day-of, it went quite well. 04:16
pmichaud heh
"creating the last half on the day-of" seems to be my m.o. lately.
although I think that won't happen much this year, as I've already given drafts of my talks for the summer :-) 04:17
I might even find time to add some graphics and pictures. :-) 04:18
04:22 alanhaggai left
pmichaud well, time for sleep 04:24
afk, be back tomorrow
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.
good night 04:25
congrats on drafts
04:31 Psyche^ joined 04:42 kanru left 04:47 Patterner left, Psyche^ is now known as Patterner 04:59 lisppaste3 left 05:16 lisppaste3 joined 05:35 Psyche^ joined, justatheory left
mncharity goes looking for the default precedence of infix ops... 05:39
05:52 Patterner left, Psyche^ is now known as Patterner
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␤]
Tene rakudo: sub f { say $^b, $:c, $^a }; f(1,2,:c(3))
exp_evalbot OUTPUT[231␤]
mncharity pugs: while false { 3 } return 4; 05:55
exp_evalbot OUTPUT[*** No such subroutine: "&false"␤ at /tmp/YPfZxS7AM9 line 1, column 7-13␤]
mncharity pugs: while 0 { 3 } return 4;
exp_evalbot OUTPUT[*** Cannot use this control structure outside a 'routine' structure␤ at /tmp/QIYqh0igIm line 1, column 15-23␤]
mncharity pugs: while 0 { 3 } say(4);
exp_evalbot OUTPUT[4␤]
mncharity Anyone have an opinion on whether that while is properly terminated, or instead requires a ; after the } ? 05:56
05:59 Southen joined 06:01 rindolf left
Eevee what else could go after it? 06:01
also, mncharity: latest moose has a way different arrangement of tests than pugs/t/from_moose. worth syncing? 06:02
06:03 alester left
mncharity jo Eevee 06:15
re what else, 'while 0 { 3 }; say(4);' vs 'while 0 { 3 } say(4);'. ie, is the semicolon required.
s/jo/hi/ 06:16
off by one error
Eevee I know, I mean: is there an ambiguity? could anything except a new statement go after the closing brace
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:17
re ambiguity, while 0 {} if 1; 06:18
maybe 06:19
06:22 Auzon joined
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:23
now that I think about it, a for {} else {} would be handy 06:26
but that's a different block, shouldn't need a semicolon there either 06:27
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:28
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 svn.pugscode.org/pugs/src/perl6/STD.pm , though it's a bit broken there at the moment.
pmichaud S04: while yin() { yang() } say "done"; # ILLEGAL
mncharity yay. thanks. 06:31
fixing test...
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:33
Eevee oh, okay then 06:35
mncharity svnbot looks to still be broken. anyone? 06:41
anyway, pmichaud++ Eevee++
Auzon where is svnbot stored?
mncharity feather? dunno :/ 06:42
do we have an infrastructure doc? looking...
examples/network/README 06:43
pmichaud afk again, sleep for real this time :-)
Auzon I found an svnbot.pm in /pugs/docs/feather. Is that the right file? 06:44
mncharity SLAVES
sleep++ end of day for me two. :)
Auzon see you 06:45
Eevee sleep sounds good, eventually
mncharity the SLAVES entry for svnbot is diakopter
diakopter: svnbot is silent...
examples/network/svnbot.pl docs/feather/svnbot.pm 06:46
re 'Is that the right file?', no idea. 06:47
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:49
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:52
TimToady: re strawman STD.pm changes previously mentioned, so... should I make the changes, or no? 06:53
good night all & 06:54
re feather, can we tweak svnbot or otherwise set things up, so it gets restarted automagically? 06:55
06:55 mncharity left 07:01 Auzon left
Tene It's unclear whether @_ and %_ should throw a parse error not when used in a block that already has a signature. 07:13
s/not/or not/
07:34 icwiener joined 07:59 fullermd joined 08:08 meppl joined 08:10 alanhaggai joined 08:55 Ched- left 09:08 iblechbot joined 09:52 schmalbe joined 10:10 icwiener left 10:22 turrepurre left 11:11 rindolf joined 11:21 simcop2387 joined 11:46 masak joined 12:05 eternaleye left 12:06 Ched- joined 12:07 Ched- left 12:15 Ched- joined 12:29 icwiener joined 12:58 meteorjay joined 13:22 fridim_ joined 13:26 rindolf left 13:40 schmalbe left 13:44 themeofn joined, themeofn left 13:50 icwiener_ joined 14:06 icwiener left 14:49 elleg joined 14:52 chris2 joined 14:58 Ched joined 15:02 rindolf joined 15:06 vixey joined 15:09 Ched- left 15:12 Jedai joined 15:14 yewenbin left 15:20 [particle] left 15:25 [particle] joined 15:39 pbuetow joined 15:43 icwiener_ left 16:11 japhb left 16:13 japhb joined 16:43 jan joined 16:59 MikeDavis joined 17:04 MikeDavi_ joined 17:05 MikeDavi_ left, MikeDavi_ joined 17:06 r0bby left, MikeDavi_ left 17:07 MikeDavi_ joined 17:12 MikeDav__ joined 17:13 masak left 17:20 MikeDavis left 17:37 r0bby joined 17:39 REPLeffect_ joined 17:40 b_jonas joined 17:41 MikeDavi_ left 18:17 b_jonas left 18:29 MikeDav__ left 19:43 mncharity joined 20:03 peeps left 20:04 syle left 20:20 Psyche^ joined 20:32 Patterner left, Psyche^ is now known as Patterner
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:00 rindolf left 21:14 chris2 left
mncharity diakopter: svnbot still dead :( 21:17
21:23 IllvilJa left 21:41 ispy_ joined
meppl good night 21:44
mncharity 'night
meppl ;) 21:45
21:45 meppl left
mncharity Tene: while it's all fresh, could you review/add test coverage? 21:53
22:14 vixey left 22:16 IllvilJa joined 22:21 jan left, jan_ joined, jan_ is now known as jan 22:22 jan left, Jan_ joined 22:37 elleg left 22:53 eternaleye joined 22:58 eternaleye left, eternaleye joined 23:04 alanhaggai left 23:15 lisppaste3 left 23:29 lisppaste3 joined 23:42 iblechbot left