Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-08-30

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:16 cognome_ joined #perl6
00:16 amkrankr1leuen joined #perl6
00:17 smash_ joined #perl6
00:19 BenGoldberg joined #perl6
00:27 TimToady weird, I think it's looping in List.gimme, but if I put a say anywhere in the routine, the compilatoin of RESTRICTED.setting hangs :(
00:28 TimToady that is so bizarre...
00:28 TimToady or a note, or an nqp::say
00:30 * TimToady guesses and opt/deopt isn't round tripping, or so
00:30 TimToady *an
00:34 TimToady nope, disabling those things makes no difference
00:34 TimToady circularity sawed off, is my next guess
00:36 * TimToady gives up for now
00:36 je joined #perl6
00:45 japhb .oO( Circularity sawed off shotgun )
00:46 nbrown__ joined #perl6
00:46 TimToady .oO("Sod off!" shotgun)
00:50 yeltzooo joined #perl6
01:10 FROGGS_ joined #perl6
01:15 Alina-malina joined #perl6
01:20 colomon_ joined #perl6
01:22 sergot joined #perl6
01:22 pecastro_ joined #perl6
01:23 Woodi_ joined #perl6
01:23 raiph joined #perl6
01:24 telex joined #perl6
01:24 lizmat_ joined #perl6
01:26 telex joined #perl6
01:28 nhayashi joined #perl6
01:30 mls joined #perl6
01:32 mhasch joined #perl6
01:37 nbrown__ joined #perl6
01:45 nhayashi joined #perl6
01:48 je joined #perl6
01:48 rindolf joined #perl6
01:49 jerrycheung joined #perl6
01:50 raiph joined #perl6
01:50 colomon joined #perl6
01:50 amkrankr1leuen joined #perl6
01:50 jdv79_ joined #perl6
01:50 zacts joined #perl6
01:50 bjz joined #perl6
01:50 araujo joined #perl6
01:50 epochbell joined #perl6
01:50 vike joined #perl6
01:50 salv0 joined #perl6
01:50 pmichaud joined #perl6
01:50 Pleiades` joined #perl6
01:50 thilp_ joined #perl6
01:50 tadzik joined #perl6
01:50 BenGoldberg joined #perl6
01:55 nbrown__ joined #perl6
02:01 PZt joined #perl6
02:27 JL235__ joined #perl6
02:34 noganex_ joined #perl6
02:40 aborazmeh joined #perl6
02:40 xinming joined #perl6
03:02 btyler_ colomon: pulled in your jansson changes, it didn't seem like there was anything else you wanted to do before issuing a pull req (but the time to issue said req was the blocker)
03:02 btyler_ so, thanks! :)
03:02 colomon btyler_: apologies for not cleaning things up properly for you.
03:03 btyler_ ? not at all, the merge conflict was totally self inflicted on my end
03:03 hoelzro I've been thinking about improving stringification/gists for Regex objects.  Any suggestions for the right way to do it?
03:03 btyler_ and it was trivial anyways
03:03 hoelzro I was thinking .perl should print a regex literal
03:03 hoelzro and .gist should print the .name // .perl
03:03 hoelzro and .Str...well, I don't know about htat
03:04 btyler_ now just need to write a bunch more tests, and do some thinking on how to keep jansson from holding onto objects forever (since the json_decref/json_incref functions are actually macros, so NativeCall can't see them)
03:07 raiph joined #perl6
03:20 * masak .oO( "It would prefer that you stayed out of its living room because you weren't invited, not because you have a 'sod off' shotgun" -- Larry Wall, quote mashup ) :P
03:20 masak time-of-day, #perl6
03:26 masak m: subset Probability of Real where 0.0 .. 1.0 # Ven: tastes differ, but I'd've done http://stackoverflow.com/questions/1​9178989/is-there-a-language-with-con​strainable-types/25574936#25574936 this way
03:26 synopsebot Link: https://rt.perl.org/rt3//Publi​c/Bug/Display.html?id=25574936
03:26 camelia rakudo-moar d8c834: ( no output )
03:26 masak synopsebot: shh, grownups are talking.
03:27 xenoterracide joined #perl6
03:28 masak m: subset Odd of Int where -> $n { $n % 2 } # Ven: and this way; people are bound to be more familiar with % and boolification than with !%%
03:28 camelia rakudo-moar d8c834: ( no output )
03:33 * masak proceeds to get lost in a stackexchange of twisty little questions, all different
03:44 masak hah, trust philosophy.stackexchange to make an issue of a non-issue *in an interesting way*: http://philosophy.stackexchange.com/questions/155​51/who-represents-wil-wheaton-in-big-bang-theory :)
04:16 jerrycheung joined #perl6
04:18 xenoterracide joined #perl6
04:28 raiph masak: I think ven just copied the subset Probability line from me. I prefer your line.
04:28 raiph masak: The second bit is his. It doesn't compile as is because it omits a Map definition.
04:30 raiph masak: I'll edit ven's answer to use your line for the first bit.
04:32 tphilipp joined #perl6
04:32 tphilipp left #perl6
04:33 raiph .tell masak I'd love to see your suggestions for how best to code the second bit too. ( See http://irclog.perlgeek.de/​perl6/2014-08-30#i_9268837 )
04:33 yoleaux raiph: I'll pass your message to masak.
04:33 masak cool. it's a small thing, but range feels slightly more idiomatic.
04:33 yoleaux 04:33Z <raiph> masak: I'd love to see your suggestions for how best to code the second bit too. ( See http://irclog.perlgeek.de/​perl6/2014-08-30#i_9268837 )
04:33 masak fastest delivered message, ever ;)
04:36 masak m: subset Prob of Real where 0..1; class Dist { has @.probs where 1 == [+] .list; }; say Dist.new(:probs(0.5, 0.5)) # raiph
04:36 camelia rakudo-moar d8c834: OUTPUT«Dist.new(probs => Array.new(0.5, 0.5))␤»
04:37 masak raiph: problem with that one is that 'where' clauses on attributes aren't heeded.
04:37 masak m: subset Prob of Real where 0..1; class Dist { has @.probs where 1 == [+] .list; }; say Dist.new(:probs(0.5, 0.3)) # this should fail at construction time
04:37 camelia rakudo-moar d8c834: OUTPUT«Dist.new(probs => Array.new(0.5, 0.3))␤»
04:38 masak oh, ignore the above; it's probably wrong. need a closure for the where not to be a constant. :)
04:38 masak (this is why I didn't provide a suggestion for that one; it's hard to code correctly on code that doesn't work yet)
04:40 masak m: subset Prob of Real where 0..1; class Dist { has @.probs where { self!total == 1 }; method !total { [+] @.probs } } # maybe this?
04:40 camelia rakudo-moar d8c834: ( no output )
04:41 masak again, this is all a bit moot until https://rt.perl.org/Ticket/Display.html?id=122109 is NYNYI'd.
04:41 masak er, NLNYI'd.
04:50 raiph masak: The problem calls for a hash with keys of an arbitrary type (not just Str). So has @.probs ---> has Map[Type, Prob] %.probs or some such. Which is also NYI methinks. Anyhoo, thanks and masak++
04:54 masak m: my Int %h{Sub} = sub {} => 42; say %h.perl # raiph
04:54 camelia rakudo-moar d8c834: OUTPUT«Hash[Int,Sub].new(sub () { #`(Sub|139733655771720) ... } => 42)␤»
04:55 masak raiph: works fine :)
04:55 masak lizmat++
04:55 masak IMO, Map is a really unfortunate name for Hash in that piece of code.
04:56 moritz hoelzro: thanks for fixing that
04:56 yoleaux 29 Aug 2014 22:58Z <hoelzro> moritz: I fixed up and checked the docs; they're fine now!
05:01 zacts does rakudo support OpenBSD well?
05:04 masak zacts: as far as I know, yes.
05:05 raiph masak: Thanks again.
05:05 zacts ok, good. I have more confidence to install OpenBSD on my laptop now. if it doesn't work no big deal, but that was one issue holding me back from using OpenBSD.
05:05 masak how do I make a custom op iffy?
05:12 masak hah! looked at a test, went "that cannot possibly be right", went to the RT ticket referenced, found a discrepancy, did `git blame` on the test in question... found myself, anno 2011.
05:12 masak masak-- :)
05:13 moritz masak++ # writing tests
05:16 JimmyZ joined #perl6
05:18 TimToady well, equiv should dup iffy-ness, I'd think, along with all the other attributes of an operator
05:19 SamuraiJack joined #perl6
05:20 masak TimToady: I think I agree.
05:21 TimToady tighter and looser are of course more problematic
05:21 masak should there maybe be an 'is iffy' trait?
05:22 jnthn That'd make sense to me...
05:23 TimToady or it could be intuited from the return type, possibly
05:23 TimToady presumably something that return Bool is naturally iffy
05:24 TimToady *turns
05:24 masak all those things sound like frills on top of the mundane, reliable mechanism...
05:24 TimToady yeah
05:25 * TimToady is much more interested in actually figuring out how reify works, which is odd, considering I helped design it...
05:25 jnthn TimToady: "I learned how reify works 3 times so far..." :)
05:26 TimToady in fact, I think I was the first person to use the word "reify" wrt that...
05:26 TimToady well, we probably need to learn that again :)
05:26 aborazmeh joined #perl6
05:27 TimToady the basic problem with gimme/reify is that they try to re-establish policy on every call, when generally you just want to set up the dataflow and then just push or pull
05:29 TimToady m: my @a = 1,2,3; @a.plan: 4..*; say @a
05:29 camelia rakudo-moar d8c834: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 8…»
05:29 TimToady that works, but...
05:29 TimToady m: my @a = 1,2,3; @a.plan: 4..*; say @a[3]
05:30 camelia rakudo-moar d8c834: OUTPUT«(timeout)»
05:30 TimToady that gets stuck in List.reify, and $count does not progress
05:30 TimToady I can make it bomb out of the loop on lack of progress, but then it just gets (Any) instead
05:31 TimToady so something is not doing the reify handshake right
05:32 SamuraiJack joined #perl6
05:45 gfldex joined #perl6
05:47 moritz reducing the number of methods involved in reifying would also help a lot :-)
05:48 JimmyZ_ joined #perl6
05:51 JimmyZ joined #perl6
06:04 dalek roast: c05d4ce | masak++ | S03-operators/arith.t:
06:04 dalek roast: fix really embarrassing typo
06:04 dalek roast:
06:04 dalek roast: The test ended up testing entirely the wrong thing, for three years. Ugh.
06:04 dalek roast: review: https://github.com/perl6/roast/commit/c05d4ce7f9
06:06 kaare_ joined #perl6
06:06 jnthn lunch &
06:07 rindolf joined #perl6
06:09 akaseki joined #perl6
06:09 JimmyZ so late :P
06:18 JimmyZ > ls()
06:18 JimmyZ ===SORRY!=== Error while compiling <unknown file>
06:18 JimmyZ Undeclared routine:
06:18 JimmyZ ls used at line 1. Did you mean 'lc'?
06:18 JimmyZ > e()
06:18 JimmyZ ===SORRY!=== Error while compiling <unknown file>
06:18 JimmyZ Variable '&e' is not declared
06:18 JimmyZ at <unknown file>:1
06:19 JimmyZ LTA, methinks
06:32 JimmyZ std: e()
06:32 camelia std 53b3ca6: OUTPUT«ok 00:01 121m␤»
06:39 tadzik 'When jnthn talks about something he did "when he was 10 years stupider", it was probably two years ago' :D
06:40 tadzik (from http://domm.plix.at/perl/2014_08_thing​s_i_learned_at_yapc_europe_2014.html)
06:56 itz joined #perl6
07:13 mj41 joined #perl6
07:35 FROGGS m: &[baz]
07:35 camelia rakudo-moar d8c834: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/5x7pscq5dg�Preceding context expects a term, but found infix & instead�at /tmp/5x7pscq5dg:1�------> [32m&[[33m�[31mbaz][0m�»
07:45 FROGGS r: say "\c[LF]"
07:45 camelia rakudo-jvm d8c834: OUTPUT«(timeout)»
07:45 camelia ..rakudo-{parrot,moar} d8c834: OUTPUT«␤␤»
07:48 dalek roast: 27ecb5d | (Tobias Leich)++ | S05-mass/named-chars.t:
07:48 dalek roast: RT #122353 unfudge LF,FF,CR,NEL tests for parrot
07:48 dalek roast: review: https://github.com/perl6/roast/commit/27ecb5dbd8
07:48 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122353
07:50 masak FROGGS++
07:51 FROGGS masak: I love it to remove the last fudge lines from a test file :o)
07:52 akaseki joined #perl6
07:53 * masak .oO( I love the absence of fudge in the morning )
08:01 FROGGS jnthn: we have CTXSAVE in both HLL::Actions and Perl6::Actions... one has QAST::Stmt the other *::Stmts - what is preferred?
08:01 jnthn Not sure it matters a load
08:01 FROGGS k
08:01 jnthn I think the differences used to be much larger
08:01 jnthn But they've re-converged
08:01 FROGGS so I leave nqp untouched :o)
08:02 jnthn iirc, the split was when NQP moved to QAST but Rakudo was stuck in the PAST
08:09 kurahaupo_ joined #perl6
08:11 darutoko joined #perl6
08:13 JimmyZ_ joined #perl6
08:13 FROGGS TimToady: was that because of one of your patches?
08:13 FROGGS Malformed my
08:13 FROGGS at t/spec/S04-declarations/my.rakudo.moar:298
08:13 FROGGS ------>     my &⏏ = { * - 5 };
08:17 FROGGS (talking about this patch: https://github.com/rakudo/rakudo/commit/​9a9da9f3ff5d53be1feb7940805961324e3e7b15 )
08:27 akaseki joined #perl6
08:35 timotimo FROGGS: that ought to have been the "anonymous & variables don't make sense" patch?
08:35 timotimo oh. yes.
08:35 brrt joined #perl6
08:39 timotimo that was a tremendously unhelpful comment of mine %)
08:40 FROGGS :o)
08:42 JimmyZ_ joined #perl6
08:50 * masak submits 'is iffy' NYI ticket
08:57 FROGGS another one for TimToady:
08:57 FROGGS Unsupported use of $$ variable; in Perl 6 please use $*PID
08:57 FROGGS at t/spec/S32-str/substr-rw.rakudo.moar:74
08:57 FROGGS ------>         is($$r⏏, "gloop", '$r referent is eq to the sub
08:59 dalek rakudo/nom: dc7c5a2 | (Tobias Leich)++ | src/Perl6/Actions.nqp:
08:59 dalek rakudo/nom: RT #122496 remove duplicate Perl6::Actions.CTXSAVE
08:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dc7c5a2f25
08:59 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=122496
09:01 JimmyZ_ joined #perl6
09:02 dalek specs: ce03a49 | masak++ | S99-glossary.pod:
09:02 dalek specs: [S99] karma is about s/popularity/appreciation/
09:02 dalek specs: review: https://github.com/perl6/specs/commit/ce03a4922c
09:02 dalek rakudo/nom: 38e4fb6 | (Tobias Leich)++ | src/core/ (3 files):
09:02 dalek rakudo/nom: use prefix:<->(:D ...) for Int/Real/Rat/...
09:02 dalek rakudo/nom:
09:02 dalek rakudo/nom: This way we hit the prefix:<-> of Numeric for type objects, which will warn and return zero.
09:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38e4fb6bc4
09:05 denis_boyun_ joined #perl6
09:05 FROGGS m: say -Int # this will warn and say zero in a bit
09:05 camelia rakudo-moar d8c834: OUTPUT«(signal )»
09:07 nine Incredible! I just replaced an action of a Catalyst controller in our Perl 5 application by Perl 6!
09:08 nine This validates my approach to provide an upgrade path for existing Perl 5 codebases :)
09:08 JimmyZ congratulations!
09:09 jnthn nine: Much wow!
09:12 masak nine++ # nice!
09:17 nine It's all thanks to NativeCall's awesomeness, really.
09:17 FROGGS nine++
09:18 FROGGS now v5 is nearly pointless :o)
09:19 masak surely not.
09:19 nine FROGGS: no it isn't.
09:19 FROGGS[mobile] joined #perl6
09:19 masak FROGGS[mobile]: v5 is the one that can be JITted.
09:19 bowtie joined #perl6
09:20 masak and spesh'd.
09:20 FROGGS[mobile] and might be pattern for other slangs
09:20 nine while Inline::Perl5 is bound to be dog slow. I'm doing the most naive implementation anyone can imagine. Copying stuff like there was no tomorrow.
09:21 FROGGS[mobile] but besides that... :D
09:23 nine Also many years from now we might reach the point, where there are alternatives for all Perl 5 XS modules while there may still be much proprietary Perl 5 code around. Then we can remove the Perl 5 interpreter and stop maintining it.
09:24 JimmyZ :)
09:25 brrt nine++
09:25 brrt also FROGGS, there is always more than one way to do it ;-)
09:27 jnthn Other cool thing: hijack the v5 grammar to find the extent of Perl 5 code, then after parsing it pass it off to Inline::Perl5 :)
09:28 masak ok, second iffy-related weirdness:
09:28 masak m: multi infix:«<:» { $^l lt $^r }; multi infix:«!<:» { not($^l <: $^r) }; say "foo" !<: "bar"
09:28 camelia rakudo-moar d8c834: OUTPUT«True␤»
09:28 JimmyZ std: sub s()  { return 1 } ; s
09:28 masak now watch as I perform my magic trick:
09:28 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤No delimiter found at /tmp/vr48oCopRG line 1 (EOF):â�¤------> [32msub s()  { return 1 } ; s[33mâ��[31m<EOL>[0mâ�¤Parse failedâ�¤FAILED 00:01 125mâ�¤Â»
09:28 JimmyZ m: sub s()  { return 1 } ; s
09:28 camelia rakudo-moar d8c834: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/emDqZRcpCBâ�¤Null regex not allowedâ�¤at /tmp/emDqZRcpCB:1â�¤------> [32msub s()  { return 1 } ; s[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement endâ�¤        â€¦Â»
09:28 masak m: multi infix:«≃» { $^l lt $^r }; multi infix:«!<:» { not($^l ≃ $^r) }; say "foo" !≃ "bar"
09:28 camelia rakudo-moar d8c834: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/q8BePJqzE4�Cannot negate ≃ because it is not iffy enough�at /tmp/q8BePJqzE4:1�------> [32mx:«!<:» { not($^l ≃ $^r) }; say "foo" !≃[33m�[31m "bar"[0m�»
09:28 spider-mario joined #perl6
09:28 masak *exactly* the same code -- just with a Unicode operator instead!
09:28 * masak submits rakudobug
09:29 JimmyZ n: sub s()  { return 1 } ; s
09:29 camelia niecza v24-109-g48a8de3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤No delimiter found at /tmp/ugElRgvWFu line 1 (EOF):â�¤------> [32msub s()  { return 1 } ; s[33mâ��[31m<EOL>[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
09:30 JimmyZ LTA or bug?
09:30 BizarreCake joined #perl6
09:31 spider-mario joined #perl6
09:31 jnthn masak: Um...you installed a negation of a completley different operator?
09:31 jnthn infix:«≃» and infix:«!<:»
09:33 masak um.
09:33 masak m: multi infix:«≃» { $^l lt $^r }; multi infix:«!≃» { not($^l ≃ $^r) }; say "foo" !≃ "bar"
09:33 camelia rakudo-moar d8c834: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/weCLGmom3M�Cannot negate ≃ because it is not iffy enough�at /tmp/weCLGmom3M:1�------> [32mix:«!≃» { not($^l ≃ $^r) }; say "foo" !≃[33m�[31m "bar"[0m�»
09:33 masak there we go.
09:33 masak my exposure of the bug was wrong; the bug is there.
09:34 * masak magically retcons the bug report
09:34 * masak does the jedi gesture on #perl6
09:35 JimmyZ m: ::!??YOUR_FACE!! # I remember this one :P
09:35 camelia rakudo-moar d8c834: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/3c21XwiXxw�Cannot negate ??YOUR_FACE!! because it is not iffy enough�at /tmp/3c21XwiXxw:1�------> [32m::!??YOUR_FACE!![33m�[31m # I remember this one :P[0m�»
09:38 masak hahaha
09:39 JimmyZ std: ::!??YOUR_FACE!!
09:39 camelia std 53b3ca6: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot negate ?? !! because conditional operators are too fiddly at /tmp/PuLvi1D_tN line 1:�------> [32m::!??YOUR_FACE!![33m�[31m<EOL>[0m�Cannot negate ??YOUR_FACE!! because conditional operators are not iffy enough at /…»
09:39 brrt nice
09:41 brrt JimmyZ: wrt to the commit you asked me to revert, i still have no conclusive answer wrt to rounding behaviour, but i suspect the code is corect as it is
09:42 JimmyZ brrt: jnthn++ said it could be cheaper
09:42 brrt yeah, i know, wrt to pushing the exception to the end
09:43 brrt i'm kind of ambivalent between doing that in the graph building, or emit step
09:43 brrt we can do both
09:43 JimmyZ +1
09:43 brrt i.e. dynasm has support for 'capturing' blocks
09:43 brrt but i don't know if i can get the right label then
09:44 brrt anyway, i agree with the optimisation, but aside from constant-checking the denominator it's not so very simple that it has fit into my brane yet
09:45 JimmyZ yeah, it's tricky :/
09:56 anaeem1 joined #perl6
10:00 itz_ joined #perl6
10:04 aindilis joined #perl6
10:06 zoosha joined #perl6
10:08 itz joined #perl6
10:09 virtualsue joined #perl6
10:48 firefish5000 joined #perl6
10:57 firefish5000_ joined #perl6
11:02 zoosha joined #perl6
11:04 JimmyZ_ joined #perl6
11:04 kurahaupo joined #perl6
11:12 itz_ joined #perl6
11:13 colomon ssh: Could not resolve hostname host07.perl6.com: Name or service not known  :(
11:15 moritz ;; ANSWER SECTION:
11:15 moritz host07.perl6.com.       3600    IN      A       192.241.193.85
11:15 moritz though I can't resolve it from my weorkstation either
11:15 JimmyZ_ joined #perl6
11:16 colomon just when I finally get the smoke test working again (more or less)...
11:16 [particle] joined #perl6
11:16 moritz colomon: add the IP to your /etc/hosts
11:17 colomon moritz: is the IP stable?
11:17 moritz colomon: yes
11:17 d4l3k_ joined #perl6
11:18 __rnddim__ joined #perl6
11:19 sivoais_ joined #perl6
11:19 kshannon joined #perl6
11:20 cosimo_ joined #perl6
11:21 xiaomiao joined #perl6
11:22 colomon okay, last night's run is now up too
11:24 robins joined #perl6
11:25 Bucciarati_ joined #perl6
11:25 Woodi_ hallo #perl6
11:26 gcifuent1s joined #perl6
11:27 Woodi_ just tried to install rakudo-2014-08 on static compiled moar and during rakudo compilation it was trying to dynamically load dynext lib...
11:27 Woodi_ on shared moar no problemo
11:28 jnthn Woodi_: You can't build things that use extops on a static compiled moar, which means it's not suitable for use with Rakudo. There's a reason it's not the default. :)
11:29 Woodi_ oki, just thinked it can be done static and shared
11:29 jnthn Not as far as I know...
11:29 Woodi_ jnthn: but dynext should be statically compiled ito moar...
11:31 go|dfish joined #perl6
11:32 FROGGS[mobile] colomon: does v5 pass now?
11:35 eiro joined #perl6
11:36 rjbs- joined #perl6
11:36 Brock joined #perl6
11:36 Woodi_ oki, just want to add: perl5 is kind of /usr/bin/immortal like sed and awk, it's will stay there and it is in kind of permament maintenance mode. if perl6 will be succesfull in some time then maybe distros will do: mv /usr/bin/perl /usr/bin/perl5\n   but replacing Perl5 completely is unlikely...
11:38 jercos joined #perl6
11:39 BooK joined #perl6
11:39 ribasushi joined #perl6
11:39 Possum joined #perl6
11:39 pochi joined #perl6
11:40 dalek nqp: 6764152 | jonathan++ | tools/build/MOAR_REVISION:
11:40 dalek nqp: Bump to MoarVM with objectid support.
11:40 dalek nqp: review: https://github.com/perl6/nqp/commit/6764152660
11:40 dalek nqp: c7c4661 | jonathan++ | src/vm/ (3 files):
11:40 dalek nqp: Map nqp::objectid(...) op.
11:40 dalek nqp:
11:40 dalek nqp: On Parrot, it maps to what nqp::where(...) does and can continue to,
11:40 dalek nqp: since Parrot doesn't move objects. On MoarVM it maps to the new VM op
11:40 dalek nqp: of the same name. On JVM, it currently maps to nqp::where, but this
11:40 dalek nqp: will want reviewing as JVMs can also move objects.
11:40 dalek nqp: review: https://github.com/perl6/nqp/commit/c7c46614af
11:40 Juerd joined #perl6
11:42 fling joined #perl6
11:42 nine Woodi_: Perl 4 is gone. Why should the same not happen for Perl 5?
11:42 itz joined #perl6
11:43 dalek rakudo/nom: aa03171 | jonathan++ | tools/build/NQP_REVISION:
11:43 dalek rakudo/nom: Bump NQP_REVISION for nqp::objectid op.
11:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa031715d4
11:43 dalek rakudo/nom: 9a66444 | jonathan++ | src/core/Mu.pm:
11:43 dalek rakudo/nom: Have Mu.WHICH use the nqp::objectid op.
11:43 dalek rakudo/nom:
11:43 dalek rakudo/nom: This will avoid the instability in .WHICH values on MoarVM that has
11:43 dalek rakudo/nom: caused various flapping tests and other bugs.
11:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9a66444830
11:43 Woodi_ nine: it's just unlikely, IMO
11:43 FROGGS nine: COBOL does not wanna die either in some areas
11:44 nine But COBOL does not have a successor.
11:44 FROGGS I think that does not matter
11:45 FROGGS if the code works, it will stay in most cases
11:45 nine I just start to move to lizmat_'s side in this discussion. I now regard Perl 6 again like a new version of Perl, not like a sister language.
11:45 Woodi_ nine: actually I think *nixes are quite old and I bet *nixes dies before rm /usr/bin/perl :)
11:57 ilbot3 joined #perl6
11:57 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
11:59 colomon FROGGS: no.  :\
11:59 * colomon tries it manually
11:59 colomon FROGGS: took a long time to build, now I'm getting loads of test failures
11:59 colomon t/v5/32-autoload-method.t ..... ===SORRY!===
11:59 colomon Could not find feature in any of:
11:59 colomon (long list deleted by colomon)
12:00 moritz_ joined #perl6
12:00 Woodi_ btw. how you think, do solid state RAM will change something in language compilers build/design ?
12:00 FROGGS colomon: ohh, it is not supposed to run these tests :/
12:00 jtpalmer joined #perl6
12:00 raydiak__ joined #perl6
12:01 Pleiades` joined #perl6
12:01 FROGGS colomon: but now I know what to fix... thanks :o)
12:01 colomon FROGGS: I'm not sure there is a way to tell panda not to run tests in t/ ...
12:01 ashleyde1 joined #perl6
12:01 Gruber joined #perl6
12:01 FROGGS colomon: I'll move these tests elsewhere
12:02 nebuchad` joined #perl6
12:02 tadzik2 joined #perl6
12:02 Rounin_ joined #perl6
12:03 gcifuent1s joined #perl6
12:03 Khisanth joined #perl6
12:08 firefish5000_ How do you write a multi method that differ only in the number of arguments?
12:09 Timbus multi method foo($a) {...}  multi method foo($a, $b) {...}
12:13 JimmyZ_ joined #perl6
12:14 FROGGS tadzik2: ping
12:15 JimmyZ__ joined #perl6
12:16 firefish5000_ Timbus: Thanks, that works ( I had confused myself by giving a default value, and thus making both accept one argument).
12:17 JimmyZ joined #perl6
12:17 Timbus i've done that
12:17 virtualsue joined #perl6
12:18 Timbus exciting new ways to shoot your foot
12:21 JimmyZ_ joined #perl6
12:21 BizarreCake joined #perl6
12:21 moritz_ multi dispatch is like any other programming paradigm: you need a bit of practise before it helps you
12:21 moritz_ same with grammars :-)
12:23 slicewinter joined #perl6
12:23 tadzik3 joined #perl6
12:24 firefish5000_ Oh, when it comes to grammars, is Class::Grammar and Class::Actions the standard herarcy(ignore spelling)?
12:24 moritz yes
12:25 timotimo .o( but it's not that important to have that, just helps find stuff )
12:27 JimmyZ_ joined #perl6
12:28 timotimo jnthn++ # nqp::objectid op working on parrot and moar
12:28 robinsmidsrod joined #perl6
12:30 Pleiades` joined #perl6
12:30 firefish5000_ Is there a standard for what ::Actions does. for example, would returning nothing be bad practice? (just curious)
12:30 ivan`` joined #perl6
12:31 moritz firefish5000_: often action methods call make($something), which sets $/.made
12:31 moritz firefish5000_: thus building up a tree inside/attached to the parse tree
12:32 moritz firefish5000_: for example in the json parser, the actions call make($perl6_object) to deserialize the json document
12:32 aindilis` joined #perl6
12:34 firefish5000_ So if you (accidentally) put all the necessary code into the TOP method, you've gone too far.
12:34 timotimo that's not a problem, just maybe not very extensible/refactorable/readable
12:34 robins joined #perl6
12:35 moritz then you don't need an action method, and could go outside the whole parsing thing
12:35 zoosha joined #perl6
12:35 gcifuentes joined #perl6
12:36 timotimo troo
12:36 timotimo the good thing about the action methods is that the grammar engine does the distinction between different things you've matched "for you"
12:37 moritz right, so you need far fewer branches inside the actions
12:38 timotimo if you go even further and use proto + multi regexes/tokens/rules, you should be able to get some very cleanly separation-of-concerns'd code
12:39 moritz masak: have you ever asked yourself if there's a duality between the $/.ast and the stash used in many web frameworks?
12:39 timotimo "stash"?
12:40 Bucciarati joined #perl6
12:40 moritz timotimo: a data structure (usually a hash) where controllers can put data that the template/view can then use
12:40 timotimo oh, of course
12:40 jnthn See also my grammar generative talk on bactions :)
12:40 raydiak__ joined #perl6
12:40 * moritz must have missed that
12:41 timotimo oh!
12:41 timotimo that was a good talk
12:42 d4l3k_ joined #perl6
12:42 jnthn moritz: http://jnthn.net/papers/2013​-yapcna-grammar-generate.pdf
12:43 firefish5000 joined #perl6
12:45 kshannon_ joined #perl6
12:45 itz_ joined #perl6
12:48 masak yeah, moritz will like the notion of co-grammars and bactions :)
12:48 firefish6000 joined #perl6
12:49 jnthn It's more co-parsing than co-grammars :P
12:49 * jnthn does some co-hunger... &
12:51 itz_ joined #perl6
12:53 JimmyZ joined #perl6
13:07 ilbot3 joined #perl6
13:07 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
13:09 robinsmidsrod joined #perl6
13:09 timotimo sounds great, we will get lots of support from the rest of the population
13:10 anaeem1_ joined #perl6
13:10 sivoais joined #perl6
13:11 zoosha joined #perl6
13:13 colomon FROGGS: what is working in v5 these days?
13:14 FROGGS colomon: quite some part of the syntax I'd say
13:14 Pleiades` joined #perl6
13:14 colomon I notice it's compling loads of modules to mbc during the build...
13:15 * colomon has realized that lots of the p5 he uses for $work is relatively basic….
13:16 dalek Inline-Perl5: cb9cb51 | nine++ | / (2 files):
13:16 dalek Inline-Perl5: Fix refcounting in p5_call_p6_method
13:16 dalek Inline-Perl5:
13:16 dalek Inline-Perl5: Just calling the same callback twice revealed lots of missing refcounting code.
13:16 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/cb9cb51b79
13:16 FROGGS tadzik3: https://github.com/tadzik/panda/pull/97
13:16 FROGGS colomon: most are stubbed
13:16 gfldex_ joined #perl6
13:16 colomon ah
13:17 FROGGS but it helps me to run the spectests
13:17 FROGGS and find syntax issues
13:17 BooK joined #perl6
13:18 nebuchadnezzar joined #perl6
13:19 timotimo oh? GLOBAL::<Build>:delete works?
13:22 FROGGS[mobile] no idea
13:22 Khisanth joined #perl6
13:23 FROGGS[mobile] that's taken from Builder.pm
13:23 FROGGS[mobile] but I remember there was a ticket
13:24 timotimo i don't think it *should* work; aren't PseudoStashes immutable?
13:25 moritz but I think GLOBAL:: is a real stash
13:29 [particle] joined #perl6
13:31 nebuchadnezzar joined #perl6
13:34 coffeeyy_ joined #perl6
13:35 timotimo i'd be more comfortable merging a change to panda if it would got around the deletion of something in GLOBAL::. that seems really icky to me.
13:36 moritz I think the icky thing is putting the Build sub into the global namespace in the first place
13:38 timotimo yes
13:39 yakudza joined #perl6
13:39 timotimo i'd prefer something like my $buildclass := { try require Build; Build } or something
13:39 ponbiki joined #perl6
13:40 sjn joined #perl6
13:40 FROGGS[mobile] installers also do very weird stuff btw
13:40 timotimo that sounds terrible!
13:41 timotimo think of the children!
13:41 mst joined #perl6
13:41 FROGGS[mobile] timotimo: you can test here if that works, or if that leaks symbols
13:41 tony-o joined #perl6
13:41 BinGOs joined #perl6
13:41 Maddingue joined #perl6
13:42 timotimo m: say GLOBAL::; my $plansub := { try require Test <plan>; &plan }; say GLOBAL::; say $plansub;
13:42 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/uhYcjkrBkbâ�¤Undeclared routine:â�¤    &plan used at line 1â�¤â�¤Â»
13:42 timotimo m: say GLOBAL::; my $plansub := { try require Test <&plan>; &plan }; say GLOBAL::; say $plansub;
13:42 camelia rakudo-moar 9a6644: OUTPUT«().hash␤().hash␤-> ($_? is parcel) { #`(Block|47558896) ... }␤»
13:43 timotimo m: say ::.keys; my $plansub := { try require Test <&plan>; &plan }; say ::.keys; say $plansub;
13:43 camelia rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤-> ($_? is parcel) { #`(Block|73582960) ... }␤»
13:43 timotimo like that?
13:45 jlaire joined #perl6
13:45 nine joined #perl6
13:45 FROGGS[mobile] does that leak Test?
13:45 timotimo it very much shouldn't
13:45 nwc10 joined #perl6
13:45 timotimo Test shouldn't even be available inside that inner braces, right?
13:45 timotimo m: say ::.keys; my $plansub := { try require Test <&plan>; say Test.perl; &plan }; say ::.keys; say $plansub;
13:45 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/6UGVIserXyâ�¤Undeclared name:â�¤    Test used at line 1â�¤â�¤Â»
13:46 timotimo m: say ::.keys; my $plansub := { try require Test; &Test::plan }; say ::.keys; say $plansub;
13:46 camelia rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤-> ($_? is parcel) { #`(Block|56484800) ... }␤»
13:46 timotimo m: say ::.keys; my $plansub := { try require Test; say ::.keys; &Test::plan }; say ::.keys; say $plansub;
13:46 camelia rakudo-moar 9a6644: OUTPUT«$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤$plansub $! $/ $_ GLOBALish EXPORT $?PACKAGE ::?PACKAGE $=pod !UNIT_MARKER␤-> ($_? is parcel) { #`(Block|77493280) ... }␤»
13:46 JimmyZ_ joined #perl6
13:47 chenryn joined #perl6
13:47 * timotimo can't find Test in there
13:47 FROGGS[mobile] k
13:47 timotimo where does require install things?
13:48 timotimo m: say GLOBAL::.keys; my $plansub := { try require Test; say GLOBAL::.keys; &Test::plan }; say GLOBAL::.keys; say $plansub;
13:48 camelia rakudo-moar 9a6644: OUTPUT«␤␤-> ($_? is parcel) { #`(Block|52059232) ... }␤»
13:48 huf joined #perl6
13:48 timotimo ... isn't that too few newlines?
13:49 moritz timotimo: require doesn't import anything into the lexpad
13:49 moritz timotimo: it can't, because it runs at runtime, when the lexpad is immutable
13:49 timotimo it doesn't import stuff from inside the module, that much i understand perfectly
13:49 timotimo but why doesn't "Test" appear in there at all when i just "require Test"?
13:50 timotimo oh!
13:50 timotimo i don't *execute* that piece of code
13:50 timotimo silly me :D
13:50 timotimo m: say GLOBAL::.keys; my $plansub := do { try require Test; say GLOBAL::.keys; &Test::plan }; say GLOBAL::.keys; say $plansub;
13:50 camelia rakudo-moar 9a6644: OUTPUT«␤Test␤Test␤(Any)␤»
13:50 timotimo this is not cool.
13:51 timotimo it puts Test into GLOBAL::? why?
13:51 timotimo am i misunderstanding what GLOBAL:: is for?
13:51 masak joined #perl6
13:51 moritz it's for our-scoped stuff that's not explicitly inside another namespace
13:51 moritz and tthat's why Test goes there
13:52 timotimo hm.
13:53 timotimo unfortunately i don't have something to test the following with on camelia: if i have use Test; in the outer scope and require Test inside there, would GLOBAL:: refer to the first Test first, then the second Test?
13:54 felher joined #perl6
13:54 timotimo is the &Test::plan in my code example being done as a "by name" lookup at run time?
13:55 FROGGS[mobile] it will merge the globals, and noops if they are identical
13:55 timotimo yes, it is.
13:56 charsbar__ joined #perl6
13:57 JimmyZ_ joined #perl6
13:57 FROGGS[mobile] which is slow of course (very slow)
13:59 FROGGS[mobile] fib(10) with indirect lookup took 15min last year
13:59 timotimo i'm not very good at importation except for using "use" ...
14:00 PotatoGim^Home joined #perl6
14:01 chenryn joined #perl6
14:02 timotimo ah, i think the word i was looking for is "need"
14:03 timotimo yup. that's more like it.
14:04 timotimo https://www.youtube.com/watch?v=9yW--eQaA2I ← this is the video of Miegakure i thought people would be interested in
14:05 PotatoGim^Home joined #perl6
14:06 dalek panda: 3ae47e9 | (Tobias Leich)++ | lib/Panda/Tester.pm:
14:06 dalek panda: call Build.pm's test method if possible
14:06 dalek panda: review: https://github.com/tadzik/panda/commit/3ae47e9706
14:06 dalek panda: 6fc58fd | colomon++ | lib/Panda/Tester.pm:
14:06 dalek panda: Merge pull request #97 from FROGGS/test
14:06 dalek panda:
14:06 dalek panda: call Build.pm's test method if possible
14:06 dalek panda: review: https://github.com/tadzik/panda/commit/6fc58fd3af
14:06 colomon FROGGS++
14:06 dalek Inline-Perl5: b181e59 | nine++ | / (3 files):
14:06 dalek Inline-Perl5: Support returning values from Perl 6 callbacks to Perl 5
14:06 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/b181e59c97
14:09 PotatoGim^Home joined #perl6
14:09 dalek Inline-Perl5: f6ac9af | nine++ | / (2 files):
14:09 dalek Inline-Perl5: Support passing Perl 5 objects back from Perl 6 to Perl 5
14:09 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/f6ac9af98e
14:10 PotatoGim^Home joined #perl6
14:11 PotatoGim^Home joined #perl6
14:29 chenryn joined #perl6
14:30 BizarreCake Is an int array implicitly castable to an Int array?
14:37 Guest83561 good question.
14:40 [Coke] m: ::!??YOUR_MOM!! # missed dozens opp. from backscroll
14:40 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/0gNqiuWPGq�Cannot negate ??YOUR_MOM!! because it is not iffy enough�at /tmp/0gNqiuWPGq:1�------> [32m::!??YOUR_MOM!![33m�[31m # missed dozens opp. from backscroll[0m�»
14:40 jdv79_ are the smoke tests still running?
14:41 virtualsue joined #perl6
14:41 masak_grr m: ::!??IT_IS_NOT_IFFY_ENOUGH!! # iffy enough for you, Perl 6?
14:41 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9zY9YKEUwJ�Cannot negate ??IT_IS_NOT_IFFY_ENOUGH!! because it is not iffy enough�at /tmp/9zY9YKEUwJ:1�------> [32m::!??IT_IS_NOT_IFFY_ENOUGH!![33m�[31m # iffy enough for you, Perl 6?[0m�»
14:41 [Coke] (backscroll) I think if any sixers start saying that five is dead, we will look back to our existing marketing with nostalgia.
14:42 masak_grr heh.
14:42 jnthn I don't think we should be saying such things. :)
14:42 * masak_grr .oO( why must it be so hard to just peacefully co-exist and kill Perl 5 dead? ) :P
14:42 jnthn Not for the foreseeable future.
14:43 jnthn Yes, we should certianly be proud of the stuff we have, but realistic about the current market share. :)
14:44 masak_grr I don't give a fig's pineapple if some people continue to use Perl 5, and do so in apparent contentment. I don't care if they do it 10 years down the line.
14:44 masak_grr I *do* care whether an unbiased observer is able to look at the two, and go "all other things being equal, Perl 6 wins hands down".
14:44 * jnthn wants a picture of a fig being like "this is my pineapple" now :P
14:44 huf because of the language conflict. it's the basis of our history and society :)
14:45 jdv79 be neat if perl 6 was used for new stuff instead of perl 5 - good new on that front - new perl5 projects are dwindling.
14:45 jdv79 *news
14:46 kst` joined #perl6
14:46 JimmyZ_ joined #perl6
14:47 pnu_ joined #perl6
14:47 nine Perl 5 is alive and it will stay that way. As part of Perl 6.
14:47 jdv79 i work at a mostly p5 shop and we're looking to "diversify" because its hard to find p5 people.
14:48 masak_grr jdv79: where're you based?
14:48 jdv79 hearst magazines in nyc
14:48 mr-fooba_ joined #perl6
14:49 jdv79 i think its partly mgmt's fault at $work but i think the general sentiment of p5 in decline in general is proably true.
14:49 cxreg2 joined #perl6
14:49 mathw_ joined #perl6
14:49 anocelot_ joined #perl6
14:50 Shozan joined #perl6
14:50 integral_ joined #perl6
14:50 integral_ joined #perl6
14:50 brother| joined #perl6
14:50 nine jdv79: we gave up hiring Perl people. We just hire good software engineers and let them learn Perl during their first week. After that the language is rarely an issue. Learning the bits and pieces of our huge application is.
14:50 petercom1and joined #perl6
14:51 nine A good developer can be good in any language.
14:52 jdv79 yeah,  that's what i suggested to mgmt multiple times.
14:52 sorear joined #perl6
14:52 dylanwh_ joined #perl6
14:53 tokuhirom_ joined #perl6
14:53 jdv79 a major part of "mgmt's fault"
14:53 chenryn joined #perl6
14:53 jdv79 well, i don't think i would be good in haskell or lisp or prolog
14:54 eviltwin_b joined #perl6
14:54 jdv79 so i don't agree that a "good" dev can good in any lang.  maybe a great dev.
14:54 nine jdv79: you sure? It may take some more time than with other languages, but I'd guess that they are learnable.
14:54 telex joined #perl6
14:54 jdv79 i'm not saying that i couldn't get proficient.  but not in an economical amount of time.
14:54 isacloud____ joined #perl6
14:55 Exodist joined #perl6
14:55 PotatoGim^Home joined #perl6
14:55 jdv79 so in context, yes a good dev should be able to pick up p5 fast enough but the more general statement you made is probably not true in this context
14:55 oetiker joined #perl6
14:55 jdv79 too many contexts;)
14:55 nine Ok, I can live with that ;)
14:55 rurban joined #perl6
14:56 btyler joined #perl6
14:56 bcode joined #perl6
14:57 hoelzro joined #perl6
14:57 xenoterracide joined #perl6
14:58 chamelia joined #perl6
15:01 simcop2387 joined #perl6
15:04 [Coke] nine: we do the same thing here; hire good devs, give them time on the job to pick up the language we use.
15:08 [Coke] rant: old tickets with "maybe" or "either std or rakudo is wrong"
15:08 nine We'd probably have to do that even if we were a Ruby or Python shop. And I don't _want_ to hire PHP code producers :)
15:08 [Coke] (not that there's a better way to deal with them)
15:09 [Coke] .seen pmichaud
15:09 yoleaux I saw pmichaud 19 Aug 2014 17:13Z in #perl6: <pmichaud> http://lists.alioth.debian.org/pipermail/​pkg-rakudo-devel/2014-August/000432.html
15:10 masak_grr [Coke]: if I'm to blame for "either std or rakudo is wrong" tickets, send them to me and I'll take action on them.
15:10 masak_grr I'm pretty sure I don't file "maybe" tickets :)
15:11 [Coke] masak: RT #77334
15:11 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=77334
15:11 * masak looks
15:11 [Coke] that maybe ticket is from 4 years ago.
15:11 masak oh, we talked about that one the other day.
15:12 masak the question we should ask on that one is "what use case are we making impossible by having `for` loops decontainerize?"
15:13 masak actually, two more questions.
15:13 masak "which way is least surprize?" (pretty sure it's doing the decont)
15:14 masak "which way shoots us in the fewest amount of feet wrt performance?" (pretty sure it's the decont)
15:14 apejens joined #perl6
15:14 masak in other words, if we can't think of a use case for Q1, then there's no "maybe" there.
15:14 masak [Coke]: good enough? :)
15:15 * masak adds this to the ticket
15:15 [Coke] please update the subject to indicate the choice.
15:15 nwc10 jnthn: trying to build Rakudo on Power, it bombs out with:
15:15 nwc10 Error while compiling op p6bool (source text: "nqp::p6bool(1)"): Cannot find method 'mast_compunit' at gen/moar/stage2/QAST.nqp:4600  (/home/nick/Sandpit/moar-g/languag​es/nqp/lib/QAST.moarvm:as_mast:72)
15:16 masak [Coke]: well, we haven't quite failed to think of a use case yet...
15:16 nwc10 I have no good idea why. For one of the two files that fails, this is the 273505th call that enters the if(cache && IS_CONCRETE(cache)) block in MVM_6model_find_method
15:17 nwc10 all NQP tests other than nativecall pass.
15:17 nwc10 mast_compunit is a method created in NQP. I keep wondering if that's something to do with it.
15:17 [Coke] so it is still a maybe? arglebargle.
15:17 nwc10 But I have no clue on where to start chasing it. So for now I'm stalled.
15:17 [Coke] where are tests for Test.pm kept?
15:18 nwc10 (ie no idea if it's alignment related, big endian related, or somethign else. It's not "signed vs unsigned" chars.)
15:18 jnthn nwc10: Tried disabling spesh to make sure it's not another bug in there?
15:18 masak m: sub foo { my $s; (+($s += $_) for 1..3) }; say foo() # [Coke]: here's the result if we decont.
15:18 camelia rakudo-moar 9a6644: OUTPUT«1 3 6␤»
15:18 masak [Coke]: do you agree that it's a less surprising result?
15:19 jnthn 6 6 6 would be a beastly result... :P
15:19 nwc10 jnthn: I believe that I'd done that. Will retry
15:20 [Coke] masak: surprising or no, I want tickets of the form "this code generates result A when it should generate result B". not "we're not sure what's the right answer here..."
15:20 [Coke] because that kind of ticket stays open for 4 years.
15:20 masak *nod*
15:22 masak ok, I'll remove the "maybe", simply because I haven't seen and can't think of a use case that's more important than not letting [Coke] down.
15:23 chenryn joined #perl6
15:23 masak anyone from the future who knows of such a use case, take note: I consider uprooting my decision to be valid to the extent there's a use case to motivate it.
15:25 colomon joined #perl6
15:26 masak that may include but is not limited to someone who tries to implement this and notices that the correct implementation fails some (hard to dispute) previously passing spectest.
15:27 firefish5000 anyone know how to change panda's default home install directory on system installations? curently my @*INC has 'inst:/home/user/.perl6/2014.08-158-g9a66444'. which is changes on every upgrade.
15:28 masak n: sub foo { my $s; ($s += $_ for 1..3) }; say foo()
15:28 camelia niecza v24-109-g48a8de3: OUTPUT«Use of uninitialized value in numeric context␤  at /home/p6eval/niecza/lib/CORE.setting line 1389 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 301 (Any.Numeric @ 8) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/lyAl7MmdzM l…»
15:29 masak n: sub foo { my $s = 0; ($s += $_ for 1..3) }; say foo()
15:29 camelia niecza v24-109-g48a8de3: OUTPUT«1 3 6␤»
15:29 masak this is a data point, too. Niecza decontainerizes.
15:29 masak pugs: sub foo { my $s = 0; ($s += $_ for 1..3) }; say foo()
15:29 camelia pugs: OUTPUT«*** ␤    Unexpected "for"␤    expecting operator or ")"␤    at /tmp/ffUqX6tAIC line 1, column 32␤»
15:29 masak hehe.
15:30 masak pugs: sub foo { my $s = 0; for 1..3 { $s += $_ } }; say foo()
15:30 camelia pugs: OUTPUT«␤»
15:30 masak oh, Pugs.
15:30 * masak hugs Pugs
15:30 [Coke] anyone else use t/fudgeandrun?
15:31 [Coke] trying to figure out where Test::Util is included.
15:35 colomon FROGGS++: just installed v5 succesfully with panda.
15:37 kyun joined #perl6
15:38 JL235__ joined #perl6
15:41 raiph joined #perl6
15:42 chenryn joined #perl6
15:43 guru joined #perl6
15:47 chenryn joined #perl6
15:51 pmichaud good morning, #perl6
15:52 TimToady good morning indeed :)
15:52 kyunsiu good night……
15:53 masak pmichaud! \o/
15:53 masak pmichaud: I meant to ask you something... hold on.
15:53 pmichaud I'm just looking at the discussion in #77334
15:53 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=77334
15:54 masak oh right.
15:54 masak pmichaud: http://irclog.perlgeek.de/​perl6/2014-08-27#i_9250186
15:54 masak pmichaud: could you provide some background about *..* being illegal?
15:54 masak somehow I'm missing all traces of that decision in spec/implementations/backlogs.
15:55 pmichaud let me see if I can reconstruct it
15:55 masak yay
15:56 pmichaud it may take a bit
15:56 grondilu Configuring native build environment ................... JIT isn't supported on i586-linux-gnu-thread-multi-64int yet.
15:56 grondilu :/
15:57 masak pmichaud: no worries.
16:01 jeffreykegler joined #perl6
16:01 jeffreykegler re Marpa and the BNF for Perl 6:
16:02 jeffreykegler our volunteer from the Marpa side (Jean-Damien) has hoped to work up the BNF after finishing another projects, but this is taking longer than he thought.
16:02 jeffreykegler Just thought I'd let the backlog know there'll be delay.
16:03 TimToady well, we've been working on our end of it for 14 years now :)
16:03 molaf joined #perl6
16:03 moritz grondilu: you could try to patch Configure.pl and see if it works after all, if you force it
16:03 TimToady but thanks for the headsup
16:03 jeffreykegler TimToady: I have another unrelated question re LALR
16:03 * colomon thought he'd done something BNF-y a while back
16:04 jeffreykegler Why the switch in parsing strategies from Perl 5 to Perl 6
16:04 moritz grondilu: it might (or might not) just be a limit in the platform recognition code
16:04 TimToady colomon: wanna help someone write a BNF for p6?
16:04 * masak tends to think of Perl 6 grammars as "a better BNF" these days
16:04 jeffreykegler I can imagine why, but I think it'd be nice to have your reasons for the historical record
16:05 jeffreykegler If you guys want to do a Perl 6 BNF, I think it's something you'd find nice to have, and not just as a starting point for Marpa
16:05 hoelzro morning #perl6
16:05 colomon TimToady: I'd like to figure out what I've already done first.  ;)
16:05 carlin is there a way to make the perl6 script keep going if a C function called with NativeCall exit()s?
16:06 jeffreykegler It's good for reference -- when encountering a new language, it's the first thing I read, just to get oriented.
16:06 moritz carlin: I'm not aware of any
16:06 TimToady thing is, the grammar mutates as declaration happens, so about the best we can do is say this is what Perl 6 looks like at the top of your program, if you don't get too fancy
16:06 moritz carlin: will, forking first, maybe
16:06 FROGGS colomon: nice! :d
16:06 FROGGS ERR, :D
16:06 FROGGS dang capslock
16:07 moritz m: say uc 'dang capslock' # FTFY
16:07 camelia rakudo-moar 9a6644: OUTPUT«DANG CAPSLOCK␤»
16:07 carlin moritz: okay thanks, I'll try that
16:07 FROGGS colomon: btw, I have a commit bit for panda too, but I wanted to get tadzik++'s approval
16:08 colomon FROGGS: ah, well, I kind of wanted it ASAP.  ;)
16:08 TimToady jeffreykegler: I'm pretty sure I've scattered the reasoning over the historical record already, but "scattered" is the operative word there :)
16:08 moritz star: use NativeCall; sub fork(--> Int) is native() {}; fork(); say 42
16:08 camelia star-{m,p} 2014.04: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfile�None of the parametric role variants for 'Native' matched the arguments supplied.�Cannot call ''; none of these signatures match:�:(Mu ::$?CLASS ::::?CLASS, Routine $r, Str $libname)…»
16:08 moritz star: use NativeCall; sub fork(--> Int) is native('') {}; fork(); say 42
16:08 camelia star-m 2014.04: OUTPUT«Cannot locate native library '.so'␤  in method postcircumfix:<( )> at /home/p6eval/star-2014.04/languag​es/perl6/lib/NativeCall.pm6:127␤  in block  at /tmp/tmpfile:1␤␤»
16:08 camelia ..star-p 2014.04: OUTPUT«Cannot locate native library '.so'␤  in method postcircumfix:<( )> at /home/p6eval/star-2014.04/lib/parrot/6.1.​0/languages/perl6/lib/NativeCall.pm6:131␤  in any  at gen/parrot/BOOTSTRAP.nqp:1693␤  in block  at /tmp/tmpfile:1␤␤»
16:08 jeffreykegler TimToady: I've searched and found nothing.
16:08 colomon FROGGS: and it's version control, tadzik++ can always revert it if he hates it.
16:08 FROGGS star: use NativeCall; sub fork(--> Int) is native {}; fork(); say 42
16:08 camelia star-m 2014.04: OUTPUT«42␤»
16:08 camelia ..star-p 2014.04: OUTPUT«42␤42␤»
16:09 jeffreykegler It may be that I'm not scattered enough :-)
16:09 moritz FROGGS++
16:09 FROGGS cake &
16:09 masak LHF for someone: http://perl6.org/compilers/features lists Niecza/goto as not implemented. it is, at least partially.
16:09 jeffreykegler I'm particular interested in the negative side -- not the attractions of the new approach, but what (if anything) made you decide you had to give up on yacc.
16:10 TimToady but in short, LALR is very fast but stupid, and doesn't really know enough to give you a good error message in context, so mostly you get "Syntax error".
16:11 jeffreykegler That's what I thought would be the reasons
16:11 grondilu moritz: I can try but I don't have much hope.  I can see the current accepted arch are all 64 bits.
16:11 TimToady LALR was an optimization for slow computers, and computers are getting faster--admittedly there will always be reasons for fast parsers, but unless you're compiling millions of lines of code, that's not so important anymore.
16:11 kjs_ joined #perl6
16:11 TimToady LALR kinda forces you to write a lexer, and we wanted the lexer to write itself.
16:12 TimToady LALR doesn't like to switch languages in midstream, since it puts you into a superposition of states some of the time.
16:12 nwc10 jnthn: progress. Some combination of things, including possibly PEBKAC. Have yet to identify actual cause
16:12 TimToady but mostly, we didn't want to have to do all the workarounds we did in Perl 5 to get around yacc's limitations
16:13 masak TimToady: we tend to say that Perl 6 grammars induce a lexer. how feasible would it be (for whatever purpose) to actually derive an actual lexer from a given grammar?
16:13 TimToady it would be useful to have something like LALR as an optimization tool for P6 regex, but we want to get the semantics useful first from a regex viewpoint
16:14 chenryn joined #perl6
16:14 TimToady useful in the Perlian sense of practical
16:14 Rounin_ I'm very impressed with error messages in Eclipse... if I suddenly throw an exception to do some debugging, it immediately complains about unreachable code
16:14 hoelzro does anyone have any insights into improving Stringification for Regex's?
16:14 Rounin_ So now I've started doing if(3+3==6) ....
16:14 Rounin_ Hahaa, Eclipse!
16:14 TimToady and why P5 does all this impure stuff in regex that works in practice but not so much in theory :)
16:14 hoelzro I was thinking about it last night, and I'd like to take a shot at making it better
16:14 Rounin_ Let's see it beat The Halting Problem
16:15 jeffreykegler Btw, correct me if I'm wrong, but I believe Perl 5 was the most ambitious use of yacc ever -- most complex grammar.
16:15 TimToady but the biggie, we wanted to parse P6 with P6 "regex".
16:15 masak also, suggestion: break up "NFG as default, StrPos/StrLen" in http://perl6.org/compilers/features as two table rows "NFG as default", "StrPos/StrLen". one could be implemented wihtout the other.
16:15 jeffreykegler Which makes it a kind of high water mark in the history of LALR
16:15 * grondilu is recompiling, forcing JIT support on his 32 bit system.
16:15 TimToady and we wanted P6 to be extensible in a way that a 100-year language has to be
16:16 masak Rounin_: Java has always had a thing about dead code.
16:16 Rounin_ Yeah, hehe... You have a switch statement that returns something, and you have to put a "return null" at the end to get it to compile ;)
16:16 jeffreykegler Which is why I think of this as historically significant in parsing theory, and not just a matter of Perl history
16:17 masak Rounin_: it was the first thing that made me wonder if there shouldn't be a distinction between showstopper errors that really should prevent me from running my program, and merely highlight-worthy things that I might want to fix before committing.
16:17 masak Rounin_: I'd still like to see a language make that distinction in depth.
16:17 TimToady well, smushing together regex and parsers is what we felt we had to do to get those results
16:17 TimToady also a strict observance of one-pass parsing
16:18 Rounin_ Mm... Like something in between compiler warnings and errors or something?
16:18 masak TimToady: and an almost fanatical devotion to the pope.
16:18 TimToady no accidental genericity of language (intentional genericity is okay, in moderation)
16:18 * grondilu got a segmentation fault.  Not too surprising.  Reverting to default.
16:19 jeffreykegler TimToady: "accidental generacity" -- does that mean parsing more than you intended, a la LALR and Pegex.
16:19 mst joined #perl6
16:20 TimToady that means parsing the same thing twice as two different languages, which means you don't actually know what language you're programming in
16:20 TimToady see, for example, source filters in P5
16:21 masak Rounin_: yes, something like that. I tend to think of it as "the small loop" (think-write-run-think-write-run) and "the bigger loop" (change-commit-change-commit). some errors should prevent the "commit" step from happening, but not the "run" step.
16:21 * FROGGS .oO( "use Switch" - A Success Story )
16:21 TimToady they don't layer because each of them thinks "this is Perl 5 code", and all but one of the layers is wrong about that
16:21 masak Rounin_: I guess in that sense they are "between" errors and warnings, because probably warnings shouldn't prevent any of the steps.
16:21 TimToady so we wanted composable language mutation
16:21 FROGGS composable++
16:21 masak Rounin_: let's call them "orange errors", because run-preventing errors tend to be red, and warnings tend to be yellow. :)
16:21 TimToady same reasoning as moving from text macros to hygienic macros, writ large
16:22 masak or even AST macros. :)
16:22 masak (which may or may not opt for hygiene)
16:23 TimToady yes, AST is kind of a metalanguage for talking about language differences
16:23 pmichaud masak: aha.  The reference to *..* being illegal was in S03, not S02.
16:23 TimToady or, perhaps, a common language for a variety of surface languages
16:23 pmichaud link coming up
16:24 pmichaud masak: in fact, it's still there.
16:24 masak ooh
16:24 pmichaud S03:3541
16:24 synopsebot Link: http://perlcabal.org/syn/S03.html#line_3541
16:24 jeffreykegler joined #perl6
16:24 masak found it.
16:24 * masak blames the line
16:25 masak from Sep 2009. lwall.
16:25 pmichaud Probably because with  *..*  you don't know what type the range is.
16:26 pmichaud (and it's not entirely correct to assume numeric)
16:26 FROGGS m: say Date ~~ *
16:26 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:26 masak with all due respect, I call bullshit.
16:26 FROGGS everything should match against *..*
16:26 masak with Inf and -Int, you don't know what type you're matching either.
16:26 FROGGS and result to True
16:26 masak er, -Inf
16:26 FROGGS masak: that bloody typo! :P
16:26 pmichaud It's possible that the -Inf meaning came later
16:27 colomon pmichaud: I think that's true with -Inf..Inf as well, which is allowed  though that may be non-spec
16:27 masak FROGGS: actually, the reverse of what I made in 2011 ;)
16:27 pmichaud at any rate, the source of *my* change has been found.  :)
16:27 masak pmichaud++
16:27 pmichaud apologies for the typo in the commit message.
16:27 jeffreykegler OK, that explains some things you said to me earlier when we talked about multiple parsing phases.
16:27 pmichaud (four years ago)
16:27 masak no worries.
16:27 masak TimToady: permission to unspec *..* being illegal in S03? :)
16:27 * masak salutes, just in case
16:28 FROGGS -Inf..Inf sounds pretty Numeric to me fwiw... but cannot explain
16:28 pmichaud masak: you want it to be equivalent to   -Inf .. Inf   ?
16:28 masak yes.
16:28 brrt joined #perl6
16:28 pmichaud m:  say 'a' ~~  (-Inf .. Inf)
16:28 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:28 masak FROGGS: it's OK if people assume it's numeric only.
16:29 masak FROGGS: it will still work for Strs and Dates.
16:29 TimToady what do you return for the .min and .max, such that it works with before/after?
16:29 moritz m: say 'X' ~~ (-Inf .. Inf)
16:29 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:29 jeffreykegler "Accidental genericity" seems to be from linguistics.
16:29 pmichaud m:  say (-Inf .. Inf).min
16:29 camelia rakudo-moar 9a6644: OUTPUT«-Inf␤»
16:29 pmichaud m:  say (-Inf .. Inf).max
16:29 camelia rakudo-moar 9a6644: OUTPUT«Inf␤»
16:29 masak TimToady: I'm fine with it converting to -Inf..Inf under the hood, if that's necessary.
16:29 masak TimToady: what does 0..* currently do in that regard?
16:29 FROGGS masak: yeah, I think that is not too far off
16:29 pmichaud well, that's what    * .. and    .. *   currently do, iirc
16:29 masak m: say (0..*).max
16:29 TimToady jeffreykegler: it's not an either/or thing; I'd say that phrase is more of a hodgepodge of linguistics and CS
16:29 camelia rakudo-moar 9a6644: OUTPUT«Inf␤»
16:29 pmichaud they convert to -Inf and Inf
16:30 colomon m: say 'a' before Inf
16:30 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:30 masak right.
16:30 masak ok, I feel I have enough consensus for my silly crusade.
16:30 TimToady but the spec thinks Inf is larger than anything in any type
16:30 * masak goes ahead and makes the changes
16:30 TimToady and rakudo has mixed emotions about that
16:31 pmichaud masak: what's the use case for *..*, ooc?
16:31 masak TimToady: yes, but a loose consensus there seems to be that the spec is "right", and it's all just a SMOP.
16:31 TimToady the only use case is something that *must* be a Range, and wants to match everything
16:31 masak pmichaud: lack of surprising corner cases when synthesizing ranges from parts.
16:31 TimToady but it's absolutely not needed for smartmatching
16:31 TimToady since either True or * match everything already
16:31 pmichaud masak: we're synthesizing ranges using Whatever ?
16:32 colomon and you could always just type -Inf..Inf
16:32 masak sure, why not?
16:32 masak oh, here's another one.
16:32 masak someone has a big nice vertical lineup of ranges.
16:32 TimToady m: say 'b' ~~ 'a' .. Inf;
16:32 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:32 masak some of the ranges have whatever endpoints.
16:32 masak everything works, except *..*, where one has to break the symmetry and go *
16:32 TimToady m: say 'b' ~~ -Inf .. Inf;
16:32 camelia rakudo-moar 9a6644: OUTPUT«True␤»
16:33 masak someone becomes sad over this, and curses Perl 6 for its fickleness.
16:33 pmichaud I have no problem with allowing *..*, but I'd really like to make sure we know the reason it was disallowed in the first place
16:33 pmichaud rather than just say "oh, we don't remember why, let's change it."
16:33 colomon blame on S03?
16:34 masak I read through 566592f, and it doesn't really provide an explanation.
16:34 PotatoGim^Home joined #perl6
16:34 masak -    *..*        # "-Inf .. +Inf", really Ordered
16:34 masak +    *..*        # Illegal
16:34 masak there's no hint in the (rather verbose) commit message.
16:34 pmichaud well, that commit was a major refactor of ranges and sequences, iirc
16:34 masak aye.
16:35 domidumont joined #perl6
16:35 masak "Range objects are now primarily intervals in C<cmp>" -- maybe this is the reason?
16:35 masak m: say 42 cmp *
16:35 camelia rakudo-moar 9a6644: OUTPUT«WhateverCode.new()␤»
16:35 jeffreykegler I'll think this issue out a bit, but I think "accidental genercity" becomes much less of a threat if you are doing fully general BNF parsing.
16:35 jeffreykegler It becomes much easier to control and contain the sources of "accidents"
16:36 Alula_ joined #perl6
16:36 TimToady the thinking goes like: "*..* is useless for iterating, it's useless for smartmatching, it has an indeterminated type that is better matched by a role."
16:37 TimToady composability is the only reason for it, and Inf is a better candidate for that
16:37 pmichaud I'm not sure that "useless" implies "should be illegal", though.
16:37 masak +1
16:37 TimToady and * is a little too magical to be used as a composable object
16:37 masak this is the same kind of thinking that led us down the "Duration should disallow infix:<**>" path.
16:37 * pmichaud is unfamiliar with that path.
16:38 masak moritz wrote a blog post, I think.
16:38 masak *moritz++
16:38 pmichaud anyway, I'm glad I was able to pinpoint the source of the change :)
16:38 masak or maybe I did. I keep mixing the two of us up.
16:39 FROGGS O.o
16:39 masak http://perlgeek.de/blog-en/perl​-6/real-world-strikes-back.html
16:39 masak found it :)
16:39 * pmichaud reads
16:39 masak please read that one, and think on how that one applies to this situation ;)
16:39 * TimToady feels this discussion is largely a waste of time, and DOESTN'T ACTUALLY CARE what you do with *..* really, since it was put in there so that implementors wouldn't have to think about it
16:40 * TimToady is much more concerned with the fact that 'use fatal' is currently dynamic than lexical
16:40 TimToady or that .plan hangs if you subscript it
16:40 pmichaud well, removing the *..* illegality actually simplifies the range code, I think.  :-)
16:40 TimToady or that he doesn't understand the reify/REIFY dance much at all yet
16:41 masak TimToady: sorry -- didn't mean to steal cycles better spent elsewhere.
16:41 masak I'll just shut up and make the change now, so we can all move on in life.
16:41 TimToady I have no objection to changing *..* back, if it's easy and has decent semantics
16:41 pmichaud (real world strikes back)++     # I've always detested restrictions on date/time operations
16:41 pmichaud if I want to say "January 34th, 2011", it should just work.
16:41 nwc10 $ ./perl6-m -e 'say $*DISTRO'
16:41 nwc10 linux (2.6.32.279.19.1.el.6.ppc.64)
16:42 TimToady a lot of the spec changes at that time were based on perceptions of implementability
16:42 pmichaud s/at that time were/are/  # :-)
16:43 TimToady jeffreykegler: yes, BNF basically has no concept of grammar mutation, so it comes down to switching to a different BNF within a scope, which degenerates to making sure all the superposed states of the subsidiary grammar all end in agreement at the same block terminator (however you define 'block')
16:44 TimToady which is certainly doable, if the terminator is not too squishy
16:44 rindolf joined #perl6
16:45 TimToady in P6 we tend to force the issue on any ), ], or }, which are always considered terminators
16:45 nwc10 jnthn: some combination of PEBKAC (ie actually install the fixed NQP), -fsigned-char, MVM_SPESH_DISABLE and building with -g. And a couple of spectests fail with SEGVs
16:45 TimToady but the subgrammar is often also checking for a specific GOAL token, if that is not one of the above
16:46 nwc10 jnthn: but reducing the above to the true cause is now a tractable optimisation problem.
16:46 nwc10 Win!
16:47 masak ah. I didn't blog about the Duration thing. I just (surprise!) kvetched about it online: http://irclog.perlgeek.de/​perl6/2010-11-07#i_2973261
16:47 TimToady and when goals overlap with other longer tokens, you have a potential genericity problem, so we try to avoid that
16:47 jeffreykegler OK.  I think I see.  The concern arises in a state-driven, deterministic context.
16:48 masak "no offense, but what you just said is so short-sighted it sounds like it came from a Python person." -- man, this guy is cynical :P
16:48 hoelzro how does one create new tags on RT?
16:48 pmichaud masak:  :-)
16:48 hoelzro I'd like to start tagging POD-related issues as such
16:49 pmichaud ...one of my rants about RT vs. git issues  :)
16:49 pmichaud "hard to create custom tags"
16:49 pmichaud hoelzro: the standard mechanism we've often used is to put   "[POD]"  in the ticket title
16:50 jeffreykegler In general BNF terms, you just have the possible rules at any moment, and they act as a kind of non-deterministic state -- though the issue does re-arise in the form of "What rule(s) am I looking for right now?"
16:50 hoelzro pmichaud: ah, that's a good idea!
16:50 TimToady basically, deterministic parsing is great at splitting into states, but lousy at making the arbitrary decisions necessary to bring things back together at the end of a construct, especially when language semantics and pragmatics start to come into play
16:51 TimToady therre's also some kind of sentiment in p6 that, if something is hard for a parser to do, it'll be hard for mere mortals to understand as well
16:52 jeffreykegler In Marpa, I use more power to transcend these issues, but they re-arise in the form of "OK, but how do you do this efficiently?"
16:52 TimToady which is why we go with simple operator precedence most of the teim
16:52 TimToady *time
16:52 pmichaud lunchtime -- bbl
16:52 TimToady despite the existence of parsers that can look at a series of intermixed terms and ops
16:53 jeffreykegler Which parsers are those?
16:53 * TimToady doesn't remember, because he wasn't terribly interested in them :)
16:53 mberends joined #perl6
16:54 * jeffreykegler suspect that in that case they wouldn't terribly interest him either.
16:55 TimToady but it's sort of a principle that the smarter the computer is acting, the smarter the user has to be to understand what the computer is doing well enough to program it
16:55 TimToady maintaining lots of state while parsing is just an application of that principle
16:55 mberends joined #perl6
16:55 TimToady humans solve it by backtracking occasionally
16:56 jeffreykegler I think a lot of what is "complex" or "smart" depends on the abstraction.
16:56 erdic joined #perl6
16:57 jeffreykegler That is regular expressions are a fairly natural boundary, so even if they are more complex than something else mathematically ...
16:57 TimToady despite having trillions of synapses, we generally guess which state we're going to reduce to on the fly, and throw the others away
16:57 jeffreykegler If it's a regex it's easier on the mind because it's a natural boundard.
16:57 TimToady yes, we're trying to hit a sweet spot between declarative and procedural
16:57 jeffreykegler General BNF is another natural boundary.
16:57 jeffreykegler LALR is cleary not a natural boundary
16:58 brrt left #perl6
16:58 dalek specs: cba89c2 | masak++ | S03-operators.pod:
16:58 dalek specs: [S03] re-allow whatever star on both sides of a range
16:58 dalek specs:
16:58 dalek specs: See http://irclog.perlgeek.de/​perl6/2014-08-30#i_9271208 (until
16:58 dalek specs: about 16:41 UTC) for the relevant discussion around the change.
16:58 dalek specs: review: https://github.com/perl6/specs/commit/cba89c2537
16:58 jeffreykegler So I think of it in terms of good boundaries and staying close to them.
16:59 * TimToady is not sure about BNF; psychologically we tend to do frame shifting in different linguistic settings (to the extent that kid who speaks language A at home and language B at school can't even speak A at school or B at home.
16:59 TimToady otoh, we have polyglot cultures that just freely intermix on the fly
16:59 TimToady so I can argue that one both ways, linguistically speaking
17:00 jeffreykegler Do you think any of the more powerful deterministic classes LL(*), etc. are more natural?
17:00 * TimToady is not really a theorist on that level :)
17:01 TimToady one of the motivations for installing EXPR (the op prec parser) as the glue in the layer cake was to prevent having to think about left recursion much
17:02 jeffreykegler I'm just trying to think of Perl 6 parsing in terms of a language class.
17:02 TimToady sort of one of those spots where you're in a superposition of states that mere mortals don't like
17:02 jeffreykegler And it seems sort of LL(something)
17:03 TimToady well, it's probably just simple LL with pragmatic kludges :)
17:04 TimToady the STD parse at one point at least noticed if the declarative prefix went recursive
17:04 jeffreykegler The advantage of staying deterministic is that you have more guarantees of keeping the efficiency under control.
17:04 TimToady dunno if rakudo does, and doesn't matter much when parsing P6 :)
17:05 jeffreykegler But I've been taking the approach of going for more powerful parsing, and trying within that to find the efficient subset.
17:06 TimToady basically, even if there's a left recursion, we assume there's some procedural decision that makes it unambigous somewhere along the cycle
17:06 jeffreykegler General BNF parsing, for example, "just solves", the left recursion issue, along with a lot of others.
17:07 TimToady well, so does operator precedence :)
17:08 TimToady and we're using the simplest thing that could possibly work, on that level
17:09 dalek roast: 782fee4 | masak++ | S02-types/range.t:
17:09 dalek roast: [S02-types/range.t] test for *..* being allowed and OK
17:09 dalek roast:
17:09 dalek roast: This commit conceptually reverts commit
17:09 dalek roast: d2b95d716762e427fe4692bbaeda8923d52b463f, though because so much
17:09 dalek roast: has changed since 2010 -- t/spec paths, test counts, the methods
17:09 dalek roast: of the names on the Range method -- I ended up doing the revert
17:09 dalek roast: manually.
17:09 dalek roast: review: https://github.com/perl6/roast/commit/782fee4de0
17:09 PZt joined #perl6
17:09 jeffreykegler 14 years ago, it was almost only thing that did work.
17:09 TimToady I'm not opposed to fancier parsing techniques per se, as long as the user doesn't have to care, but at this point I tend to take the bear of very little brain approach to design
17:10 TimToady indeed, I used to use LALR, which is pretty fancy in its inimitable way
17:10 jeffreykegler I'm hoping Marpa will do what yacc/LALR promised but never delivered on.
17:10 TimToady and had to work pretty hard to work around its deficiencies as a human language parser
17:11 jeffreykegler i've read the Perl 5 parser carefully
17:11 TimToady that'd be cool
17:11 TimToady my...condolences...
17:11 jeffreykegler In fact, I've gone back into the archives and read each of the versions.
17:11 jeffreykegler Perl 1, 2, 3 ...
17:12 jeffreykegler I notice, for example, that the parser is almost as complex in Perl 1 and it is in Perl 5.
17:12 TimToady so you know that, of the 4 or 5 ways a compiler can lie to itself, Perl lied to itself 7 or 8 ways... :)
17:12 dalek rakudo/nom: b2becaa | masak++ | src/core/Range.pm:
17:12 dalek rakudo/nom: [src/core/Range.pm] allow *..*
17:12 dalek rakudo/nom:
17:12 dalek rakudo/nom: It now means -Inf .. Inf.
17:12 dalek rakudo/nom:
17:12 dalek rakudo/nom: See the following resources for rationale:
17:12 dalek rakudo/nom:
17:12 dalek rakudo/nom: - http://irclog.perlgeek.de/​perl6/2014-08-30#i_9271208 (until 16:41)
17:12 dalek rakudo/nom: - spec:cba89c2537d100be8fac3a5d13200671afd3243f
17:12 dalek rakudo/nom: - roast:782fee4de0817a1950d7d4744f0a45f3836e7d3d
17:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2becaaec3
17:12 TimToady there were some simplifications between 4 and 5
17:12 jeffreykegler LALR downfall was that it required custom hacks, but was not at all friendly to them.
17:13 FROGGS m: my $foo = "foo"; my $bar = "bar.com"; say "{$foo}@{$bar}"
17:13 camelia rakudo-moar 9a6644: OUTPUT«postcircumfix:<{ }> not defined for type Array␤  in method Str at src/gen/m-CORE.setting:13275␤  in method Stringy at src/gen/m-CORE.setting:1094␤  in block <unit> at /tmp/heQfVaeR00:1␤␤»
17:13 masak m: my $foo = "foo"; my $bar = "bar.com"; say "{$foo}\@{$bar}"
17:13 camelia rakudo-moar 9a6644: OUTPUT«foo@bar.com␤»
17:13 jeffreykegler I wrote a blog post about the "use" statement in Perl 5, which is an example of what I think you call lying.
17:13 masak FROGGS: @ interpreted as a sigil.
17:14 FROGGS masak: yes, since about 24 hours or so :o)
17:14 FROGGS that happens in LWP::Simple btw
17:14 TimToady yes, the primary way to redirect a LALR parse is to lie about what tokens are coming, basically
17:14 jeffreykegler You know the Abe Lincoln saying, "Once a cat's been burned, he won't even sit on a cold stove."
17:15 FROGGS m: say "foo@bar.com"
17:15 camelia rakudo-moar 9a6644: OUTPUT«foo@bar.com␤»
17:15 FROGGS okay, that still works, nice
17:15 TimToady with P6 we integrated the procedural decisions into the declarative, so you can just <?{ some assertion }> and validate/invalidate a parse
17:16 jeffreykegler How is the boundary between operator precedence and your more general LL parsing determined?
17:16 TimToady the fact of the existence of the procedural decision is declared there :)
17:16 FROGGS moritz: can you merge please? https://github.com/cosimo/perl6-lwp-simple/pull/36
17:17 jeffreykegler Looking at PGE and all I never could figure out how that was to work.
17:17 FROGGS ohh, moritz++ is probably enjoying a dinner right now :o)
17:17 TimToady well, every call to termish or infixish is a call back into LL land, and you just have to know the terminators for when to stop the operator precedence dance
17:18 TimToady and EXPR just looks like an ordinary token to LL
17:18 TimToady s/token/rule/
17:19 jeffreykegler OK that makes sense.
17:19 anaeem1_ joined #perl6
17:19 jeffreykegler Would it be fair to say it's a more systematic way of doing what done a lot in recursive descent parsers?
17:19 TimToady the fancy PEG bits are not inside EXPR at all, that's all LL land, specifically driven by alternations
17:20 * TimToady is unclear on the antecedent of "it"
17:20 * jeffreykegler was referring to the lines at http://irclog.perlgeek.de/​perl6/2014-08-30#i_9271783
17:21 anaeem1_ joined #perl6
17:22 TimToady well, it's a system that works for parsing P6, but any kind of parser could be inserted at the same spot, and just use LL-land for its tokenizer
17:22 jeffreykegler OK
17:22 TimToady so in a sense our parser is the simplest of a class of hybrids
17:23 jeffreykegler Do you know of ANTLR?
17:23 * TimToady looked at it a little once, and has forgotten most of it since
17:23 hoelzro masak: I saw you reported an issue about "say DOC BEGIN { 4 }" a few years ago
17:23 masak another LHF: http://rosettacode.org/wiki/Metaprogramming#Perl_6 claims no implementation supports hygienic macros. Rakudo does.
17:23 kyunsiu joined #perl6
17:23 hoelzro I'm looking at fixing it, but I'm unclear as to what it should *do*
17:23 masak hoelzro: have you checked S26?
17:23 hoelzro yes
17:24 mj41 joined #perl6
17:24 hoelzro did some searching for DOC BEGIN, anyway
17:24 masak there's exactly one mention of DOC BEGIN in S26.
17:24 hoelzro it just seems like the say wouldn't be evaluated when using --doc, and the DOC BEGIN wouldn't be without --doc
17:24 masak S26:2822.
17:24 synopsebot Link: http://perlcabal.org/syn/S26.html#line_2822
17:25 jeffreykegler I make the comparison because both Perl 6 and ANTLR seem to be systematic approaches to left parsing plus pragmatic hacks.
17:25 masak hoelzro: the 'DOC' makes it run only when using --doc. the 'BEGIN' makes it run at parse time. I think that's it.
17:25 masak as in, I don't think there's more to it than that.
17:25 masak m: DOC BEGIN { say "guess we won't see this" }
17:25 camelia rakudo-moar 9a6644: ( no output )
17:26 TimToady jeffreykegler: you have to understand that my perceived job is merely to understand the fire I've personally stolen from the gods, not to understand all the fires of the gods. :D
17:26 hoelzro masak: right, but what about the say call prepended to that?
17:26 hoelzro does it ever get evaluated?
17:26 hoelzro (if using --doc, that is)
17:26 jeffreykegler I don't claim to understand all this stuff myself.
17:27 masak $ perl6 --doc -e 'DOC BEGIN { say "OH HAI" }'
17:27 masak OH HAI
17:27 jeffreykegler The big feature of ANTLR AFAICT is that he attempts to use tables, a la LALR.
17:27 masak seems we have DOC BEGIN already.
17:27 TimToady my real job is culture formation, and that's too broad a subject to get bogged down in any one aspect of it, so I cheat all over the place :)
17:27 hoelzro masak: I think the bug is that the error message is weird
17:28 masak hoelzro: I don't understand the question. can you rephrase, perhaps using running code and camelia?
17:28 hoelzro but I want to consider the intended behavior if I fix this
17:28 jeffreykegler That is, LALR used tables heavily, but left well known is that there are LL tables.
17:28 hoelzro sure
17:28 hoelzro perl6 -e 'say DOC BEGIN { 4 }' # what should this print?
17:28 hoelzro perl6 --doc -e 'say DOC BEGIN { 4 }' # what should this print?
17:28 jeffreykegler LL tables are less well known because in practice they are almost never used.
17:29 masak hoelzro: $ perl6 --doc -e 'say 4' # prints nothing -- I don't see why your first case should be any different.
17:30 jeffreykegler My main source of information about hot new parsers is searching the net for statements like, "I thought about using Marpa, but decided to use X instead." :-)
17:30 hoelzro masak: seems reasonable
17:31 firefish5000 is there currently a way to permanitly add/change a CompUnitRepo::Local::Installation for a user? prehaps via a libraries.[cfg|json] file
17:31 hoelzro I'm just thinking about what the Actions for DOC BEGIN should look like without --doc
17:31 hoelzro because that say is getting evaluated
17:31 hoelzro I'm thinking it should probably be something like say if(0) { True }
17:31 masak hoelzro: re the second case: I don't see why it should print anything. the `4` may well be returned as the value of the DOC BEGIN, but the `say` is not run, because we're not running the normal mainline code, because we're passing --doc
17:31 hoelzro m: say if(0) { True }
17:32 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m�Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens�at /tmp/F37zD2BF1S:1�------> [32msay if[33m�[31m(0) { True }[0m�Unexpected block in infix position (two terms in a row)�at…»
17:32 hoelzro m: say if 0 { True }
17:32 camelia rakudo-moar 9a6644: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Vq8WS12eA1â�¤Unsupported use of bare 'say';  in Perl 6 please use .say if you meant $_, or use an explicit invocant or argumentâ�¤at /tmp/Vq8WS12eA1:1â�¤------> [32msay [33mâ��[31mif 0 { True }[…»
17:32 hoelzro masak: I'm thinking about the without --doc case at the moment
17:32 masak right. hold on :)
17:32 masak m: say BEGIN {}
17:32 camelia rakudo-moar 9a6644: OUTPUT«Nil␤»
17:32 masak that seems to be a good inspiration :)
17:33 hoelzro ok, that's what I was thinking =)
17:33 masak or even
17:33 masak m: say END {}
17:33 camelia rakudo-moar 9a6644: OUTPUT«Nil␤»
17:33 hoelzro thanks for clearing that up!
17:33 masak oh, same.
17:33 jeffreykegler Anyway, it's been very informative.
17:33 masak m: say do if 0 { True }
17:33 camelia rakudo-moar 9a6644: OUTPUT«Nil␤»
17:34 jeffreykegler Jean-Damien *is* interested, but overloaded, and once he was has Perl 6 BNF and we can do a prototype, we'll have something more specific to talk about.l
17:34 hoelzro so Nil it is
17:34 masak hoelzro: (need `do` on there, because `if` is a statement form, not an expression)
17:34 masak jeffreykegler: looking forward to such a prototype!
17:34 hoelzro ah, good to know!
17:35 jeffreykegler masak: thanks!
17:35 kjs_ joined #perl6
17:36 dalek rakudo/nom: c57f122 | (Rob Hoelz)++ | src/Perl6/Actions.nqp:
17:36 dalek rakudo/nom: Make DOC blocks evaluate to Nil when not using --doc
17:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c57f122733
17:36 jeffreykegler And this is perhaps not a bad point to thank all of you in the Perl 6 community -- in addition to the technical insights, you've provided inspiration and a role model.
17:36 hoelzro masak: done =)
17:36 TimToady you're welcome!
17:36 masak hoelzro++
17:37 masak jeffreykegler++ # thank *you* for Marpa -- likewise an inspiration and a role model!
17:38 * TimToady tries feebly to backlog again...  :)
17:43 anaeem1 joined #perl6
17:43 ivanshmakov joined #perl6
17:44 * masak has been very happy writing exploration code in Perl 6 most of the day
17:45 masak in 2014 more than any previous year, and with Perl 6 more than any language, I feel that I can "think in Perl 6", and have more or less a direct dialogue between myself and the language runtime.
17:46 masak I guess that's my way of saying "I don't suffer from any showstopping bugs anymore" ;)
17:46 TimToady except *..* :P
17:46 FROGGS[mobile] joined #perl6
17:46 masak you brought it up, not me :P
17:47 masak 'sides, I just fixed that, so...
17:47 TimToady could you just fix NFG and native arrayw now too :)
17:47 timotimo i'd like that :)
17:47 * masak .oO( *phew*, he typo'd "arrays", otherwise I'd've had to do it! )
17:48 TimToady that's just the plural in some language resembling Welsh in orthography
17:48 timotimo don't try to outlinguistify larry wall! ;)
17:49 masak darn.
17:49 TimToady rhymes with "mystify" :)
17:49 TimToady I am not a linguist, but I play one all the time.
17:50 masak anyway, my prime sources of euphoria today, without going into detail, have been: (a) defining lots of custom Unicode prefixes, infixes, and circumfixes, and then using them in code as if they were a natural part of the language.
17:50 masak (hence my discovery of some iffy chicanery)
17:50 TimToady sounds...fiddly...
17:51 masak (b) declaring classes and subtypes, and then dressing them up in syntax (with above-mentioned ops) and laws (with subs, backed by tests)
17:51 TimToady sounds...categorically...
17:51 masak (c) generally using metaops on my ops. I still can't really believe that works. :) mostly I used Zop this time. I've also been known to [op]
17:52 colomon joined #perl6
17:52 TimToady there's little point in having a grammar with syntactic categories unless you're going to use them productively
17:52 masak right.
17:53 masak or destructively :P
17:53 * colomon apologizes for being in and out of the channel, but is now lodged in from of the football game on TV
17:53 TimToady destructive processes are merely using the process of destruction productively :P
17:53 masak (d) summarizing small `for` loops as `so all` or `so any` constructs. I've made peace with junctions now by putting `so` on them in as small a scope as possible.
17:55 TimToady yes, junctions are the high nobles of a very small country
17:55 xenoterracide joined #perl6
17:55 TimToady the ordinary rules do not apply to them, unless they wander, and then they get into deep trouble
17:56 TimToady they live in the Land of Bool
17:56 colomon so what's the goal with having BNF in p6?
17:56 TimToady s/in/of/
17:57 masak I think that's it, those four things. I ended up stumbling over https://rt.perl.org/Ticket/Display.html?id=122653 and https://rt.perl.org/Ticket/Display.html?id=122654, but neither of them were show-stoppers.
17:57 TimToady to maybe get a marpa parser for standard p6 out of it
17:57 masak (and they're exactly the kind of bug that I'm happy I stumble over, rather than someone else)
17:57 TimToady that works at least up to the first language mutating declaratoin :)
17:58 * masak .oO( the limits of my mind are the limits of my language )
17:58 ivanshmakov joined #perl6
17:58 colomon TimToady: ah, so the goal is to parse p6 in BNF?
17:58 TimToady yes, the reverse Sapir-Whorf hypothesis
17:58 * colomon was thinking of the reverse, handling BNF grammars in p6
17:59 TimToady which is why I did the s/// on you
17:59 colomon I see
17:59 TimToady the other is certainly possible, but not what we were talking about
17:59 colomon gotcha.  That I certainly never had code for.  :)
18:00 TimToady reverse Sapir-Whorf was directed at masak++ if it wasn't clear
18:00 * colomon indeed went and googled it trying to figure out what it could have to do with him.
18:00 * colomon is triple-tasking here -- football and watching son open presents and IRC all at once.
18:01 * TimToady does not believe that a properly productive language, properly used, will limit what you can think, since you can always coin something new in such a language for a novel thought
18:01 timotimo christmas comes early to colomon's family this year? :)
18:02 colomon timotimo: visiting my parents two weeks before their grandson's birthday
18:03 timotimo ah :)
18:03 masak TimToady: it's a Wittgenstein quote: "Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt."
18:03 TimToady well, but that's more like standard SW, if I read it aright
18:03 mberends joined #perl6
18:03 masak yes.
18:03 masak oh, it's from Tractatus, even.
18:04 * TimToady prefers to think that his language is limited by the capacity of his mind
18:04 masak depends if you say what you think you mean :P
18:05 TimToady but perhaps I have the make-stuff-up-ishness of English to explain that sentiment
18:06 TimToady but yeah, it's a dance of two partners, and information flows both ways
18:06 TimToady we have "lexotic" because a concept flowed out of the language
18:07 TimToady but that's the whole deal with memes and cultures: they infest us, and we infest them.
18:08 masak TimToady: to what extent are you aware of Domain Driven Design (and its attitude towards the interplay of language and design/development)?
18:08 geekosaur yep. S-W never made much sense to me, it's an organic system which means it's all tangled together on multiple levels
18:08 TimToady I've heard what you've said on the subject...
18:08 timotimo we infest heavily in memes and stuff.
18:08 TimToady well, s/said/wrote here/
18:09 masak TimToady: oh, then I feel I should do better. hold on, I'll grab my e-book.
18:09 * TimToady stops feebly trying to backlog again...
18:10 TimToady starting a cult is hard work...er...culture...
18:10 molaf_ joined #perl6
18:12 masak "A project needs a common language that is more robust than the lowest common denominator. With a conscious effort by the team, the domain model can provide the backbone for that common language, while connecting team communication to the software implementation. That language can be ubiquitous in the team's work."
18:12 masak "The model relationships become the combinatory rules all languages have. The meanings of words and phrases echo the semantics of the model."
18:13 TimToady well, they use the term "language", but really, it's about cultural evolution
18:13 TimToady a common failing of linguists is to assume language is everything :)
18:13 kjs_ joined #perl6
18:13 TimToady but maybe they're limited by their language there... :P
18:14 masak "As gaps are found in the language, new words will enter the discussion. *These changes to the language will be recognized as changes in the domain model* [...]"
18:14 masak it only now occurs to me that one reason this resonated with me when I first read it (back in 2011) is that I had already seen the #perl6 community process in action.
18:15 TimToady sure, once we coined "lexotic" it immediately became clear that we had to classify everything as in or out or hybrid
18:15 masak "Domain experts should object to terms or structures that are awkward or inadequate to convey domain understanding; developers should watch for ambiguity or inconsistency that will trip up design."
18:17 TimToady cultures of all sorts come in conservative and progressive varieties, and either new stuff or old stuff can get in the way of the other
18:17 TimToady there always has to be a balance, and poeple will never agree on where the balance should be :)
18:18 masak except in the Python community, where the correct balance is helpfully mandated from above :P
18:18 TimToady I disagree :)
18:23 TimToady Some find the old ways intolerable, some find the new ways intolerable, and some find the mixture of old ways and new ways to be intolerable.  Which I find to be intolerable.
18:23 [Coke] people looking for LHF should probably not be encouraged to poke at niecza at this point, masak.
18:23 FROGGS grondilu: ping
18:24 * TimToady looks around for his feeble backlog again
18:26 virtualsue joined #perl6
18:27 [Coke] hoelzro: (new tags) someone (usually me) opens a ticket.
18:27 [Coke] let me if you prefer a "real" tag over a subject [TAG]
18:27 masak 'night, #perl6
18:27 hoelzro [Coke]: alright, thanks
18:27 FROGGS gnight masak
18:27 hoelzro o/ masak
18:27 TimToady o/
18:27 colomon \o
18:28 hoelzro [Coke]: I was hoping for a POD tag, but I wouldn't say it's critical
18:29 bcode joined #perl6
18:30 mr-fooba_ TimToady: there is no mention of debugger in the synopsis.
18:30 tadzik computer, messages
18:30 tadzik oh, hm
18:31 TimToady mr-foobar: we don't really consider the debugger to be part of the language these days, so it's an external module
18:32 tadzik colomon, FROGGS: I don't hate the changes, I'm glad they're there :)
18:32 colomon \o/
18:32 TimToady and, while we're trying to document the culture as well as the language, that tends to lag behind
18:32 tadzik colomon++ FROGGS++
18:32 FROGGS tadzik: so it is oaky if I commit changes to master if *I* feel they are sane? (and do not break on older rakudos)
18:32 tadzik there's code duplication in there that probably wants to be abstracted in some way, but it's definitely a good move
18:32 tadzik FROGGS: oh, by all means
18:32 FROGGS k
18:33 tadzik FROGGS: I think compatibility is way more important than sanity
18:33 FROGGS tadzik: I know :o)
18:33 [Coke] hoelzro: keep hoping, I'llopen a ticket.
18:33 hoelzro ok =)
18:34 FROGGS that's why I would probably panic before doing a commit to P5's CPAN client
18:35 TimToady so maybe whoever owned planeteria.org decided to take August off?
18:35 TimToady we need a long-term solution for this...
18:37 [Coke] they are working on it.
18:37 [Coke] we had a solution: perl.org. perl.org decided to stop hosting this service.
18:37 TimToady .oO(perl.org is a dead end...)
18:40 mr-foobar TimToady: for a everything-is-an-expression/vm language, the debugger follows naturally. don't know if C++ spec mentions a debugger ( java has an api )
18:41 TimToady we have a debugger than jnthn++ wrote, it's just not in the synopses
18:45 grondilu FROGGS: pong
18:45 FROGGS grondilu: can you please merge this? https://github.com/grondilu/libdigest-perl6/pull/4
18:46 grondilu done
18:47 FROGGS thanks :o)
18:51 zakharyas joined #perl6
18:51 [Coke] (use of '_' as an identifier might not be supported in releases after Java SE 8)
18:51 [Coke] ^^ nqp build warning
18:53 TimToady so what's the easiest way to maintain a "blead star"?
18:54 TimToady and should we have that as a cultural concept?
18:54 TimToady I mean the "current star" concept, not the "blead" meme
18:55 TimToady seems like we rely too much on star catching up at the last moment, when we should be trying to track
18:55 [Coke] "build the latest compiler and all the modules you care about as often as you want".
18:55 TimToady hard
18:55 [Coke] TimToady: https://github.com/coke/rakudo-star-daily ?
18:55 tadzik or Task::Star :)
18:55 tadzik not sure how up-to-date it is :(
18:55 TimToady is that "productized" so mere mortal developers can use it?
18:56 tadzik I created it because I thought it's necessary, and then didn't maintain it much. Like every project I ever started
18:56 [Coke] TimToady: right now it runs once a day on a schedule, uses the latest parts it can, and reports on test failures on build and or on modules.
18:57 TimToady but what if someone wants to duplicate that locally, like to see how a change affects star overall?
18:57 [Coke] getting tons of failures here for jvm, parrot, & moar.
18:58 [Coke] I cannot tell who TimToady is talking to.
18:58 TimToady similar to how bench should be easier to set up locally
18:58 * TimToady is just talking to the world in general, in a solipsistic sort of way
19:00 [Coke] I would be happy if we could be more proactive about the failures on rakudo-star-daily and make it easier for people to do something about them.
19:00 [Coke] I am pretty sure that people that do star releases are not looking at this data as it stands.
19:01 dalek star: 8c8b8a7 | (Tobias Leich)++ | tools/build/module-install.pl:
19:01 dalek star: precompile files just get compext appended now
19:01 dalek star: review: https://github.com/rakudo/star/commit/8c8b8a7f3a
19:01 * [Coke] will go through again and start opening tickets.
19:02 FROGGS [Coke]: how can you test star daily when it cannot even build the modules?
19:02 FROGGS the patch that I just did fixes it
19:03 FROGGS [Coke]: look at all these SORRYs: https://github.com/coke/rakudo-star-dail​y/blob/master/log/MoarVM-build.log#L372
19:04 FROGGS hmm, probably this tests against the not-precomped module: https://github.com/coke/rakudo-star-daily/b​lob/master/log/MoarVM-test-modules.log#L29
19:05 BenGoldberg joined #perl6
19:05 FROGGS hoelzro: do you know anything about that? Invalid typename 'Pod::Raw' in parameter declaration.
19:05 FROGGS at /home/froggs/dev/star/work-m/rakudo-star-2014.08​/install/languages/perl6/lib/Pod/To/HTML.pm:498
19:05 FROGGS ------> multi sub node2text(Pod::Raw⏏ $node) returns Str {
19:05 moritz FROGGS: it means that youre rakudo is too old
19:05 moritz FROGGS: or the Pod::To::HTML is too new
19:05 FROGGS ohh
19:06 FROGGS I use the 2014.08 release of rakudo...
19:06 moritz FROGGS: then revert to Pod::To::HTML 451c39c2108d0f203a3085ca3d6746b1750dccfb
19:06 FROGGS moritz: thanks!
19:11 hoelzro FROGGS: that doesn't look too familiar
19:12 FROGGS hoelzro: moritz knew the answer already :o)
19:13 hoelzro oh, yeah, that should work
19:21 dalek star: 414b5d7 | (Tobias Leich)++ | / (2 files):
19:21 dalek star: get rid of "no rule to make target `clean`, Error 2"
19:21 dalek star:
19:21 dalek star: This annoyed me for a long time now... Everytime I've seen it I thought:
19:21 dalek star: Ohh noes! Configure failed! But when you carried on reading it stated
19:21 dalek star: that everything is well and that you can now `make`.
19:21 dalek star: review: https://github.com/rakudo/star/commit/414b5d761f
19:23 TimToady (star maint)++
19:24 TimToady (and everyone involved)++
19:28 FROGGS okay, star-m passes all module tests
19:29 TimToady we'll see about that! :)
19:29 TimToady but that basically means we don't need the lolligag check for star anymore
19:29 TimToady assuming LOLLY isn't set somewhere
19:30 FROGGS LOLLY is not set on my box
19:30 TimToady well, something could set it internally, but I doubt anyone did that
19:30 FROGGS very unlikely
19:31 TimToady well, except the test harness that comes with post-2014-08 sets it, which I guess you're using
19:31 FROGGS LOLLY only shows up in rakudo/docs/ rakudo/src and rakudo/t/spec
19:31 TimToady so maybe we really haven't tested star for old lol syntax yet, unless that's using the old compiler
19:32 FROGGS I am using the 2014.08 release tarball which uses a snapshot of the spectests from the day of the release
19:32 TimToady ok, good
19:32 TimToady that means star is vetted for lolligags now, yay
19:32 FROGGS I can run the module tests using LOLLY if you want
19:33 FROGGS or is setting LOLLY the opposite direction?
19:33 TimToady well, shouldn't make a difference, since by definition if LOLLY isn't set, they aren't using any lollipops
19:33 TimToady since it would error if they were
19:33 TimToady and LOLLY only changes things if they were actually using the (;) syntax
19:34 FROGGS (;) looks like a butt if you ask me :/
19:34 TimToady so it was all kind of a tempest in a teapot, but we had to check it at least once
19:35 * TimToady didn't ask
19:35 FROGGS conversation terminated; # :o)
19:35 TimToady though (|) has problems that way too, and actually occurs in code
19:36 TimToady ah well, to the pure, all things are pure...
19:36 FROGGS that reminds me of something
19:36 FROGGS m: -Int
19:36 camelia rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context  in block <unit> at /tmp/T45uO05Cps:1␤␤»
19:36 FROGGS \o/
19:36 FROGGS m: say -Int
19:36 camelia rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context  in block <unit> at /tmp/aEYW1MC59s:1␤␤0␤»
19:37 FROGGS (it didnt warn until this morning)
19:37 pmurias joined #perl6
19:37 TimToady because masak botched the test 3 years ago, apparently
19:37 dalek nqp-js: c9a8aab | (Pawel Murias)++ | src/vm/js/ (2 files):
19:37 dalek nqp-js: Implement return (doesn't work yet from a nested block).
19:37 dalek nqp-js: review: https://github.com/pmurias​/nqp-js/commit/c9a8aab74d
19:37 dalek nqp-js: 9dbd407 | (Pawel Murias)++ | src/vm/js/ (2 files):
19:37 dalek nqp-js: Pass test 17.
19:38 FROGGS yeah
19:38 * TimToady wishes all his botches were so easily remedied...
19:38 dalek joined #perl6
19:48 FROGGS m: my %hash = 200 => 'ok'; say %hash{200}:exists
19:48 camelia rakudo-moar c57f12: OUTPUT«True␤»
19:48 FROGGS p: my %hash = 200 => 'ok'; say %hash{200}:exists
19:48 camelia rakudo-parrot c57f12: OUTPUT«This type cannot unbox to a native string␤  in method exists_key at gen/parrot/CORE.setting:9502␤  in method exists_key at gen/parrot/CORE.setting:9491␤  in block  at gen/parrot/CORE.setting:2196␤  in sub postcircumfix:<{ }> at gen/parrot/CORE.se…»
19:48 FROGGS -.-
19:50 FROGGS j: my %hash = 200 => 'ok'; say %hash{200}:exists
19:50 camelia rakudo-jvm c57f12: OUTPUT«(timeout)»
19:53 TimToady m: try EVAL '-Int';
19:53 camelia rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context  in block <unit> at EVAL_0:1␤␤»
19:54 TimToady m: use Test; eval_lives_ok '-Int', '-Int warns (and yields 0) but does not give an error';
19:54 camelia rakudo-moar c57f12: OUTPUT«use of uninitialized value of type Int in numeric context  in block <unit> at EVAL_0:1␤␤ok 1 - -Int warns (and yields 0) but does not give an error␤»
19:54 FROGGS TimToady: should it do something else in a try EVAL?
19:55 TimToady I get a Bus Error here on that test (or perhaps as a result of a previous test)
19:55 FROGGS eww
19:55 TimToady might not be this test's fault
19:55 FROGGS then you do not have latest rakudo
19:55 FROGGS yesterday's rakudo did nqp::neg_I(Int) and buserror'd
19:56 FROGGS m: nqp::neg_I(Int)
19:56 camelia rakudo-moar c57f12: OUTPUT«===SORRY!===␤Arg count 1 doesn't equal required operand count 3 for op 'neg_I'␤»
19:56 FROGGS m: nqp::neg_I(Int, Int)
19:56 camelia rakudo-moar c57f12: ( no output )
19:56 FROGGS well, the old one did
19:57 FROGGS star-m: nqp::neg_I(Int, Int)
19:57 camelia star-m 2014.04: OUTPUT«(signal )»
19:57 TimToady okay, will gp
20:00 TimToady literally, since I have that as an alias
20:01 FROGGS I have a, g, t, ml and p to build Perl5::Action, Grammar, etc
20:04 kurahaupo joined #perl6
20:05 bjz joined #perl6
20:06 timotimo gp? git push?
20:06 FROGGS pull
20:07 timotimo ah
20:08 timotimo m: my \self = NaN but role FreeMan {}
20:08 camelia rakudo-moar c57f12: ( no output )
20:11 TimToady actually, git pull --rebase
20:12 bjz joined #perl6
20:14 jack_rabbit joined #perl6
20:24 BizarreCake joined #perl6
20:27 bjz_ joined #perl6
20:29 dolmen joined #perl6
21:07 FROGGS @all: star-p still fails the jsonrpc tests, but I am going to release anyway
21:09 timotimo we're getting a star release this month? nice :)
21:09 FROGGS the last one is from apr or mar :(
21:09 FROGGS so we have to
21:14 timotimo yeah
21:19 dalek star: 008b70b | (Tobias Leich)++ | docs/announce/2014.0 (2 files):
21:19 dalek star: add announcement for 2014.08
21:19 dalek star: review: https://github.com/rakudo/star/commit/008b70b1fe
21:20 timotimo so changelog :)
21:20 dalek star: d96e37a | (Tobias Leich)++ | tools/ (2 files):
21:20 dalek star: update version to 2014.08 (and 6.7.0 for parrot)
21:20 dalek star: review: https://github.com/rakudo/star/commit/d96e37a9a6
21:20 japhb Star release?  YES!  \o/
21:21 dalek star: 6c8fe78 | (Tobias Leich)++ | modules/ (12 files):
21:21 dalek star: update shipped modules
21:21 dalek star: review: https://github.com/rakudo/star/commit/6c8fe780a3
21:22 zakharyas joined #perl6
21:22 dalek star: 11f446f | (Tobias Leich)++ | README:
21:22 dalek star: update version in README
21:22 dalek star: review: https://github.com/rakudo/star/commit/11f446f89e
21:30 dalek roast: ee1bd8d | TimToady++ | S05-mass/rx.t:
21:30 dalek roast: fix tests for &| and |&
21:30 dalek roast:
21:30 dalek roast: & is tighter than |, so |& is okay, since it implies a leading & in the
21:30 dalek roast: right side of |, but &|is not okay, since it implies trailing & in the
21:30 dalek roast: left of the |.
21:30 dalek roast: review: https://github.com/perl6/roast/commit/ee1bd8d632
21:31 japhb FROGGS: Some typos in announcement: 1. 'funtionality' (though I kinda like that spoonerism), 2. '$*VM, $*VM, $*PERL $*PERL', 3. 'in work for' (should be s/work/progress/)
21:31 FROGGS japhb: thanks, will fix
21:33 dalek star: c02a712 | (Tobias Leich)++ | docs/announce/2014.08.md:
21:33 dalek star: fix typos in announcement, japhb++
21:33 dalek star: review: https://github.com/rakudo/star/commit/c02a71247e
21:35 dalek rakudo/nom: 82871a8 | TimToady++ | src/Perl6/Grammar.nqp:
21:35 dalek rakudo/nom: simplify <variable> parsing
21:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/82871a8161
21:37 FROGGS huh, I've pushed now *all* tags for star, as if they were gone upstream O.o
21:38 japhb That's ... a tad odd.  Are you sure they're still pointing to the correct places?
21:38 diakopte1 my git client tells me it does that sometimes
21:38 japhb s/places/commits/
21:38 FROGGS japhb: it looks good
21:38 renormalist joined #perl6
21:41 ggoebel1111110 joined #perl6
21:41 dalek star: bd207f3 | (Tobias Leich)++ | tools/star/release-guide.pod:
21:41 dalek star: note 2014.08 release in release-guide.pod
21:41 dalek star: review: https://github.com/rakudo/star/commit/bd207f3afb
21:42 dalek rakudo/nom: 2e9a1d9 | TimToady++ | src/Perl6/Grammar.nqp:
21:42 dalek rakudo/nom: tighten check for $$ to not care about $$foo
21:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2e9a1d9b2f
21:45 dalek perl6-bench: 342d533 | (Geoffrey Broadwell)++ | / (2 files):
21:45 dalek perl6-bench: Chase Rakudo implementation fix, #= --> #|
21:45 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/342d533dde
21:49 dalek star: da6f5ec | (Tobias Leich)++ | docs/announce/2014.08.md:
21:49 dalek star: adjust sentences about backend support
21:49 dalek star: review: https://github.com/rakudo/star/commit/da6f5ec801
21:54 dalek roast: d381d43 | TimToady++ | S32-exceptions/misc.t:
21:54 dalek roast: bare say produces X::Obsolete
21:54 dalek roast: review: https://github.com/perl6/roast/commit/d381d43fe1
21:54 TimToady for some reason permutations.t fails under test harness but not when run by itself
22:00 FROGGS yeah, we have that with several test files from time to time
22:00 FROGGS I really do not favour this kind a behaviour
22:07 TimToady it appears to die with a SIGSEGV
22:16 TimToady this doesn't seem to be flapping, it's more like hard fail under the harness, never when run directly
22:17 FROGGS hmmm, it did not fail for me... but I was a few commits behind... upgrading now
22:18 FROGGS good that it just takes a few seconds to rebuild everything :o)
22:19 TimToady thing is, it's almost a trivial test file, just two is-deeplys
22:19 FROGGS still passes here...
22:20 TimToady huh
22:20 FROGGS when you set the 'merge' to zero in t/harness at line 104, does it still fail?
22:20 hoelzro FROGGS++ # star release
22:21 FROGGS hoelzro: you can sign up for the september one :o)
22:21 TimToady still fails
22:21 FROGGS it is less work than compiler release
22:21 FROGGS hmm...
22:21 ivanshmakov joined #perl6
22:21 hoelzro FROGGS: I thought it was quarterly now?
22:22 hoelzro also, september is a bad month for me (getting married in early October); I could do a Nov/Dec one, though!
22:22 FROGGS hoelzro: just because there were issues and no release managers
22:22 hoelzro ah ha
22:22 FROGGS ohh, then perhaps sign up for later :o)
22:23 FROGGS +1 for getting married btw *g*
22:23 TimToady star should eventually go continuous release to the extent it can
22:23 FROGGS TimToady: I would replace t/harness:39 by a gdb line I think
22:23 TimToady we'll have enough lag getting it into linux distribution channels without introducing more of our own
22:26 hoelzro thanks =)
22:28 Gruber joined #perl6
22:31 stux|RC-only joined #perl6
22:32 ntln joined #perl6
22:35 danaj joined #perl6
22:37 aborazmeh joined #perl6
22:40 araujo joined #perl6
22:42 japhb hoelzro: Congrats on upcoming marriage.  :-)
22:43 hoelzro japhb: thanks!
22:44 colomon oooo, congratulations, hoelzro!
22:44 dpk joined #perl6
22:45 hoelzro colomon: thanks =)
22:47 dpk left #perl6
22:58 xragnar_ joined #perl6
23:11 timotimo oh, yes! congrats!
23:13 dalek rakudo/nom: 5f9cd51 | TimToady++ | src/Perl6/Grammar.nqp:
23:13 dalek rakudo/nom: disallow anon sigils in quotes
23:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f9cd5182f
23:13 TimToady fixses t/spec/integration/advent2009-day16.t
23:13 TimToady yes, my precious!
23:17 TimToady hmm t/spec/integration/99problems-51-to-60.t also seems to be crashing on is_deeply
23:21 BenGoldberg say so "0e0";
23:21 BenGoldberg m: say so "0e0";
23:21 camelia rakudo-moar 2e9a1d: OUTPUT«True␤»
23:21 BenGoldberg m: say so "0 but true";
23:21 camelia rakudo-moar 2e9a1d: OUTPUT«True␤»
23:21 BenGoldberg m: say + "0e0";
23:21 camelia rakudo-moar 2e9a1d: OUTPUT«0␤»
23:22 BenGoldberg m: say + "0 but true";
23:22 camelia rakudo-moar 2e9a1d: OUTPUT«Cannot convert string to number: trailing characters after number in '0⏏ but true' (indicated by ⏏)␤  in method gist at src/gen/m-CORE.setting:13276␤  in sub say at src/gen/m-CORE.setting:14211␤  in block <unit> at /tmp/1gJeHMGAhk:1␤␤»
23:22 BenGoldberg m: say 0 but True
23:22 camelia rakudo-moar 2e9a1d: OUTPUT«0␤»
23:22 BenGoldberg m: say so 0 but True
23:23 camelia rakudo-moar 2e9a1d: OUTPUT«True␤»
23:24 hoelzro timotimo: thanks!
23:26 hoelzro if anyone's interested, I made a docker image with the new star release: https://registry.hub.docker​.com/u/hoelzro/rakudo-star/
23:27 hoelzro I figured it might be an easy way for new users to try out Rakudo!
23:29 dalek roast: 81e0f82 | TimToady++ | S32-exceptions/misc.t:
23:29 dalek roast: correct test of "$", should require \$
23:29 dalek roast: review: https://github.com/perl6/roast/commit/81e0f823f1
23:30 TimToady I think we're down to flapping is_deeplly tests
23:31 grondilu joined #perl6
23:31 grondilu p6: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $a, Foo $b) { i }; say pi * [ 0, 2 ];
23:32 camelia rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in block <unit> at /tmp/tmpfile:1␤␤»
23:32 camelia ..rakudo-jvm 2e9a1d: OUTPUT«(timeout)»
23:32 camelia ..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/tmpfile line 1:â�¤------> [32mere *.all %% 2; multi infix:<*>(Numeric [33mâ��[31m$a, Foo $b) { i }; say pi * [ 0, 2 ];[0mâ�¤  $b is declared but not used at /tmp/tmpfile line 1:â�¤---…»
23:32 camelia ..rakudo-parrot 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in any  at gen/parrot/BOOTSTRAP.nqp:913␤  in any  at gen/parrot/BOOTSTRAP.nqp:969␤  in sub infix:<*> at gen/parrot/CORE.setting:4406␤  in block <unit> at /tmp/tmpfile:1␤␤»
23:32 grondilu p6: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $a, Foo $b) { pi }; say pi * [ 0, 2 ];
23:32 camelia rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in block <unit> at /tmp/tmpfile:1␤␤»
23:32 camelia ..niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:â�¤  $a is declared but not used at /tmp/tmpfile line 1:â�¤------> [32mere *.all %% 2; multi infix:<*>(Numeric [33mâ��[31m$a, Foo $b) { pi }; say pi * [ 0, 2 ];[0mâ�¤  $b is declared but not used at /tmp/tmpfile line 1:â�¤--…»
23:32 camelia ..rakudo-jvm 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in any  at gen/jvm/BOOTSTRAP.nqp:900␤  in any  at gen/jvm/BOOTSTRAP.nqp:955␤  in block <unit> at /tmp/tmpfile:1␤␤»
23:32 camelia ..rakudo-parrot 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in any  at gen/parrot/BOOTSTRAP.nqp:913␤  in any  at gen/parrot/BOOTSTRAP.nqp:969␤  in sub infix:<*> at gen/parrot/CORE.setting:4406␤  in block <unit> at /tmp/tmpfile:1␤␤»
23:32 grondilu n: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ];
23:32 camelia niecza v24-109-g48a8de3: OUTPUT«3.1415926535897931␤»
23:33 grondilu m: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ];
23:33 camelia rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in block <unit> at /tmp/S4y2t3F8YU:1␤␤»
23:33 grondilu false positive
23:33 TimToady uniq.t also uses is_deeply, so these are probably all related
23:38 jerrycheung joined #perl6
23:43 BenGoldberg std: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say pi * [ 0, 2 ];
23:43 camelia std 53b3ca6: OUTPUT«ok 00:01 133m␤»
23:44 grondilu there's definitely nothing wrong with the syntax.
23:45 grondilu n: subset Foo of Array where *.all %% 2; multi infix:<*>(Numeric $, Foo $) { pi }; say 1 * [ 0, 2 ];
23:45 camelia niecza v24-109-g48a8de3: OUTPUT«3.1415926535897931␤»
23:45 grondilu niecza++
23:46 grondilu m: subset Foo of Array; multi infix:<*>(Numeric $, Foo $) { pi }; say 1 * [ 0, 2 ];
23:46 camelia rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in block <unit> at /tmp/QkwCfN_xQW:1␤␤»
23:46 grondilu m: subset Foo of Array; multi prefix:<->(Foo $) { "dada" }; say -[ 0, 2 ];
23:46 camelia rakudo-moar 2e9a1d: OUTPUT«dada␤»
23:47 grondilu n: subset Foo of Array; multi prefix:<->(Foo $) { "tada" }; say -[ 0, 2 ];
23:47 camelia niecza v24-109-g48a8de3: OUTPUT«tada␤»
23:47 grondilu n: subset Foo of Array; multi infix:<*>(Foo $, Foo $) { "tada" }; say [ 0, 2 ] * [0];
23:47 camelia niecza v24-109-g48a8de3: OUTPUT«tada␤»
23:47 grondilu m: subset Foo of Array; multi infix:<*>(Foo $, Foo $) { "tada" }; say [ 0, 2 ] * [0];
23:47 camelia rakudo-moar 2e9a1d: OUTPUT«tada␤»
23:48 grondilu m: subset Foo of Array; multi infix:<*>(Foo $, Numeric $) { "tada" }; say [ 0, 2 ] * 0;
23:48 camelia rakudo-moar 2e9a1d: OUTPUT«Circularity detected in multi sub types for &infix:<*>␤  in block <unit> at /tmp/KE5Sz3v9c3:1␤␤»
23:48 grondilu n: subset Foo of Array; multi infix:<*>(Foo $, Numeric $) { "tada" }; say [ 0, 2 ] * 0;
23:48 camelia niecza v24-109-g48a8de3: OUTPUT«tada␤»
23:49 grondilu n: subset Foo of Str; multi infix:<*>(Foo $, Numeric $) { "tada" }; say "" * 0;
23:49 camelia niecza v24-109-g48a8de3: OUTPUT«tada␤»
23:49 grondilu m: subset Foo of Str; multi infix:<*>(Foo $, Numeric $) { "tada" }; say "" * 0;
23:49 camelia rakudo-moar 2e9a1d: OUTPUT«===SORRY!===␤Circularity detected in multi sub types for &infix:<*>␤»
23:49 grondilu well, at least in this one rakudo says "SORRY"  :-)
23:51 TimToady m: multi infix:<*>(Str $, Numeric $) { "tada" }; say "" * 0
23:51 camelia rakudo-moar 2e9a1d: OUTPUT«tada␤»
23:55 grondilu the background is, I wanted to define a type made of an increasing list of positive integers.  I wanted to use subset so that entering one would be straightforward.  I'd just have to type e.g. [0, 4, 10] and not say MyType.new: 0, 4, 10.  Then I got this wrong circularity detection.
23:56 TimToady m: subset Foo of Array; multi infix:<*>(Foo $, Cool $) { "tada" }; say [ 0, 2 ] * 0;
23:56 camelia rakudo-moar 2e9a1d: OUTPUT«tada␤»
23:57 TimToady it's just a bad message
23:57 TimToady it's not really circular, it's just ambiguous
23:57 grondilu isn't subset narrower and thus prevailing?
23:57 TimToady trouble is that Foo is more specific than the standard, while Numeric is less specific
23:58 TimToady so it's simultaneously better and worse, which is not allowed
23:58 colomon grondilu: have you looked at fixing Chess so it doesn't hang on Moar?
23:58 grondilu oh it does?
23:59 colomon grondilu: yes
23:59 * grondilu checks this

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

Perl 6 | Reference Documentation | Rakudo