»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
colomon \o/ 00:15
[Coke] colomon: ? 00:27
colomon rakudo-moar added in.
you must think it's getting close enough to consider....
[Coke] pay no attention to the man behind the mirror. 00:29
I'm just hoping to catch it when it starts. 00:31
colomon I apologize for not having pushed Niecza to a clean test suite. 00:37
Got sidetracked trying to figure out how to fix the :sigspace issue.
TimToady masak: your first two examples are missing the RHS of a => 01:33
lue S03/Adverbs: "while $a < 1 && $b == 2 :carefully does the && carefully because && is of tighter precedence than "comma"." I'm not sure how the comma precedence level applies here. 01:41
lue S03/Adverbs is kind of weird in general. TimToady, in the case of $a < 1 and $b == 2 , would an adverb after that apply to 'and' instead of '==', because 'and' would be the topmost (i.e. loosest) operator in the set? 01:45
TimToady no, adverbs parse tighter than item asssignment 01:48
lue I don't know, "slightly tighter than item assignment" and "applies to the topmost operator" seem like opposing statements, at least by my understanding of "topmost". What doesn't help is that unexplained mention of the comma precedence level.
TimToady probably a fossil 01:49
lue I think I'm starting to see. But then I don't understand how replacing 'and' with '&&' stops applying to ==, since == is still tighter than &&. Or is that thanks to topmost meaning "loosest operator tighter than item assignment" 01:50
Hang on. Using the precedence table at the top of S03, could I start from just above item assignment, and just keep going up the list (wrapping around if necessary), and use the first operator precedence that occurs after either ( or the start of the statement? 01:52
TimToady it's no different from how any other infix at a given precedence is parsed, except there's no right-hand argument, and no infix :) 01:56
lue *rightmost op of the first op. precedence that is found after either in the statement or paren group, going through the levels like that, to be clear
colomon r: say (0x28010, 0x28011, 0x28012).chrs.ords
camelia rakudo-jvm 0bf3de: OUTPUT«55392 56336 55392 56337 55392 56338␤»
..rakudo-parrot 0bf3de: OUTPUT«163856 163857 163858␤»
colomon bad rakudo jvm 01:57
lue TimToady: OK, so is that talk of "topmost op, i.e. last-used" wrong? Because that would seemingly prefer looser over tighter.
TimToady no different from an infix, which pays attention to the loosest thing to the left, but only up to a point 01:58
that's how operator precedence works
lue So I'll just mentally substitute :adverb with something like ö <INVISIBLE RHS> and work through example expression that way :) 01:59
lue will replace the S03/Adverbs section once he's reassured his understanding. It reads like an oooold piece of writing. 02:00
colomon …. seems like .ords could be fixed in jvm? 02:02
lue colomon: yeah it does :) Stupid Java strings... 02:03
lue TimToady: I'll also assume that adverbs don't even try to apply to terms, or alternatively try to apply to them but move on to the next token if they can't. 02:10
Also, N Terms 42 3.14 "eek" qq["foo"] $x :!verbose @$array . That adverb's not supposed to be there, is it? Or are they just that weird?
TimToady that is not an adverb 02:11
adverbs occur only in infix position 02:12
lue Ah, so calling it an adverb in foo(:!verbose) is erroneous then. Only 1 + 2 :adv and q:adv are adverbs then. 02:15
diakopter infix? I thought postfix
lue diakopter: infix position because preceding whitespace is OK. 02:16
(OK for adverbs, I mean)
diakopter oh
btyler anyone else gotten to hello world using rakudo on moar? I noticed that rakudo's Configure.pl has entries for it, but things die in stage0, saying that the moar executable can't find libmoar, so maybe I'm adopting a little too early :) 02:19
doing --backends=moar --gen-moar 02:20
lue Just to clarify, 1 + 2 :adv -> adverb, q:adv// -> adverb, foo(:adv) -> named param, !adverb, and adverbs skip over terms, like 2 in the 1 + 2 :adv case. 02:22
diakopter r: say :1<111>
camelia rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/IyXwfD53Ua␤Radix 1 out of range (allowed: 2..36)␤at /tmp/IyXwfD53Ua:1␤------> say :1<111>⏏<EOL>␤»
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/tWcRroqwW2␤Radix 1 out of range (allowed: 2..36)␤at /tmp/tWcRroqwW2:1␤------> say :1<111>⏏<EOL>␤»
diakopter r-j: say :2<0> 02:23
camelia rakudo-jvm 0bf3de: OUTPUT«0␤»
diakopter why can't there be unary
:1<0> is zero, :1<00> is one, :2<000> is two..
lue diakopter: :1<0> would be one, methinks. 02:24
diakopter but you need a zero..
lue :1<> == 0 :)
benabik I've usually seen Unary spelled 1, 11, 111, 1111, 11111, 111111, 11111111.
lue thinks there's a reason P6 doesn't support unary :P 02:25
diakopter benabik: which is zero
lue benabik: that may be, but math say the first digit of any number system is 0 .
r: say "000".chars # hey look, unary!
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«3␤» 02:26
benabik lue++
[Coke] btyler: I'm currently getting a segfault building nqp-moar.
btyler [Coke]: ah, ok 02:27
[Coke] jnthn++ had it working to the point of hello world in the past few days
diakopter r: my \Fault := Failure; 02:28
camelia rakudo-jvm 0bf3de: OUTPUT«Unhandled exception: Cannot look up attributes in a type object␤ in sink (gen/jvm/CORE.setting)␤ in MAIN (gen/jvm/main.nqp:47)␤ in (gen/jvm/main.nqp:41)␤ in (gen/jvm/main.nqp)␤␤»
..rakudo-parrot 0bf3de: OUTPUT«Cannot look up attributes in a type object␤current instr.: 'sink' pc 442380 (src/gen/p-CORE.setting.pir:183502) (gen/parrot/CORE.setting:12028)␤called from Sub 'MAIN' pc 379 (src/gen/perl6.pir:140) (gen/parrot/main.nqp:46)␤called from Sub '' pc 317…»
[Coke] maybe it's just working on windows, though. Iunno
lue I segfault after a couple State Vars NYI lines, during setting.
nvm, during Test.pm
diakopter well, once the segfaults stop happening, there'll be no segfaults... ;) 02:30
benabik Awh. Fallbacks don't participate in MRO. And here I thought I had a "clever" idea: Any.^add_fallback(-> $, $ {True}, -> $, $ { -> *@, *% {} }) # no more method not found errors. 02:34
colomon hmmm, is there a slick way of running through a list and combining certain neighboring elements? 02:41
oh, hey, better solution anyway. :) 02:42
colomon btw, PDF::Grammar has failed the last two nights in the smoke test. 03:28
colomon huh, second issue in a night where I want to run through a list and combine certain neighboring pairs. 03:47
lue TimToady: would it be right to describe adverbs as skipping tokens it that can't be given an adverb? I ask because some things at Term precedence, like foo(), can take an adverb, while other things at the level, such as "string", can't. 04:22
s:2nd/it//
[Coke] r: say "what" :the 04:25
camelia rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/W1ZbcBSdWS␤You can't adverb that␤at /tmp/W1ZbcBSdWS:1␤------> say "what" :the⏏<EOL>␤ expecting any of:␤ pair value␤»
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/Uip7_P30gD␤You can't adverb that␤at /tmp/Uip7_P30gD:1␤------> say "what" :the⏏<EOL>␤ expecting any of:␤ pair value␤»
lue r: say 1 + 2 :adv 04:27
camelia rakudo-jvm 0bf3de: OUTPUT«Unexpected named parameter 'adv' passed␤ in block at /tmp/GU_DbS5ljS:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤ in any command_…»
..rakudo-parrot 0bf3de: OUTPUT«Unexpected named parameter 'adv' passed␤ in sub infix:<+> at gen/parrot/CORE.setting:3922␤ in block at /tmp/MrOuqE2VGV:1␤ in any at /tmp/MrOuqE2VGV:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.…»
lue r: say 2 :adv
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/jYqk7yxlpT␤You can't adverb that␤at /tmp/jYqk7yxlpT:1␤------> say 2 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/59_1KjgAkh␤You can't adverb that␤at /tmp/59_1KjgAkh:1␤------> say 2 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
lue wonders which term the error triggers on: the 2 or the 'say' 04:28
lue std: 1 && 2 :adv 04:31
camelia std 3b262af: OUTPUT«ok 00:01 123m␤»
lue std: 1 and 2 :adv
camelia std 3b262af: OUTPUT«ok 00:01 123m␤»
lue rn: 1 and 2 :adv
camelia rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/lvwI95zYFl␤You can't adverb that␤at /tmp/lvwI95zYFl:1␤------> 1 and 2 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
..rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/OyCeYOG5O_␤You can't adverb that␤at /tmp/OyCeYOG5O_:1␤------> 1 and 2 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
lue Not being able to apply an adverb to things below the Adverb pseudo-level is a bug, right? Or is it? 04:34
benabik I think that it's syntactically fine, but semantically bad. I think Rakudo adverbs by passing it as a named parameter, and you can't pass things to 2. 04:36
lue I think I'm starting to see how to mentally parse adverbs now though. I'm imagining that operators turn itself and its terms into a weird... thing that can accept adverbs if given. Since 'and' is below the adverb level, it doesn't get a chance to form this object before adverbs happen. 04:38
Grrr. I'm sorely missing a well-written S03/Adverbs. I'm afraid I'll end up having to leave operators out of my Adverbs post, simply because I can't explain it myself :( 04:41
Or perhaps it's a rakudo that's not working exactly right on the subject that's messing me up :/ 04:42
r: 1 == 2 :adv; # case in point 04:43
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/EOqManUWpn␤You can't adverb that␤at /tmp/EOqManUWpn:1␤------> 1 == 2 :adv⏏; # case in point␤ expecting any of:␤ pair value␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/aefBrHPmTx␤You can't adverb that␤at /tmp/aefBrHPmTx:1␤------> 1 == 2 :adv⏏; # case in point␤ expecting any of:␤ pair value␤»
benabik Hm... It throws that error when attempting to attach an adverb to something that isn't a call or callmethod. 04:46
I'm guessing that's a parse error on Rakudo's part, attaching :adv to the 2, where you're expecting it to be on the == 04:47
lue is tempted to say that adverbs should be turned into a proper metaop or something (==:adv ?), because absolutely none of this helps his understanding of how opadvs work. 04:48
benabik Operator adverbs are named parameters to the infix:<> sub, supplied postfix to the operator itself. 04:49
OR at least that's what Rakudo is doing when it parses it correctly.
lue
.oO(You must correctly identify what operator the given adverb attaches to in various complex expressions. All you have to figure this out is an outdated S03/Adverbs and a buggy Rakudo.)
benabik: my issue comes with being able to figure out 1) which operator the adverb applies to in complex expressions (i.e. more than 1 operator), and a related 2) where to put an adverb so that it goes to the right operator. 04:50
benabik lue: Picture parens from the beginning of the expression to just before the adverb. It applies to whatever operator happens last in there. 04:51
That's way too loose an explination.
lue :) 04:52
benabik Works as long as there's no operator with lower precidence.
lue like 'and' ?
benabik Yes. Anything in the list after adverbs. 04:52
I think Adverbs is at the wrong indent level in S03's TOC. 04:53
lue perhaps a little bit :)
benabik It's a precedence level, not the start of a new section. 04:53
lue so C<1 && 2 || 3 :adv> applies to the &&, and C<1 and 2 || 3 :adv> applies to who knows under the () visualization, right? 04:54
benabik Adverbs are a very loose postfix op, which is... odd.
Generally postfix ops bind very tightly.
lue I think I've come to the tentative conclusion that things which modify the behavior of operators should be attached directly to the operator. If only there was an existing mechanism adverbs could utilize... 04:55
.oO(I think when I understand exactly how adverbs work with operators, I'll stop feeling an eagerness to kill it in its current form.)
04:56
benabik Sorting out what :adv attaches to is no different than sorting out what order the && , ||, and and work in.
lue benabik: that's what TimToady said :) . The problem is is that I'd like to play around with this, and a certain compiler has decided to be completely broken in that respect. 04:57
benabik Unfortunitly EXPR is a very difficult rule to poke around in, otherwise I'd try to fix it. :-/
lue And the part of the spec that I would turn to in times like this is outdated and way-too-sparse.
benabik I wonder if it would make more sense to have adverbs parse literally as a postfix operator with loose precedence. 04:58
Oh, whitespace. I see.
lue I vote that they should behave like metaops (metainfix?) . Makes it consistent with other operator-modifiers. Of course, my vote only counts if changing it is desired :) 04:59
benabik I think the only errors in the POD are the reference to "comma" prec and the bad heading level for the section. 05:00
lue Ideally, I'd like to at least be able to do 1 == :adv 2 , but that's apparently TTIAR . To rakudo and std
benabik That would be obnoxious with long adverbs. Would lose sight of what operator is happening before getting to the second argument. 05:01
$x eqv :ok<$x is equivalent to $y+2> $y+2; # yuck 05:02
Also, in most calls you put named arguments after positional. :-)
lue benabik: another (seeming) error: "$a < 1 && $b == 2 :carefully" should still affect ==, as == is tighter than &&, no?
benabik lue: It applies to the thing that is loosest, but not looser than item assignment. 05:03
lue OK. That's a helpful rule. Now I'm concerned for the guy that redefines the 'or' op to be able to inclusive and exclusive or, and expects to be able to use adverbs to switch behavior :) 05:05
benabik Well, you can do it for ||. :-D 05:05
lue but this hypothetical guy moved old 'or' to 'ior'. I'm not sure what to move old '||' to :D 05:06
benabik: that helps me to explain operators for my advent post at least. (The looser part in particular explains why terms don't always take the adverb.) 05:07
But I still contest that S03/Adverbs is poorly written for this. And yes, I've already happily volunteered to rewrite it when I understand adverbs (I will take a successful review of that part of my advent post tomorrow as proof of understanding ☺) 05:08
benabik Well, I didn't say it wasn't poorly written. Just that it had few factual errors. :-D 05:09
lue :)
lue In the case of 1 || 2 and 3 :adv , should the adverb apply to the ||, or throw its hands up in the air because who knows anymore with that looser-than-adverbs op in there? 05:10
benabik ((1 || 2) and (3 :adv))
And then... `3 :adv`? WTF, mate. 05:11
It won't "hop over" looser operators to find an operator to attach to.
lue OK. 1 and 2 || 3 :adv would become (1 and (2 || 3 :adv)), which makes sense. ...right?
benabik Right. 05:12
You can do `1 || 2 :adv and 3`
std: 1 || 2 :adv and 3
camelia std 3b262af: OUTPUT«ok 00:01 123m␤» 05:13
lue I just came up with a module idea: Ofun::ParenAll --- learn operator precedence with this handy code transformer :)
benabik std: 1 || 2 :adv && 3
camelia std 3b262af: OUTPUT«ok 00:01 123m␤»
benabik +1
lue It would transform 1 and 2 || 3 into ((1) and ((2) || (3))) , for example. (perhaps spaces between parens though) 05:14
...wait. That would effectively require a reimplementation of EXPR, wouldn't it? :/ Or at least using it, and thus replicating Perl 6's specific use of EXPR. 05:15
benabik It might be best to try to pretty-print the AST from Perl6::Grammar instead. 05:16
lue Yeah :) . I was thinking of a learn-me("expr") function or something though. 05:18
benabik No reason learn-me couldn't call Perl6::Grammar.parse(:rule<EXPR>) :-) 05:20
lue And I assume 1 || 2 ^^ 3 :adv applies to ^^ (in case of equal level, rightmost op wins?)
benabik Erm.
carlin masak: "So hash entries (a key plus a value) really become more of a thing in Perl 6 than they every were in Perl 5." s/every/ever
benabik Which one wins is based on associativity. 05:21
lue ( ( (1) || (2) ) ^^ (3) :adv ) is how I read that.
lue likes the sound of Ofun::ParenAll more and more :) 05:22
benabik Yes. they're left-associative. So ((1 || 2) ^^ 3) :adv
lue and thus 1 ** 2 ** 3 :adv is ( ( (1) ** ( (2) ** (3) ) ) :adv ) 05:24
benabik Yes.
lue
.oO(AllParen should alternate between inter-paren space and no inter-paren space for max readability, methinks)
05:25
benabik has always preferred spaces around operators, but none around parens.
lue O.o I just realized: if you think of the colon in an adverb as a double bond (chemistry), then adverbs are an infix that's double bonded to the LHS! :D (normal infixes are single bonded: i.e. 1 + 2 is 1 •+• 2) 05:27
benabik heh
lue wonders what something like ⫶?? !! would mean :) 05:30
benabik That you've gone quite mad.
benabik Naively, $x ⫶?? !! would mean if $x is true return $x, otherwise return $x. :-D 05:31
lue (EXPR) ⫶??!! --> ?EXPR ?? EXPR !! !EXPR, obviously :) 05:32
Another module idea, one that I'm not so eager to pursue: Ofun::OpBonds --- Ever wanted to double- or triple-bond operators to arguments? Now you can! 05:33
benabik sub postfix:<:+>($x) { $x * 2 }; sub postfix:<:*>($x) { $x ** 2 } 05:34
lue Ideally •, :, and ⫶ would be metaops :) 05:35
benabik Well, ⫶ is just a special case for ??!!. There is no generic trinary operator category. 05:43
In fact ??!! itself is infix, with an is parsed that has another expression in the middle of it. :-D 05:44
lue imagines a incircumfix category 05:49
*an
benabik I don't think we want to encourage that kind of behavior. :-D 05:55
lue Here's my Day 10 post for review, #perl6: gist.github.com/lue/94a97d2e8eb96e424471 06:03
Good ♘ all o/ 06:04
raiph \o
benabik lue: line 117: $z and $y :adverb # applies to and. No it doesn't. and is looser than item assignment. It applies to the $y, which is probably not what you meant. 06:06
TimToady masak: also => is right associative, as . is in Lisp 06:11
lue benabik: fixed (really gone now) 06:16
(and yes, I do mean &, not &&) 06:17
raiph r-p: sort 1, 4, 3 06:23
camelia ( no output )
raiph r-p: say sort 1, 4, 3
camelia rakudo-parrot 0bf3de: OUTPUT«1 3 4␤»
raiph p5eval: say sort 1, 3, 2 06:24
hoelzro morning #perl6! 09:12
FROGGS hi hoelzro 09:16
sjn good * #perl6 09:17
hoelzro ahoy FROGGS, sjn 09:19
FROGGS o/ 09:20
raiph r-p: my enum Day <<Mon Tues Wed Thur Fri Sat Sun>>; $_ = DateTime.new(now); say sort { Day(.day-of-week - 1) }, 3, 4 10:05
raiph double oops (ww AND i think i killed camelia) 10:06
FROGGS raiph: no, I think I did that in /privmsg a few minutes ago :/ 10:07
moritz evalbot control restart 10:10
moritz nqp-p: say('alive') # first one will be slooow 10:11
camelia nqp-parrot: OUTPUT«alive␤»
moritz or not :-) 10:12
r: say 42
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«42␤»
FROGGS ==> Successfully installed panda 12:30
<HANG>
ummm :/
tadzik yeah
to-json in a loop
slooooow
FROGGS tadzik: ahhh
so I'll wait :o)
tadzik I guess I should make it one to-json, may turn out to be less tragic. May not 12:31
FROGGS it is a modified panda btw, so I might be to blame anyway
tadzik in emmentaller, it used to take a couple of minutes for this ste
FROGGS done! 12:32
took about 5 minutes I think
brb
masak good day, #perl6
tadzik hey hey masak
FROGGS[mobile] hi masak 12:33
FROGGS[mobile] tadzik: I am almost at a point where I can run panda from my S11 - compliant installation 12:35
tadzik awesome
masak carlin: re s/every/ever/ -- thank you; fixed. 12:39
carlin++
FROGGS tadzik: can you give me a commit bit for panda? I'd like to push to a branch today or tomorrow
masak someone seems to have made &gt; out of > and saved my RHSes, fixing TimToady++'s bug. 12:40
FROGGS tadzik: I swear I don't touch master :o)
hoelzro so I've been trying to debug that stupid parser error I found last week, and I'd like to try to change the grammar without having to recompile the setting
FROGGS p: say %*LANG<perl6>
camelia rakudo-parrot 0bf3de: OUTPUT«postcircumfix:<{ }> not defined for type Failure␤ in method gist at gen/parrot/CORE.setting:12020␤ in method gist at gen/parrot/CORE.setting:1014␤ in sub say at gen/parrot/CORE.setting:12920␤ in block at /tmp/JUmURjP17F:1␤ in any at /tmp…»
masak TimToady: dang! shoulda double-checked "left-associative". I did think through it, but clearly that wasn't enough :/
fixed.
hoelzro however, rakudo complains about "missing or wrong version of dependency src/Perl6/Grammar.nqp"; I'm guessing that there's some tracking of the checksum that the setting was built with or something? 12:41
FROGGS hoelzro: correct
hoelzro good, then my instincts are right =)
masak benabik: sorry I failed to mention you in the post. I planned to but forgot :/
hoelzro is there a way I can circumvent that?
masak benabik: I'll add it in a comment.
FROGGS hoelzro: I don't know any 12:42
hoelzro: what do you want to change btw?
hoelzro well, I want to build the setting so that perl6 works, but I want to alter the parser to see if I can find the source of this odd bug 12:43
FROGGS ahh
:/
hoelzro because I think the alterations I want to make will cause the setting to fail to build
masak lizmat: fixed -- changed to 'means the same as :blackberries($blackberries)' -- thanks
FROGGS masak++ # post post fixing 12:44
hoelzro well 12:45
I have a hunch about how list assignment could be messing up the pars 12:46
*parse
so I wanted to fiddle with it a bit
and see if that generated the correct AST for the scalar assignment below
masak FROGGS: I should really be writing slides. I'm on a conf, and I'm on to talk for an hour day after tomorrow... 12:47
FROGGS: haven't been able to conjure up the right level of panic yet.
oh, speaking of which. there's a gap in the schedule on day 13. github.com/perl6/mu/blob/master/mi...3/schedule 12:48
FROGGS PANIC!!!!
masak hey, calm down :P
FROGGS *g*
I can't after four cups of coffee :o)
masak I will be able to cover the 13th if need be -- I can probably write it on Thursday evening. 12:49
tadzik FROGGS: sure :)
masak but I would prefer it (as usual) if someone else jumped in.
FROGGS masak: I'd like to read something from TimToady++
tadzik done 12:50
masak FROGGS: still hoping TimToady++ decides to nab slot 24. :)
FROGGS masak: that would be nice of course 12:51
masak he did in 2010.
FROGGS looks 12:52
masak he wrote about trolling :P 12:53
FROGGS tadzik: thank you! 13:02
V_S_C I'm trying Rakudo * on Windows 14:05
It says no ICU lib loaded 14:06
V_S_C I've copied the ICU bin directory to the PERL6 bin directory already 14:07
FROGGS V_S_C: it is not that easy sadly
FROGGS you would need to recompile parrot to get icu support 14:08
V_S_C thats alright
ohh
FROGGS yeah, it does some magic to detect that when configuring it
V_S_C & I was thinking there might be version dependency..
FROGGS without it being found at that point, there is no chance to get the support for it later 14:08
V_S_C @FROGGS That's documented en.wikibooks.org/wiki/Parrot_Virtua...ing_Parrot 14:19
Anything specific in the command line that I should remember? 14:20
FROGGS V_S_C: you'd need a icu-config.bat to actually use this: 14:21
--icu-config Specify a location for the Unicode ICU library on your system.
FROGGS dunno if you get libicu for windows that has such a config program 14:22
V_S_C thats alrite 14:24
I used HTTP::Easy::PSGI 14:25
V_S_C Occassionally, I get recv failed: An existing connection was forcibly closed by the remote host. 14:28
Any suggestion?
FROGGS no idea 14:29
V_S_C k, thnx
FROGGS last time I did something with IO::Socket::INET was like twelve months ago :/ 14:29
V_S_C The problems not with PERL 14:30
From inspecting it all I understood is
rarely the user's browser/system crashes or loses connectivity.. 14:31
The improvement I need to make in the script
FROGGS maybe use wireshark to hunt it down?
V_S_C is to bind new server socket 14:32
Right now, I manually restart..
I'll find the solution 14:33
FROGGS I hope so :o)
V_S_C I just asked as sometimes others have already solved..
FROGGS yeah
FROGGS and it is always good that we know what is going on 14:34
V_S_C :) 14:35
bbkr r: my $foo = 13; say :$foo 14:45
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«␤» 14:46
bbkr r: my $foo = 13; say (:$foo) 14:46
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«"foo" => 13␤»
bbkr should those two lines above return the same result (pair)? 14:47
FROGGS I would expect that, yes 14:49
bbkr reports bug
FROGGS bbkr++ 14:50
timotimo but that's just the result of say not taking slurpy named arguments 15:02
should it?
FROGGS ohh
FROGGS p: my $bar = 42; sub foo(*@a) { say @a }; foo :$bar # it should complain then, no? 15:03
camelia rakudo-parrot 0bf3de: OUTPUT«Unexpected named parameter 'bar' passed␤ in sub foo at /tmp/_x8bbPJSlN:1␤ in block at /tmp/_x8bbPJSlN:1␤ in any at /tmp/_x8bbPJSlN:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in a…»
FROGGS it takes slurpy named args (silently)
timotimo that's because of the ... thingie 15:05
API compatibility ... mumble mumble
that makes every sub take a named slurpy if it doesn't provide one
p: say &say.signature
camelia rakudo-parrot 0bf3de: OUTPUT«:()␤»
timotimo p: say &say
camelia rakudo-parrot 0bf3de: OUTPUT«sub say() { ... }␤»
timotimo er ... ok?
timotimo ah, yes, say takes (|) 15:06
FROGGS I thought only methods swallow named slurpies
timotimo yeah, that must be right 15:06
look at the implementation of say; it takes a capture and iterates over the positionals only
colomon Error while constructing error object:Could not locate compile-time value for symbol Syntax::Missing 15:24
Error while compiling, type X::Syntax::Missing
FROGGS colomon: you did something wrong in the setting? 15:25
colomon well, I'm hacking in the setting.
I haven't found anything obvious I did wrong yet
FROGGS underneath these massages should be the attributes that would show up in the proper exception
messages* 15:26
colomon ack, let a C++ comment slip into my p6 code 15:27
timotimo idly stares at the EXPR code to figure out if it's easy or not to fix 10 < * < 20 code-gen 15:39
colomon errr… what's numeric bitwise or in p6? 15:46
oh!
never mind
C++ translation problems again
pmichaud good morning, #perl6 15:47
FROGGS hi pmichaud!
timotimo hello :)
FROGGS pmichaud: you take #20? *cough* github.com/perl6/mu/blob/master/mi...3/schedule 15:48
:P
pmichaud Dec 20th is going to be a really busy day for me :)
FROGGS :o)
pmichaud plus I'm not sure what I'd write about -- I'm really rusty at the moment
FROGGS I was not that serious :o) 15:49
pmichaud Anyone know the magic needed to log into RT? I don't seem to be able to do it.
FROGGS my bitcard account works
timotimo you're not supposed to write the 20th blogpost *on* the 20th :P
pmichaud timotimo: I'm not supposed to write my presentations on the day I give them, either... but that hasn't stopped me from doing it. :P
colomon pmichaud++ 15:50
FROGGS "Service Temporarily Unavailable"
I lied
timotimo :)
pmichaud I'll just note #120735 here
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120735
pmichaud my $foo = 13; say :$foo # won't output anything
because :$foo is a named argument to say()
FROGGS yeah, timotimo++ figured that 15:51
the question is: should say() just swallow it?
pmichaud I was going to get onto RT to reject the ticket, but I can't get past bitcard
FROGGS hmm, now I can log in 15:52
I clicked on "login as another user" in the ticket, and the on the bitcard thingy
pmichaud I got in now... I guess bitcard was having technical difficulties. 15:54
Okay, I posted my reply.
raydiak broken webapps make the world go 'round :P 15:55
FROGGS pmichaud++
colomon The correct ifdef for jvm is #?if jvm right? 15:56
FROGGS yesrakudo/src/core/Array.pm:16:#?if jvm 15:58
so, yes
colomon is there a #?else
or did I just make that up?
FROGGS do: #?if !jvm 15:59
timotimo what cool thing are you developing, colomon? :)
colomon timotimo: I'm trying to fix .ords on JVM
the quick, hacky way, rather than redoing all the code to be properly utf-16 16:00
timotimo that sounds helpful :) 16:01
colomon well, it would help me. :)
colomon my STEP code is much faster on JVM, but I've got failing tests because .ords doesn't work right. 16:02
colomon arrrrrrrgh! 16:06
dalek ast: baa6ed0 | (Timo Paulssen)++ | S02-types/whatever.t:
unskip a whatever+postcircumfix-method related test
16:08
timotimo EXPR is kind of nontrivial ... 16:19
FROGGS yay!! I can haz panda-p, panda-j, ... 16:23
FROGGS and this panda-p can be invoked like: 16:28
panda-p --auth=tadzik --ver=* install JSON::Pretty 16:29
--auth/name/ver is not passed to the real panda script, but handled by the panda-p wrapper
FROGGS and this wrapper lists all installed panda scripts if the auth/name/ver triple does not match any 16:30
timotimo \o/ 16:31
FROGGS I like it :o)
moritz advanced wrapper programming! 16:32
FROGGS Yet Another Layer Of Indirection! 16:33
(tm)
moritz at $work we have a very fun setup 16:35
it's a web application which allows you to create virtual machines
diakopter I'll see your N+1 layers of indirection and raise you an Abstraction abstraction
moritz it's a django web app, running as WSGI
and since forking and then killing the process isn't a good idea in that setup, it launches an external program via the 'at' daemon 16:36
FROGGS hehe
moritz that program is a shell script, which invokes ssh to another host
there a ~/.ssh/authorized_keys hook is called, which is another shell script
which calls a perl script, which uses some libraries to talk to a vmware SOAP API 16:37
FROGGS hehe 16:37
moritz which in turn instructs one of the hypervisors to actually create the stupid VM
FROGGS that sounds like fun :o)
FROGGS ohh, my wife is joining... need to hide /o\ 16:37
moritz today's mini challenge: count the number of wrappers in the setup above 16:38
benabik moritz: O(n+m) where n is the maximum sane number of wrappers and m is a positive integer. 16:39
diakopter moritz: sorry, 256-bit overflow when counting
moritz benabik, diakopter: :-) 16:40
timotimo questhub.io/realm/perl/quest/52a5f3...5a02000055 - feel free to give advice or just cheer me on from the sidelines 16:45
benabik timotimo: rah, rah, rah 16:46
timotimo ooooh 16:48
a perl6 port of Sereal might be a fun project
benabik Sounds surreal. 16:49
timotimo that could be the project's name :P
sjohnson Sounds sorear. 16:51
timotimo turning the associativity of %chaining to right instead of left makes the whatever code generation work properly, so i *think* i know what line i have to look at more carefully
(it does seem to break a whole lot of other spectests, though) 16:52
timotimo oh yikes 17:16
timotimo having multiple operators in a row curried into WhateverCode turns into a cascade of calls to older WhateverCode objects 17:17
that can't be efficient
moritz it's not :-)
if you can flatten that out, that would be awesome
timotimo i'll have to look at that later 17:18
in theory i could annotate the WhateverCode WVal node with the original QAST using the hash interface 17:19
but *maybe* it's possible to re-use the existing inlining magic
timotimo quest created 17:24
FROGGS lol 17:29
github.com/barbie/Acme-CPANAuthors...A.json#L44
the META.json has a "provides" section too, exactly like my S11 proposal :P 17:30
(and it almost has an identical structure)
timotimo moritz: it turns out the performance difference isn't that big, at least in a very naive benchmark i just ran 17:32
timotimo the optimizer already "inlines" the inner blocks, but it does bindsig and friends each time 17:33
questhub.io/realm/perl/quest/52a5fc...b87a000056 17:37
i'm so used to reading the advent calendar post for the next day the evening before that i'm missing my daily advent calendar fix now :( 17:44
timotimo huh, the bug in the whatever currying of chains is different from what i thought it was o_O 17:53
ooooh, duh! 17:55
i'm silly
nebuchadnezzar receives a SIGBEER: exit 18:00
timotimo has a prototype and disappears to a social gathering type of thing 18:18
lizmat has finally arrive home, really 18:19
*arrived
timotimo the "can this be whatever-curried?" check is called pretty often. i wonder if it's worth looking at making it fail quicker in the common case 18:21
ashleydev W
dalek kudo-star-daily: c37f216 | coke++ | log/ (5 files):
today (automated commit)
18:45
timotimo now that I'm out of the house i notice the somewhat obvious mistake my prototype has... 18:47
oh well
FROGGS that is life :o)
FROGGS .oO( toilet++) 18:47
timotimo I'll see if using my laptop at the social gathering will be acceptable 18:48
timotimo i think i kind of figured out what my code is supposed to look like now. 18:51
lue hello world o/ 19:10
lue re-pastes the link to his advent post draft: gist.github.com/lue/94a97d2e8eb96e424471 19:13
TimToady is in the middle of reading the old link; has it changed? 19:14
well, it's the same link, but I'd still like to know if it changed :)
BenGoldberg r: print :th(4) 19:15
camelia ( no output )
BenGoldberg r: print 1..10 :th(4) 19:15
TimToady needs parens 19:16
camelia rakudo-jvm 0bf3de: OUTPUT«Unexpected named parameter 'th' passed␤ in block at /tmp/v4Rq0wMbwj:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤ in any command_e…»
..rakudo-parrot 0bf3de: OUTPUT«Unexpected named parameter 'th' passed␤ in sub infix:<..> at gen/parrot/CORE.setting:7084␤ in block at /tmp/VEp5DVulUz:1␤ in any at /tmp/VEp5DVulUz:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.…»
BenGoldberg r: print (1..10) :th(4)
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/9A0DU207dT␤You can't adverb that␤at /tmp/9A0DU207dT:1␤------> print (1..10) :th(4)⏏<EOL>␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/uaUC8DIVF3␤You can't adverb that␤at /tmp/uaUC8DIVF3:1␤------> print (1..10) :th(4)⏏<EOL>␤»
TimToady r: print (:4th)
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/zrfSlM4Wms␤Malformed radix number␤at /tmp/zrfSlM4Wms:1␤------> print (:4⏏th)␤ expecting any of:␤ number in radix notation␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/5gJs7Q52MB␤Malformed radix number␤at /tmp/5gJs7Q52MB:1␤------> print (:4⏏th)␤ expecting any of:␤ number in radix notation␤»
BenGoldberg r: print (:th(4))
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«th 4»
TimToady n: print (:4th)
camelia niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤» 19:17
TimToady heh
pugs: print (:4th)
camelia pugs: OUTPUT«4th 1»
TimToady er, no
n: print (:4th) 19:18
BenGoldberg n: say 'alive'
camelia niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
niecza v24-108-g17d73e4: OUTPUT«Rebuild in progress␤»
FROGGS niecza is borken for days
timotimo aaw :(
i was considering telling TimK1 to try his code on niecza 19:19
TimToady anyhoo, :4th should be equivalent to :th(4), and it looks like it isn' tin rakudo
moritz it's only for regex adverbs
TimToady probably an LTM failure
it shouldn't do radix unless it's followed by a < or [ 19:20
it should be treating :4th as a complete token in <colonpair> 19:25
it should try for radix only if there's no identifier after the 4
looks like the colonpair is simply missing the alternative to parse :4th 19:27
moritz r: say 'abcdef' ~~ m:4th/./ 19:28
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«「d」␤␤»
TimToady obviously it's special-cased rather than being generalized
lue TimToady: I only repasted in case people missed it the first time :) 19:29
moritz ah, that's quotepair, not colonpair, parsing it
r: say 'abcdef' ~~ m:4x/./
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«False␤»
moritz r: say 'abcdef' ~~ m:1i/A/ 19:29
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«「a」␤␤»
TimToady it is a restricted case, since we allow only () for brackets in patterns
std: :4th; # but this has been here for ages 19:30
camelia std 3b262af: OUTPUT«ok 00:01 120m␤»
lue r: my $a = "ABA"; say $a ~~ s:2st/A/C/; 19:31
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«True␤»
lue r: my $a = "ABA"; $a ~~ s:2st/A/C/ say $a;
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/RbA9HdB3k6␤Two terms in a row␤at /tmp/RbA9HdB3k6:1␤------> my $a = "ABA"; $a ~~ s:2st/A/C/ ⏏say $a;␤ expecting any of:␤ postfix␤ infix stopper␤ …»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/pUYW48d5t2␤Two terms in a row␤at /tmp/pUYW48d5t2:1␤------> my $a = "ABA"; $a ~~ s:2st/A/C/ ⏏say $a;␤ expecting any of:␤ postfix␤ infix stopper␤ …»
lue r: my $a = "ABA"; $a ~~ s:2st/A/C/; say $a;
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«ABC␤»
TimToady !($foo.bar() :adv) # applies to bar() <-- I'd say, applies to .bar() 19:36
since it's a postfix really
std: 1 || 2 ^^ 3 19:37
camelia std 3b262af: OUTPUT«===SORRY!===␤"||" and "^^" are non-associative and require parens at /tmp/ZMLnNQlvzV line 1:␤------> 1 || 2 ^^ ⏏3␤Check failed␤FAILED 00:01 122m␤»
TimToady r: 1 || 2 ^^ 3
camelia ( no output )
TimToady that's a bug
so you shouldn't use it for an example 19:38
lue should read the precedence table more closely it seems
TimToady you probably just want something left associative there
TimToady since ** is illustrating the right associative 19:38
TimToady or use a list associative with the same operator 19:39
std: 1 || 2 || 3
camelia std 3b262af: OUTPUT«ok 00:01 122m␤»
TimToady though I'm not sure we have nailed down the semantics of that 19:40
since it's really a variadic function, infix:<||>(*@args, :adverb)
so it should probably be taken as applying on the list level, not the final op
lue TimToady: fixed the issues in that block of examples. 19:41
TimToady 1 || 2 and 3 :adv # error, tries to apply to 'and' <-- doesn't try to apply to the 'and' really, tries to apply to 3 19:43
and we don't catch application of adverbs to terms right now 19:44
std: 4 :foo
camelia std 3b262af: OUTPUT«ok 00:01 122m␤»
TimToady even std doesn't check that yet
benabik Rakudo somewhat does. 19:45
r: 3 :adv
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/Vnlwy5uDDz␤You can't adverb that␤at /tmp/Vnlwy5uDDz:1␤------> 3 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/3tKROfp16h␤You can't adverb that␤at /tmp/3tKROfp16h:1␤------> 3 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
TimToady r: 1 || 2 and 3 :adv 19:46
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/2rZbzJFJk7␤You can't adverb that␤at /tmp/2rZbzJFJk7:1␤------> 1 || 2 and 3 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/wzYY8wlZ8x␤You can't adverb that␤at /tmp/wzYY8wlZ8x:1␤------> 1 || 2 and 3 :adv⏏<EOL>␤ expecting any of:␤ pair value␤»
TimToady that's LTA unless it says what "that" is
benabik Well, yes. 19:47
TimToady and it should say '3', not 'and' :) 19:48
lue got it, let me know if the new comment is sufficiently descriptive. 19:52
TimToady :!s doesn't interpolate scalars, and you have it as sigils
lue whoops, I had a feeling I'd mess that up once while writing that part :) 19:54
TimToady you might explain that we restrict :nth(5) to parens because we want to be able to use any other brackets as the choose-your-own quotes 19:55
s/named functions/named arguments/ 19:56
and I'd ss/create some named adverbs/declare some named parameters/ 19:57
lue Alright, got those things. 20:00
PerlJam :th(4) really is :nth(4), right? (missing the "n") 20:01
lue r: say q:c(4) # whoops, rakudo 20:01
PerlJam: :nth(4) is the long way of saying :4nth :)
camelia rakudo-jvm 0bf3de: OUTPUT«(timeout)»
..rakudo-parrot 0bf3de: OUTPUT«␤»
TimToady Bool already works in MAIN to require a boolean value
moritz PerlJam: :4th is really th => 4
lue Rakudo should not let me not have delimiters right? Unless std is mistaken there :) 20:02
PerlJam oh, I see. I wasn't paying close enough attention
TimToady std: say q:c(4) 20:04
camelia std 3b262af: OUTPUT«===SORRY!===␤No delimiter found at /tmp/fdPB8BVDEL line 1 (EOF):␤------> say q:c(4)⏏<EOL>␤Parse failed␤FAILED 00:01 124m␤»
TimToady yes, STD has that right
lue r: say qq 20:05
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/c_1dsFEPOT␤Undeclared routine:␤ qq used at line 1␤␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/7ikldLJRyr␤Undeclared routine:␤ qq used at line 1␤␤»
TimToady std: say q:c(4) # comment
camelia std 3b262af: OUTPUT«===SORRY!===␤No delimiter found at /tmp/jqZ9Sf_iy9 line 1 (EOF):␤------> say q:c(4) # comment⏏<EOL>␤Parse failed␤FAILED 00:01 124m␤»
lue r: say qq:c
TimToady std: say q:c(4) # comment #
camelia rakudo-jvm 0bf3de: OUTPUT«(timeout)»
..rakudo-parrot 0bf3de: OUTPUT«␤»
std 3b262af: OUTPUT«===SORRY!===␤No delimiter found at /tmp/7pSFU45kXy line 1 (EOF):␤------> say q:c(4) # comment #⏏<EOL>␤Parse failed␤FAILED 00:01 124m␤»
TimToady # not allowed as delims anyway 20:06
PerlJam lue++ I like it, but the ending seemed weird. The paragraph that talks about MAIN seemed to forget that it was in an article about adverbs. Any why mention multi subs in the last paragraph? 20:08
lue PerlJam: I'm terrible at conclusions :) 20:09
PerlJam notes not to make inferences around lue ;) 20:11
lue Why not? 20:11
PerlJam Now I can't tell if that's deadpan or an honest question. :) 20:12
lue If you're referencing the cookies, then it's all joke :)
lue PerlJam: replaced the conclusion 20:21
PerlJam lue++ "joyously"! 20:22
lue If there are no outstanding issues left, I'll start wordpress-ifying 20:24
TimToady looks good to me 20:25
japhb jnthn: Is my floating point <-> unsigned integer reinterpretation opcode request still on your radar for soonish? If not, I'll probably port blog.factual.com/the-flotsam-projec...javascript , which in pure Perl 6 will be ... not insanely fast anymore. :-) 20:29
It's sad that this is even necessary in so many languages, as it is literally 2 assembly language ops, but so damned few languages have true union (overlaid memory) support, even the ones that call themselves system programming languages. 20:39
lue The advent's wordpress theme really needs to be one that can handle 80-char lines of monospace :/ 20:43
lue Here's the wordpress preview, for you to check: perl6advent.wordpress.com/?p=1987&a...eview=true 20:56
lue hopes he didn't miss an occurrence or two of the gag
moritz lue: IMHO it's worth noting that :4th actually doesn't work in rakudo, because usually all advent calendar code runs on current rakudo 20:58
same for the "stacked" adverbs
or maybe leave 'em out
FROGGS phew, here the preview of my post: perl6advent.wordpress.com/?p=1981&a...eview=true 20:59
moritz lue++ # advent post 20:59
lue moritz: I prefer talking about the hypothetical Perfect Implementation. But I'll add those disclaimers in.
lue r: foo(:$a, :$b) { say "OK $a $b" }; foo(:a :b); foo() :a :b; 21:01
camelia rakudo-jvm 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/ALqjSkgih5␤Variable '$a' is not declared␤at /tmp/ALqjSkgih5:1␤------> foo(:$a⏏, :$b) { say "OK $a $b" }; foo(:a :b); f␤»
..rakudo-parrot 0bf3de: OUTPUT«===SORRY!=== Error while compiling /tmp/qxhvCL_Hdr␤Variable '$a' is not declared␤at /tmp/qxhvCL_Hdr:1␤------> foo(:$a⏏, :$b) { say "OK $a $b" }; foo(:a :b); f␤»
[Coke] "alternately"
lue r: sub foo(:$a, :$b) { say "OK $a $b" }; foo(:a :b); foo() :a :b;
camelia rakudo-parrot 0bf3de: OUTPUT«use of uninitialized value of type Any in string context in sub foo at /tmp/TApyABb8hh:1␤␤OK True ␤OK True True␤»
..rakudo-jvm 0bf3de: OUTPUT«use of uninitialized value of type Any in string context␤OK True ␤OK True True␤»
moritz lue: well, Perl 6 long had a reputation as vapourware. Talking about the hypothetical perfect implementation is part of the reason.
lue moritz: Understood. I just don't want to lose descriptiveness on a feature just because "it doesn't work yet". I prefer the disclaimers over leaving it out. 21:02
moritz and the best counter is 1) showing working code 2) build cool stuff in Perl 6
[Coke] day 11: dristributions 21:04
dalek kudo/eleven: 90d26ea | (Tobias Leich)++ | / (7 files):
add an early form of the CompUnitRepo implementation

