»ö« 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.
00:01 ikrs left 00:12 balders_dod_ joined 00:13 balders_dod_ left 00:14 balders_dod joined
colomon \o/ 00:15
00:16 ikrs joined 00:21 Mouq joined 00:26 sivoais left
[Coke] colomon: ? 00:27
colomon rakudo-moar added in.
you must think it's getting close enough to consider....
00:27 SevenWolf left
[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.
00:41 jnap joined 00:42 kivutar left 00:45 jnap left 00:47 dayangkun joined, wsri left 00:50 wsri joined 00:53 btyler joined 01:03 zakharyas left, Ben_Goldberg joined 01:04 BenGoldberg left 01:33 SevenWolf joined
TimToady masak: your first two examples are missing the RHS of a => 01:33
01:35 jnap joined 01:39 dayangkun left
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
01:44 rurban1 left
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
01:49 sivoais joined
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
01:55 MikeFair left 01:56 MikeFair joined
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
02:04 thou joined
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
02:29 thou left 02:30 thou joined
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
02:45 rurban1 joined 02:49 rurban1 left 02:58 jnap left 03:03 grep0r left 03:16 grep0r joined 03:27 rewm left
colomon btw, PDF::Grammar has failed the last two nights in the smoke test. 03:28
03:29 jnap joined, grep0r left 03:32 grep0r joined 03:34 jnap left 03:44 rurban1 joined
colomon huh, second issue in a night where I want to run through a list and combine certain neighboring pairs. 03:47
03:49 rurban1 left 03:50 raiph left 03:51 raiph joined 03:53 rurban1 joined 04:05 ssutch joined 04:18 preflex left 04:19 preflex_ joined, ChanServ sets mode: +v preflex_, preflex_ is now known as preflex
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//
04:24 rewm joined
[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
04:29 rewm left 04:30 jnap joined
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]␤»
04:34 jnap left
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' ?
04:52 sizz_ joined
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 :)
04:53 sizz left
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
05:00 rewm joined
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
05:05 rewm left
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 :)
05:10 Mouq left
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
05:17 carlin joined
lue Yeah :) . I was thinking of a learn-me("expr") function or something though. 05:18
05:18 btyler left
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.
05:24 [Sno] left
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.
05:30 carlin left 05:31 jnap joined
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
05:35 jnap left
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
05:48 thou left
lue imagines a incircumfix category 05:49
*an
05:51 kaleem joined
benabik I don't think we want to encourage that kind of behavior. :-D 05:55
06:00 rurban1 left 06:02 SamuraiJack_ joined
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
06:14 Ben_Goldberg left
lue benabik: fixed (really gone now) 06:16
(and yes, I do mean &, not &&) 06:17
06:19 darutoko joined
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
06:31 [Sno] joined, jnap joined 06:34 kaleem left 06:36 jnap left 07:02 rewm joined 07:07 rewm left 07:18 dmol joined 07:26 rurban left 07:29 rurban joined 07:32 jnap joined 07:36 jnap left 07:38 Piers_ joined 07:46 fhelmberger joined 07:47 fhelmberger left 07:48 fhelmberger joined 07:52 lizmat left, fhelmberger left 08:00 rewm joined, Piers_ left 08:05 rewm left, lizmat joined 08:22 rindolf joined, kaleem joined 08:23 FROGGS joined 08:30 rewm joined 08:33 Piers_ joined, jnap joined 08:35 rewm left 08:36 sqirrel joined 08:37 jnap left 08:42 fhelmberger joined 08:49 rindolf left 08:51 lizmat left 08:54 SevenWolf left 09:06 rewm joined
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
09:23 denis_boyun joined, ikrs left 09:34 jnap joined 09:38 jnap left 09:39 dakkar joined 09:59 robinsmidsrod left, tgt joined 10:00 tgt left, robinsmidsrod joined
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
10:06 camelia left
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
10:08 dayangkun joined
moritz evalbot control restart 10:10
10:10 camelia joined, raydiak left 10:11 ChanServ sets mode: +v camelia
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␤»
10:13 sqirrel left 10:20 dayangkun left 10:21 raydiak joined 10:28 tgt joined 10:31 ssutch left 10:34 jnap joined 10:37 sqirrel joined 10:38 sqirrel_ joined 10:39 sqirrel left, jnap left 10:40 rindolf joined, sqirrel joined 10:43 sqirrel_ left 10:50 sftp left 10:52 sftp joined 10:54 tgt left 11:09 denis_boyun left 11:11 denis_boyun joined 11:13 dmol left 11:17 rewm left 11:26 rindolf left 11:32 rewm joined, rewm left 11:33 sqirrel left 11:36 SamuraiJack_ left 11:39 denis_boyun left 12:06 DrEeevil left 12:07 bonsaikitten joined 12:08 dmol joined 12:09 kaare_ joined 12:10 bonsaikitten left 12:12 bonsaikitten joined 12:27 telex left 12:28 telex joined
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
12:33 timotimo left
FROGGS[mobile] tadzik: I am almost at a point where I can run panda from my S11 - compliant installation 12:35
tadzik awesome
12:36 jnap joined
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.
12:41 jnap left
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++
12:49 sqirrel joined
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
12:59 atroxaper joined
FROGGS tadzik: thank you! 13:02
13:03 timotimo joined 13:19 benabik left 13:21 ggoebel113 joined 13:22 dayangkun joined, dayangkun left 13:23 FOAD_ joined, ggoebel112 left, FOAD left, FOAD_ is now known as FOAD 13:34 denis_boyun joined 13:37 jnap joined 13:39 PZt left 13:41 jnap left, fhelmberger_ joined 13:44 fhelmberger left 13:49 dayangkun joined 13:50 dayangkun left 13:52 dayangkun joined, dayangkun left, hummeleB1 joined 13:59 V_S_C joined 14:02 kaleem_ joined 14:04 wsri left 14:05 GlacJAY joined
V_S_C I'm trying Rakudo * on Windows 14:05
It says no ICU lib loaded 14:06
14:06 kaleem left
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
14:07 kaleem joined 14:08 kbaker joined
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..
14:08 kaleem_ left
FROGGS without it being found at that point, there is no chance to get the support for it later 14:08
14:09 GlacJAY left 14:11 PZt joined 14:16 atroxaper left
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
14:20 xinming_ joined, jnap joined
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.
14:22 bluescreen__ joined
FROGGS dunno if you get libicu for windows that has such a config program 14:22
14:23 xinming left
V_S_C thats alrite 14:24
I used HTTP::Easy::PSGI 14:25
14:25 bluescreen100 left
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
14:29 atroxaper joined, PerlPilot is now known as PerlJam
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?
14:31 wsri joined
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
14:33 enikar joined
FROGGS and it is always good that we know what is going on 14:34
V_S_C :) 14:35
14:36 cooper left 14:39 btyler joined 14:45 bbkr joined
bbkr r: my $foo = 13; say :$foo 14:45
camelia rakudo-parrot 0bf3de, rakudo-jvm 0bf3de: OUTPUT«␤» 14:46
14:46 Ulti_ is now known as Ulti
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
14:56 rindolf joined, benabik joined 14:58 sqirrel left 15:01 markov left, enikar left, awwaiid_ left, labster left, kst left, segomos left, [particle] left, sjn left, ribasushi left, Exodist left, thou joined
timotimo but that's just the result of say not taking slurpy named arguments 15:02
should it?
FROGGS ohh
15:03 [particle] joined
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)
15:04 kst joined, enikar joined
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?
15:06 awwaiid joined
timotimo ah, yes, say takes (|) 15:06
FROGGS I thought only methods swallow named slurpies
15:06 V_S_C left
timotimo yeah, that must be right 15:06
look at the implementation of say; it takes a capture and iterates over the positionals only
15:07 segomos joined, sjn joined 15:09 ribasushi joined 15:10 Exodist joined 15:11 sjn left 15:15 SamuraiJack_ joined 15:18 markov joined 15:20 kaleem left, sjn joined, hummeleB1 left 15:24 dmol left
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
15:26 atroxaper left
colomon ack, let a C++ comment slip into my p6 code 15:27
15:29 salv0 left, salv0 joined
timotimo idly stares at the EXPR code to figure out if it's easy or not to fix 10 < * < 20 code-gen 15:39
15:42 ajr joined, Fatalnix is now known as Chillectual, ajr is now known as Guest41534, Guest41534 is now known as ajr_, Chillectual is now known as Fatalnix, SamuraiJack_ left
colomon errr… what's numeric bitwise or in p6? 15:46
oh!
never mind
C++ translation problems again
15:47 pmichaud joined
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
15:52 rurban1 joined 15:54 xinming_ left
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?
15:58 Psyche^ joined
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. :)
16:02 Psyche^_ left
colomon my STEP code is much faster on JVM, but I've got failing tests because .ords doesn't work right. 16:02
16:03 fhelmberger_ left 16:04 fhelmberger joined
colomon arrrrrrrgh! 16:06
16:07 ashleydev joined, vaclavstrachon joined, ashleydev left
dalek ast: baa6ed0 | (Timo Paulssen)++ | S02-types/whatever.t:
unskip a whatever+postcircumfix-method related test
16:08
16:09 ashleydev joined 16:11 xenoterracide joined 16:13 ajr_ left 16:15 ajr_ joined
timotimo EXPR is kind of nontrivial ... 16:19
16:20 [Sno] left
FROGGS yay!! I can haz panda-p, panda-j, ... 16:23
16:24 xinming joined
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
16:29 denis_boyun left
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
16:37 xenoterracide left
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)
16:37 sqirrel joined
FROGGS ohh, my wife is joining... need to hide /o\ 16:37
16:38 FROGGS left
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
16:48 sjohnson joined
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
16:51 zakharyas joined
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
16:59 kaleem joined 17:03 fhelmberger_ joined 17:06 fhelmberger left 17:07 BenGoldberg joined 17:10 denis_boyun joined
timotimo oh yikes 17:16
17:16 FROGGS joined 17:17 hummeleB1 joined
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
17:21 raiph left
timotimo quest created 17:24
17:25 vaclavstrachon left
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
17:33 [Sno] joined
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
17:48 kaleem left
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
17:56 dakkar left
nebuchadnezzar receives a SIGBEER: exit 18:00
18:01 stevan__ left 18:09 ajr_ left 18:15 lizmat joined
timotimo has a prototype and disappears to a social gathering type of thing 18:18
18:18 perigrin left, perigrin joined
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
18:22 dmol joined, sqirrel left, sqirrel_ joined 18:23 woolfy joined 18:32 zakharyas left 18:35 ajr joined, ajr is now known as Guest66087, Guest66087 is now known as ajr_ 18:38 fhelmberger_ left 18:42 Rotwang joined, Rotwang left, Rotwang joined
dalek kudo-star-daily: c37f216 | coke++ | log/ (5 files):
today (automated commit)
18:45
18:46 Piers_ left
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)
18:47 meeeeee joined
FROGGS .oO( toilet++) 18:47
18:47 meeeeee left 18:48 Esylt joined
timotimo I'll see if using my laptop at the social gathering will be acceptable 18:48
18:51 Duchess left
timotimo i think i kind of figured out what my code is supposed to look like now. 18:51
18:57 araujo left, araujo joined 18:59 strich joined, strich left 19:02 darutoko left 19:05 sqirrel joined 19:06 sqirrel_ left 19:08 ssutch joined
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 )
19:15 SamuraiJack_ joined
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␤»
19:29 pecastro left
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
19:38 jnap left
TimToady since ** is illustrating the right associative 19:38
19:38 araujo left 19:39 araujo joined
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
19:42 jnap joined
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
19:53 zakharyas joined
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
20:01 Rotwang left
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
20:02 zakharyas left, Rotwang joined, zakharyas joined
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
20:03 btyler left
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␤»
20:05 beastd joined
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
20:11 xinming left
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 :)
20:18 zakharyas left 20:19 zakharyas joined
lue PerlJam: replaced the conclusion 20:21
20:22 zakharyas left
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
20:27 zakharyas joined 20:28 Mouq joined
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
20:45 rindolf left 20:50 denis_boyun__ joined 20:51 denis_boyun left, dwarring joined 20:52 zakharyas left
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
20:58 SamuraiJack_ left
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
20:59 bbkr_ left
moritz lue++ # advent post 20:59
lue moritz: I prefer talking about the hypothetical Perfect Implementation. But I'll add those disclaimers in.
20:59 xinming joined
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.
21:09 stevan_ joined
[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
21:13 stevan_ left 21:14 stevan_ joined
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
21:31 xinming_ joined
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
21:32 SevenWolf joined, xinming left
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
21:41 xinming_ left
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)
21:48 stevan_ left
FROGGS "the only way!" lol 21:49
lizmat++
lizmat well, since .exists and .delete are now deprecated :-)
21:54 bluescreen__ left
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
21:57 kaare_ left
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
22:06 kbaker left 22:15 dwarring left 22:16 benabik left
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…»
22:19 PacoAir left
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
22:25 sqirrel left
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
22:28 enikar left
lizmat gnight #perl6! 22:33
FROGGS gnight lizmat
22:40 pecastro joined 22:43 FROGGS left 22:45 stevan_ joined 22:47 ajr_ left 23:00 cooper_ joined 23:01 pochi left, pochi joined 23:04 araujo left 23:05 araujo joined, stevan_ left 23:09 Rotwang left 23:11 cooper_ is now known as cooper, cooper left, cooper joined 23:12 dmol left
jnthn sleep & 23:13
23:14 rurban1 left 23:17 denis_boyun__ left 23:28 dmol joined 23:41 xenoterracide joined 23:56 hummeleB1 left