This is something to play with, and I expect that about 80% of this will land in nom. JVM backend and windows support deserves more love than it got.
21:05
[Coke] day 11: is grafics britlish?
also: crap. if 9, 10, and 11 are already done, that means I'm late. 21:06
FROGGS wut?
[Coke] I'm used to "graphics"
FROGGS k
will fix
[Coke] but I'z American.
lue will feel silly if he forgot emphasize an adverb in the post, but aside from that... 21:07
...post scheduled!
[Coke] lue: 16:01 < [Coke]> "alternately" 21:08
lue I noticed that, but didn't understand what that meant.
[Coke] it's an adverb. in your post. 21:09
lue ah, I see it now. Wow, that wasn't even a non-ly adverb, geez! :) [note that the quoted "oddly" a couple paragraphs down is purposely not emph'd, because I'm not really using it in an adverbly way.] 21:10
hoelzro how does CORE.setting go about detecting that src/Perl6/Grammar.nqp is out of date? 21:16
I'm going to try and see if I can fool it.
dalek nda/eleven: 1abeae8 | (Tobias Leich)++ | META.info:
added "provides" section
nda/eleven: be39969 | (Tobias Leich)++ | bootstrap.pl:
local lib dir must be in order after installed lib dir

To be compliant with older rakudo's I think we need both ways.
nda/eleven: 7a7f55f | (Tobias Leich)++ | projects.json.bootstrap:
added "provides" section
nda/eleven: b4fbf94 | (Tobias Leich)++ | lib/Panda (2 files):
use the CompUnitRepo.install method if available
lue FROGGS: "(One glitch might be the too less windows testing from my side.)" --> I don't think you're using the right "too" there. 21:17
FROGGS hoelzro: IIRC it stores timestamps or so in the pir, you should see it in CORE.setting.pir 21:18
hoelzro I don't think it's timestamp-based; I'm pretty sure I tried a touch on the file and it still worked
hoelzro tries
FROGGS lue: I guess I can just strip that "too", right?
hoelzro but thanks for the input, FROGGS =)
FROGGS hoelzro: can be a sha1 too 21:19
hoelzro that would be my guess
lue FROGGS: I'm parsing that as (One glitch might be two, without windows testing from my side.) so you know.
FROGGS it should read as "One glitch might be not enough windows testing from my side." 21:20
lue Ah, makes sense. So (One glitch might be just less windows testing from my side.) 21:21
FROGGS lue:++ # thanks 21:22
lue Couple more things: Perhaps title the post "Using Modules", since it's not just about versioning 21:24
FROGGS hmmm, I need to install/create this libraries.cfg in the rakudo/eleven branch... I might do that tomorrow
lue: but it is like about
hmmm
lue If you have your reasons for the title, by all means keep it :) 21:25
FROGGS I'll muse about it :o) 21:26
lue The last thing: if the eleven branches are the focus of the post (which it seems they are), then introducing the branches earlier (just before the "First Crux" header or nearby) might help give some context to the subjunctive things coming up.
(If they're not the focus, ignore that :D)
FROGGS++ for the post, I should say by now :)
FROGGS they are if somebody wants to try stuff... (at least as long as these branches exist) 21:27
thanks :o)
lue gerne.
FROGGS hehe
lue
.oO("You're welcome" is way too wordy, esp. when someone says "Thanks" instead of "Thank you")
21:28
lizmat lue++ for a chewy blogpost
FROGGS "yw" would work 21:29
lue :)
lizmat makes me wonder whether I should elaborate on adverbs on hash/array slices in a separate blogpost
lue FROGGS: only in counterpart to "ty". English hasn't a short form of "You're welcome" :/ . I can't even think of _how_ to shorten it, except borrow "gerne" from our ancestral language :) 21:30
lue lizmat: specific areas of adverb usage in Perl 6 are worthwhile methinks. Explaining slice adverbs would focus on the power of slicing more than the adverbs anyhow :) 21:31
lizmat indeed 21:32
hoelzro I should know better than to question FROGGS 21:34
FROGGS: you were totally right; it was a timestamp
which makes my life easier, I think!
dalek : 0cb92bd | (Elizabeth Mattijsen)++ | misc/perl6advent-2013/schedule:
Claim Day 13 - Slicing with adverbs, the only way!
FROGGS *g* 21:35
lue I think the TOC needs to make noticeable now the adverbial chain of posts :) 21:37
hoelzro :topic<Welcome to Perl 6!> 21:39
FROGGS hoelzro: the problem is that the subs in a pir file get timestamps in their id too, and if another cu refers to that sub, it refers to it by id
hoelzro (actually, I don't think that does what I think =/)
grrrr
FROGGS ... which would horribly explode then when a dependency get recompiled 21:40
hoelzro yeah
hmm
what if
FROGGS that is what I remember from jnthn++ when he talked about bounded serialization
hoelzro after I edit the file
I touch the file with the old timestamp, *then* compile
the subs should remain the same, yes?
FROGGS I dunno
hoelzro hehe
time for some fun >:) 21:41
lizmat the perl6advent TOC needs to be manually updated: I've just added Carl's day 9 21:42
FROGGS: I will read your post more thoroughly tomorrow 21:44
FROGGS lizmat: cool :o)
FROGGS "the only way!" lol 21:49
lizmat++
lizmat well, since .exists and .delete are now deprecated :-)
jercos Do signatures have any options for duck typing on objects beyond breaking out a pair-list into named parameters? I don't have a use case, but say you wanted to functionally replicate having a Rational parameter, and accept any object at all, so long as it has .numerator and .denominator, is that supported, desired, reviled, reason to be cast down into the pit of pythonites, etc.? 21:55
jnthn where .can(all(<numerator dominator>)) # as a constraint type 21:59
jercos Oh, heh, that makes sense.
FROGGS hi jnthn
jercos Thanks :) 22:00
dalek : 51f9bcd | (Tobias Leich)++ | misc/perl6advent-2013/schedule:
fixed title, lue++
jnthn o/ FROGGS 22:02
vilnius++ is a nice place to be for a conference :)
hoelzro hmm
I can't figure out how to convince CORE.setting that Grammar/Actions are fine. 22:03
lizmat r: my %a; for %a{*}:kv -> $k, $v { } 22:18
dalek kudo/eleven: ddd3ab4 | (Tobias Leich)++ | src/core/core_epilogue.pm:
create libraries.cfg if missing
camelia rakudo-jvm 0bf3de: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at gen/jvm/CORE.setting:7291␤ in block at gen/jvm/CORE.setting:7127␤ in method gimme at gen/jvm/CORE.setting:7545␤ in block at /tmp/gwFDkj2XZ0:1␤ in any eval at gen/jv…»
..rakudo-parrot 0bf3de: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/Bm_BlTWiyZ:1␤ in any at /tmp/Bm_BlTWiyZ:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in any evalfiles a…»
lizmat r: my @a; for @a[*]:kv -> $k, $v { } 22:19
camelia rakudo-jvm 0bf3de: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at gen/jvm/CORE.setting:7291␤ in block at gen/jvm/CORE.setting:7127␤ in method gimme at gen/jvm/CORE.setting:7545␤ in block at /tmp/QM8ur99QOO:1␤ in any eval at gen/jv…»
..rakudo-parrot 0bf3de: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block at /tmp/zj2EDMiYai:1␤ in any at /tmp/zj2EDMiYai:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.nqp:1133␤ in any evalfiles a…»
lizmat submits rakudobug
jnthn japhb: I've recently been quite overloaded with stuff. I'd like to sort that out for you; please don't hesitate to remind me, especially in Jan when I'll have more time again :) 22:23
lizmat #120739 for those interested, I will look at this tomorrow 22:26
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=120739
FROGGS and I will finally dig deep into v5 again the next days 22:27
lizmat FROGGS++ we need options! :-) 22:28
lizmat gnight #perl6! 22:33
FROGGS gnight lizmat
jnthn sleep & 23:13