Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-25

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:14 laouji joined #perl6
00:27 b2gills joined #perl6
00:27 tony-o m: --
00:27 camelia rakudo-moar 553f0e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/31yOaG3fRu␤Prefix -- requires an argument, but no valid term found␤at /tmp/31yOaG3fRu:1␤------> 3--7⏏5<EOL>␤    expecting any of:␤        prefix␤»
00:28 tony-o m: -- "yo"
00:28 camelia rakudo-moar 553f0e: OUTPUT«Cannot modify an immutable Str␤  in block <unit> at /tmp/FoZ4OwLsK4:1␤␤»
00:43 laouji joined #perl6
00:43 BenGoldberg joined #perl6
00:46 pochi joined #perl6
00:48 tony-o raiph: i'm running into a problem trying to give EVALFILE scope of a variable
00:50 adu joined #perl6
00:59 raiph tony-o: oh?
00:59 aborazmeh joined #perl6
00:59 aborazmeh joined #perl6
01:01 tony-o raiph: i accidentally uncommented something
01:02 tony-o it's working now, working on the grammar to do the interpolating
01:06 raiph tony-o: Did you basically agree or disagree with what I wrote in the issue? Is "the grammar to do the interpolating" the slang to switch from `{` and `}` delimiters?
01:07 tony-o raiph: i totally agree, i think it could be a really cool templating system
01:07 tony-o the grammar is to parse the templates and figure out which interpolation to use, separate the blocks from the qqw[] stuff
01:08 tony-o the problem is the client sockets and server are both running in different threads and they can't talk very well because of the cross thread crap
01:08 tony-o oops
01:09 khw joined #perl6
01:09 raiph tony-o: I'm confused about you writing a grammar to separate the blocks. I was thinking you just let the Perl 6 grammar do its thing.
01:10 tony-o raiph: i can't see how to do that, maybe i'm confused about '--'
01:15 tony-o m: my $l = ' { $raiph } '; my $raiph = 'hello world'; say qqw{$l};
01:15 camelia rakudo-moar 553f0e: OUTPUT«{ $raiph }␤»
01:17 raiph m: my $data; $data<what> = 'that'; print "Hello { "WORLD!" }␤␤Oh, did you want variables too? I can do { $data<what> } too.␤{ (for ^3 -> $a { $a ~ ($a == 2 ?? '' !! ', '); }) }"
01:17 camelia rakudo-moar 553f0e: OUTPUT«Hello WORLD!␤␤Oh, did you want variables too? I can do that too.␤0,  1,  2»
01:18 tony-o yea i understand how that interpolation works, but now how to get that interpolation from a file or a string 'slurp'd from a file
01:18 tony-o because essentially you end up with literal '{' in the string
01:20 raiph tony-o: ooooh
01:21 tony-o i guess that might be called lazy interpolation, i can't think of a good way to achieve that without writing a grammar
01:21 raiph m: my $raiph = 'hello world'; my $l = " { $raiph } "; say qqw{$l};
01:21 camelia rakudo-moar 553f0e: OUTPUT«hello world␤»
01:22 tony-o before the 'say' happens, $l already contains 'hello world'
01:26 flussence joined #perl6
01:32 tony-o jnthn: i have a patch for Grammar::Debugger that makes it work, it fails the debugger test because it times out waiting for input but the thing outputs as i'd expect.  the tracer also works with the patch *and* it passes the test.  it's a hack though.  do you want a PR or how else can i make this useable until we figure out the right solution?
01:33 raiph m: my $raiph = 'hello world'; my $l = ' { $raiph } '; say EVAL qqw{$l};
01:33 camelia rakudo-moar 553f0e: OUTPUT«hello world␤»
01:34 raiph tony-o: What's the weakness in ^^ ?
01:35 tony-o m: my $r = 'sup'; my $s = 'hello { $r }'; say EVAL qqw{$s};
01:35 camelia rakudo-moar 553f0e: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0␤Undeclared routine:␤    hello used at line 1. Did you mean 'shell'?␤␤»
01:36 raiph m: my $r = 'sup'; my $s = 'hello { $r }'; say EVAL qqw{"$s"}
01:36 camelia rakudo-moar 553f0e: OUTPUT«hello sup␤»
01:37 tony-o m: my $r = '{ for ^3 { .say; } }'; say EVAL qqw{$r};
01:37 camelia rakudo-moar 553f0e: OUTPUT«0␤1␤2␤Nil␤»
01:37 tony-o m: my $r = 'count to 3: { for ^3 { .say; } }'; say EVAL qqw{"$r"};
01:37 camelia rakudo-moar 553f0e: OUTPUT«0␤1␤2␤Use of Nil in string context  in block <unit> at EVAL_0:1␤count to 3: ␤»
01:38 raiph don't .say
01:38 tony-o m: my $r = 'count to 3: { for ^3 { print $_; } }'; say EVAL qqw{"$r"};
01:38 camelia rakudo-moar 553f0e: OUTPUT«012Use of Nil in string context  in block <unit> at EVAL_0:1␤count to 3: ␤»
01:38 raiph do wrap (last statement in a block) in parens
01:39 raiph don't say or print
01:39 raiph m: my $r = 'count to 3: { (for ^3 { $_ } ) }'; say EVAL qqw{"$r"};
01:39 camelia rakudo-moar 553f0e: OUTPUT«count to 3: 0 1 2␤»
01:40 raiph tony-o: I think the semantics of a block inside a string are that it interpolates the return value
01:41 ugexe depends on what you use to quote it though
01:41 raiph ugexe: indeed
01:42 raiph if EVAL'd using default double quoted string semantics
01:45 dayangkun joined #perl6
01:45 tony-o yea i'm not sure i want to expect people with templates to have to do that for a loop
01:48 raiph tony-o: Yeah, that Perl 6 wrinkle is about the weakest aspect of the approach.
01:48 FROGGS joined #perl6
01:50 atroxaper joined #perl6
01:52 raiph tony-o: Maybe redirect writes to STDOUT to make say/print work as expected?
01:53 Ben_Goldberg joined #perl6
01:56 raiph tony-o: does a PHP `print` command insert it's output in to the page at the point it occurs?
01:57 tony-o not really sure, i have the STDOUT redirection working right now
01:58 raiph tony-o++
02:01 raiph tony-o: I'm thinking that a generic redirect-stdout-to-enclosing-string option for strings would be cool.
02:02 tony-o what do you mean?
02:03 raiph m: say "foo { print 'bar' } baz" :dwim # says 'foo bar baz'
02:03 camelia rakudo-moar 553f0e: OUTPUT«barUnexpected named parameter 'dwim' passed␤  in block <unit> at /tmp/Ye9Ue8ZfAd:1␤␤»
02:03 yeahnoob joined #perl6
02:04 tony-o ahh, yea that's what i'm trying to do so if you need to manipulate something in a loop you can just 'print' it instead of fooling around with ending a block and restarting a block or whatever
02:04 tony-o then you're not stuck buffering crap into a temp str to use that as the return value
02:05 adu joined #perl6
02:10 raiph tony-o: I was thinking that you (the implementor, not user) would redirect STDOUT to a temp str per block and then prepend that temp str to a block's returned value.
02:11 raiph tony-o: and that that would be a useful feature in its own right
02:11 noganex_ joined #perl6
02:18 tony-o first i need to figure out matching the right brace for nested { }
02:19 ugexe just require putting a \r\n\r\n before each ending }!
02:20 raiph tony-o: Is that so you can switch from `{...}` to some other delimiter?
02:20 tony-o yea
02:21 BenGoldberg joined #perl6
02:21 dalek doc: 56f6381 | hoelzro++ | lib/Type/Str.pod:
02:21 dalek doc: Document Str.substr(Range)
02:21 dalek doc: review: https://github.com/perl6/doc/commit/56f6381ce7
02:31 raiph tony-o: I recall reading the blog post that announced PHP. Iirc I read it the same day it was posted. ("Personal Home Page" iirc. 1996 or thereabouts.) It was very simple and low key. A quick hack that was easier than SSIs and Perl. And look what happened.
02:32 raiph (iirc it was before blogs were called blogs, or even weblogs)
02:33 FROGGS joined #perl6
02:34 telex joined #perl6
02:38 rmgk_ joined #perl6
02:41 vendethiel joined #perl6
02:54 davido_ joined #perl6
03:30 aborazmeh joined #perl6
03:30 aborazmeh joined #perl6
03:32 laouji joined #perl6
03:39 Ben_Goldberg joined #perl6
04:09 aindilis joined #perl6
04:14 sftp joined #perl6
04:14 vendethiel joined #perl6
04:22 nightfrog joined #perl6
04:30 dr- joined #perl6
04:38 adu joined #perl6
04:53 laouji joined #perl6
05:06 atroxaper joined #perl6
05:08 rickbike joined #perl6
05:10 rickbike joined #perl6
05:11 vendethiel joined #perl6
05:23 quester joined #perl6
05:24 * TimToady waves from tahoe, after driving 700 miles
05:25 * moritz particles back
05:25 atroxaper joined #perl6
05:44 vendethiel joined #perl6
05:52 atroxaper joined #perl6
05:55 _mg_ joined #perl6
06:03 diana_olhovik joined #perl6
06:14 FROGGS joined #perl6
06:21 gfldex joined #perl6
06:29 RabidGravy joined #perl6
06:30 RabidGravy morning
06:32 mj41 joined #perl6
06:34 mj41 .tell tony-o See my POC https://github.com/mj41/SP6/ :-)
06:34 yoleaux mj41: I'll pass your message to tony-o.
06:42 domidumont joined #perl6
06:46 Ven joined #perl6
06:48 domidumont joined #perl6
07:00 zakharyas joined #perl6
07:09 vendethiel joined #perl6
07:18 atroxaper joined #perl6
07:19 masak good morning, #perl6
07:20 masak pmichaud` # http://irclog.perlgeek.de/p​erl6/2015-06-24#i_10801409
07:21 masak er, pmichaud++
07:23 nwc10 good *, masak
07:23 * nwc10 wonders what it will take to bootstrap jnthn this morning. Fortutious cosmic ray?
07:24 nwc10 http://www.planetary.org/blogs/jason-davis/201​5/20150526-software-glitch-pauses-ls-test.html
07:25 rindolf joined #perl6
07:25 masak nwc10: jnthn bootstrapping being slow is (seemingly) a tradeoff to increase the rest of jnthn performance. :P
07:26 nwc10 after the past couple of days, I'm somewhat concerned about the difference betwen "slow" and "Saturday"
07:35 masak m: sub foo($a;; $b) { say "OH HAI" }; foo(1, 2); say &foo.signature
07:35 camelia rakudo-moar 553f0e: OUTPUT«OH HAI␤(Any $a, Any $b)␤»
07:35 * masak submits rakudobug
07:36 masak arguably, that should say `(Any $a;; Any $b)`, because the difference affects the behavior of the signature.
07:36 espadrine joined #perl6
07:39 darutoko joined #perl6
07:43 Ven joined #perl6
07:44 abraxxa joined #perl6
07:45 quester left #perl6
07:49 pdcawley joined #perl6
07:50 RabidGravy masak, what does the semicolon signify?
07:51 Ven masak: separates the mmd-impacting part from the other one
07:51 moritz the double semicolon indicates that everything behind it shouldn't be considered for multi dispatch
07:51 Ven oops.
07:51 moritz pretty useless in an only-sub
07:52 moritz m: multi foo($a;; $b) { say "OH HAI" }; say &foo.signature
07:52 camelia rakudo-moar 553f0e: OUTPUT«(|)␤»
07:52 moritz m: multi foo($a;; $b) { say "OH HAI" }; say &foo.candidates[0].signature
07:52 camelia rakudo-moar 553f0e: OUTPUT«(Any $a, Any $b)␤»
07:52 moritz ... but multis have the same problem :-)
07:53 g4 joined #perl6
07:53 RabidGravy ah okay
07:53 masak allow me to recommend https://codewords.recurse.com/issues/three/a​lgebra-and-calculus-of-algebraic-data-types/ to anyone with an interest in Category Theory.
07:53 masak I just skimmed it, and it looks quite nice.
07:54 cfa joined #perl6
07:54 * moritz opens it in a browser tab, and hopes to get around to reading it later on
07:55 vendethiel joined #perl6
07:56 [Sno] joined #perl6
08:01 lizmat .tell tony-o I think jnthn would appreciate a PR for the debugger/tracer fixes
08:01 yoleaux lizmat: I'll pass your message to tony-o.
08:03 FROGGS masak: what is ;; in a signature?
08:05 lizmat disregard other params for MMD
08:05 DrForr .tell tony-o Might it be possible to have Data::Dump default to non-colorized when output is not going to a tty?
08:05 yoleaux DrForr: I'll pass your message to tony-o.
08:09 FROGGS lizmat: aha
08:11 masak FROGGS: details are in S06, I believe.
08:11 * masak .oO( when I was young we didn't ask questions on channel; we just pored over the apocalypses, trying to understand them ) :P
08:12 masak you young'uns with your "synopses" and your "spec" and your "docs" and your "blogs" and your "learnxiny"...
08:13 masak get off my apocalawn! :P
08:15 FROGGS :P
08:15 * FROGGS .oO( do they do :S in #scala? )
08:15 dakkar joined #perl6
08:16 TEttinger FROGGS: they do ;(
08:16 masak the only way to understand Perl 6 back then was to read the Apocalypses, aloud, in TimToady's voice.
08:16 DrForr There's a "History of the World, Part 2" joke in there somewhere.
08:18 * FROGGS .oO( '}' is meant to terminate a statement... except when it's not )
08:19 nwc10 and, if you were lucky, and could also do an Australian accent, you might be able to read an Exergesis.
08:20 Ven joined #perl6
08:22 gagalicious joined #perl6
08:25 lizmat and that was quite an Exercise!
08:26 lizmat std: sub ($a;;$b;;$c) {}
08:26 camelia std 28329a7: OUTPUT«Potential difficulties:␤  $b is declared but not used at /tmp/BWLZr7O4fp line 1:␤------> 3sub ($a;;7⏏5$b;;$c) {}␤  $c is declared but not used at /tmp/BWLZr7O4fp line 1:␤------> 3sub ($a;;$b;;7⏏5$c) {}␤  $a is declared but not used at /tmp/B…»
08:26 lizmat std: sub ($a;;$b;;$c) { $a,$b,$c }
08:26 camelia std 28329a7: OUTPUT«ok 00:00 141m␤»
08:26 lizmat would multiple use of ;; make any sense ?
08:27 moritz no
08:27 jack_rabbit joined #perl6
08:27 dalek rakudo/nom: 3e1dab7 | lizmat++ | src/Perl6/Grammar.nqp:
08:27 dalek rakudo/nom: Make use of ;; in sig a NYI compile error for now
08:27 dalek rakudo/nom:
08:27 dalek rakudo/nom: This at least prevents #125482 for now.
08:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3e1dab79af
08:38 amurf joined #perl6
08:41 atroxaper joined #perl6
08:42 zakharyas joined #perl6
08:44 masak prevents? not if it's just a .worry
08:45 masak I was also thinking how strict we want to be with `;;` in only subs/methods. they don't make much sense there.
09:03 moritz huh? I thought ;; was implemented?
09:04 moritz seems I was wrong
09:06 espadrine joined #perl6
09:08 moritz m: multi a(Int;;Cool) { say 1 }; multi a(Int;;Int) { say 2 }; a 0, 0
09:08 camelia rakudo-moar 3e1dab: OUTPUT«Potential difficulties:␤    Use of ;; in signature not yet implemented␤    at /tmp/5GiFBqHgu2:1␤    ------> 3multi a(Int;;7⏏5Cool) { say 1 }; multi a(Int;;Int) { say␤    Use of ;; in signature not yet implemented␤    at /tmp/5GiFBqHgu2:1␤…»
09:09 moritz lizmat: in my old rakudo, I get a "Ambiguous call to 'a'" with the ;;, and 2 (second candidate) without the ;;
09:09 moritz lizmat: so I'm pretty sure ;; is actually implemented
09:09 moritz even if the information isn't carried to the Signature object
09:09 vendethiel joined #perl6
09:11 ][Sno][ joined #perl6
09:15 masak right, the problem might be only in the presentation of the siggie.
09:21 atroxaper joined #perl6
09:23 masak m: sub foo($x, $y;; $z) {}; say &foo.arity; say &foo.count
09:23 camelia rakudo-moar 3e1dab: OUTPUT«Potential difficulties:␤    Use of ;; in signature not yet implemented␤    at /tmp/bI6cxCdO5o:1␤    ------> 3sub foo($x, $y;;7⏏5 $z) {}; say &foo.arity; say &foo.count␤3␤3␤»
09:23 masak oh, right.
09:24 masak locally, that gives "3\n3\n"
09:26 laouji joined #perl6
09:28 cognominal joined #perl6
09:29 andreoss joined #perl6
09:30 jnthn morning, #perl6
09:31 jnthn ;; is implemented
09:31 jnthn It's just .perl of it that's not
09:32 jnthn It's also obvious it's being paid attention to; grep Actions.nqp for ;;
09:32 jnthn And since it works, code could easily be using it out there.
09:33 masak ok.
09:33 dalek rakudo/nom: 2bafa97 | (Carl Masak)++ | src/Perl6/Grammar.nqp:
09:33 dalek rakudo/nom: Revert "Make use of ;; in sig a NYI compile error for now"
09:33 dalek rakudo/nom:
09:33 dalek rakudo/nom: This reverts commit 3e1dab79af5ddc31aa200305d63348dbf9211dea.
09:33 dalek rakudo/nom:
09:33 dalek rakudo/nom: ';;' is implemented, and hence not NYI.
09:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2bafa97d05
09:34 jnthn The SIG_ELEM_MULTI_INVOCANT flag not being set on a param is what indicates it is opted out of multi-dispatch
09:34 jnthn iirc, everything before a ;; has it set
09:36 jnthn (so if you see the next param doesn't, and the current one does, then you can emit a ;;)
09:37 nwc10 yay, jnthn bootstrapped
09:37 * masak .oO( jnthn, dropping implementation clues on channel since 2007 ) :P
09:38 jnthn Allergies seem less annoying today than yesterday also :)
09:38 * jnthn wonders if he'll get a couple of hours Perl 6 hacking in before going to $work-party :)
09:41 nwc10 the alternative is running a class in coffee brewing?
09:44 jnthn Well, or more usefully doing a few final tidying up tasks in the apartment, since I'm leaving it for good tomorrow :)
09:52 leont joined #perl6
09:52 RabidGravy m: use NativeCall; for (num64, num32 ) -> $type { my @buff := CArray[$type].new; @buff[$_] = Num(0) for ^10; }
09:52 camelia rakudo-moar 2bafa9: ( no output )
09:54 RabidGravy that almost exact code fails with "Wrong kind of access to numeric CArray  in method ASSIGN-POS at lib/NativeCall.pm:333" in Audio::Sndfile but not when isolated like that
09:56 masak RabidGravy: your mission, should you choose to accept it, is to find out why one fails and not the other.
10:00 RabidGravy frankly it's doing my head in, the code in #125408 is fine now, but the original code I started with fails worse
10:04 DrForr Speaking of NativeCall, I'm putting together an OpenCV2 binding now that the ANTLR4 port seems to be stabilizing.
10:06 atroxaper joined #perl6
10:17 RabidGravy cool
10:18 husanu3 joined #perl6
10:19 bjz joined #perl6
10:26 husanu2 joined #perl6
10:28 amurf joined #perl6
10:28 sqirrel joined #perl6
10:29 husanu3 joined #perl6
10:30 itz_ hahaha I hadn't seen https://www.youtube.com/watch?v=zC7uPC6KeA4
10:34 lizmat jnthn++ moritz++ masak++ for showing the error of my ways  :-)
10:35 masak lizmat++ # learning together, the best kind of learning
10:35 lizmat yup, and I learned a bit about the P6 grammar  :)
10:35 jnthn .oO( lizmat++ # showing us the way of her errors )
10:36 jnthn The seperator thing is one of the icky bits of the grammar...
10:36 jnthn iirc it actually collects them into an array held in a dynvar...
10:37 lizmat yeah, I saw that  :-)
10:38 jnthn I think there is (by now, perhaps "was") a bug that meant captures on the RHS of %% got lost
10:38 jnthn So it may be possible to clean up
10:38 jnthn If the bug is fixed already, or when the bug gets fixed.
10:40 darutoko- joined #perl6
10:41 dalek doc: cc155f6 | paultcochrane++ | lib/Language/regexes.pod:
10:41 dalek doc: Minor wording improvements in regexes.pod
10:41 dalek doc: review: https://github.com/perl6/doc/commit/cc155f6529
10:41 dalek doc: efbb139 | paultcochrane++ | lib/Language/testing.pod:
10:41 dalek doc: Convert variable names to kebab-case
10:41 dalek doc:
10:41 dalek doc: This is then more consistent with general Perl6 usage.
10:41 dalek doc: review: https://github.com/perl6/doc/commit/efbb139025
10:42 rindolf joined #perl6
10:46 RabidGravy boom! got it!
10:50 lizmat masak jnthn moritz : I just realized that the ;; feature is *not* spectested atm, as I did a spectest before pushing and saw no failures
10:54 jnthn RabidGravy: A golf of the nasty bug?
10:55 jnthn lizmat: Yes, I was wondering about that...
10:57 timotimo i really wouldn't mind if we got a stream-based xml parser for perl6
10:59 masak timotimo: "wouldn't mind" is like the most diluted form of volunteering there is :P
10:59 masak homeopatic volunteering
10:59 lizmat m: sub a (;;$a) { }   # jnthn: does this signature make sense?
10:59 camelia rakudo-moar 2bafa9: ( no output )
11:00 masak lizmat: ;; in only subs doesn't make much sense in the first place.
11:00 masak m: sub a (;;$a) { say "OH HAI" }; a(5)
11:00 camelia rakudo-moar 2bafa9: OUTPUT«OH HAI␤»
11:00 timotimo also not really without a type
11:00 lizmat well, ok
11:00 masak lack of type is fine after ;; I think
11:00 lizmat multi then
11:01 lizmat it was more about *not* having anything before the ;;
11:01 masak m: multi foo(;;$a) { "OH HAI" }; foo(5)
11:01 camelia rakudo-moar 2bafa9: ( no output )
11:01 masak m: multi foo(;;$a) { say "OH HAI" }; foo(5)
11:01 camelia rakudo-moar 2bafa9: OUTPUT«OH HAI␤»
11:01 masak lizmat: seems to make sense.
11:01 RabidGravy jnthn yeah, I added https://gist.github.com/jonat​hanstowe/27766738a215f42cbd4d to the rt#125408
11:01 lizmat masak: how?
11:02 masak I guess it means something like "no part of this siggie takes part in candidate resolution"
11:02 lizmat then how does it get to find any method then?
11:02 masak lizmat: it's not about finding the method. it's about disambiguating several methods.
11:02 lizmat m: multi a (;;$b) { }; multi a (;;$a,$b) { }; say a(42)
11:02 camelia rakudo-moar 2bafa9: OUTPUT«Nil␤»
11:03 lizmat m: multi a (;;$b) { say "one" }; multi a (;;$a,$b) { say "two" }; a(42)
11:03 camelia rakudo-moar 2bafa9: OUTPUT«one␤»
11:03 masak again, there is only one possible candidate in that case.
11:03 lizmat m: multi a (;;$b) { say "one" }; multi a (;;$a,$b) { say "two" }; a(42,666)
11:03 camelia rakudo-moar 2bafa9: OUTPUT«two␤»
11:03 lizmat m: multi a (;;$b) { say "one" }; multi a (;;$a) { say "two" }; a(42)
11:03 camelia rakudo-moar 2bafa9: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(Any $b)␤:(Any $a)␤  in block <unit> at /tmp/AQPjykgBxr:1␤␤»
11:03 masak right.
11:03 masak lizmat: disambiguating performs a narrowness analysis.
11:04 masak lizmat: only things to the left of the ;; participate in it.
11:04 RabidGravy in summary it only does it in a loop and it only does it when the number of elements isn't known to the method at compile time
11:04 masak so in the cases above, there is basically no narrowness analysis performed.
11:04 jnthn m: multi a (;; Any $b) { say "one" }; multi a (;; Int $a) { say "two" }; a(42)
11:04 camelia rakudo-moar 2bafa9: OUTPUT«two␤»
11:04 jnthn I...think that one is a bug
11:04 masak I think so too
11:04 jnthn We probably mis-handled initial ;;
11:04 jnthn That should be ambiguous
11:05 masak unless some other tiebreaking thing kicks in.
11:05 masak but I don't think it does.
11:05 jnthn It shouldn't, I think we just don't handle initial ;; properly
11:05 masak m: multi a ($b) { say "one" }; multi a ($a) { say "two" }; a(42)
11:05 camelia rakudo-moar 2bafa9: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:(Any $b)␤:(Any $a)␤  in block <unit> at /tmp/F1MBK0dd_e:1␤␤»
11:05 masak that's the behavior I expect.
11:05 * masak submits rakudobug
11:05 jnthn Right, same
11:07 timotimo RabidGravy: can you try it with MVM_SPESH_DISABLE=1 set in your environment?
11:08 RabidGravy timotimo, yeah that makes it go away (as it does in the actual code)
11:08 timotimo god damn it :S
11:08 masak ok, now it's a *cursed* bug.
11:08 timotimo can you upload the MVM_SPESH_LOG=broken_carray_access.txt ?
11:08 timotimo best gzip it :)
11:10 _mg_ joined #perl6
11:11 lizmat jnthn: indeed, SIG_ELEM_MULTI_INVOCANT is set on the first param in (;; $a)
11:11 timotimo ah, good catch. that's probably wrong, then :)
11:14 RabidGravy timotimo, added to ticket.  bastarding big even gzipped
11:15 timotimo sorry, i recently improved the speshlog to become bigger :)
11:15 RabidGravy :-)
11:19 Alina-malina joined #perl6
11:19 jnthn Bastarding big? Nodes in the dominance tree are unsure who their parents are? :P
11:19 timotimo RabidGravy: can i has the RT# again?
11:19 moritz nah, the parents just didn't marry :-)
11:20 RabidGravy timotimo, https://rt.perl.org/Ticket/Display.html?id=125408
11:21 timotimo 1.6m is bastarding big to you? :))
11:22 timotimo that's nothing! ;)
11:23 jnthn lunch &
11:23 timotimo RabidGravy: is the file called "tz"?
11:24 RabidGravy yeah, for no particular reason.  I was just running out of two letter filenames
11:27 RabidGravy (ancient practice of mine - give scratch files two letter names to make them easy to delete ;)
11:27 RabidGravy right off out now
11:31 timotimo fair enough :)
11:32 gcole joined #perl6
11:33 lizmat m: (sub a { @_ }).signature.perl.say  # shouldn't that be :(;; *@_) ??
11:33 camelia rakudo-moar 2bafa9: OUTPUT«:(*@_)␤»
11:35 dalek rakudo/nom: 4e1fa3c | lizmat++ | src/core/Parameter.pm:
11:35 dalek rakudo/nom: Implement multi-invocant method
11:35 dalek rakudo/nom:
11:35 dalek rakudo/nom: To check for SIG_ELEM_MULTI_INVOCANT flag
11:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e1fa3c40d
11:39 El_Che joined #perl6
11:42 telex joined #perl6
11:42 lizmat There is a subtle difference in the signature of "sub a { @_ }" and sub a(*@_) { }" that was so far unseen:
11:42 lizmat $ 6 '(sub a { @_ }).signature.params[0].multi-invocant.say'
11:42 lizmat False
11:42 lizmat $ 6 '(sub a(*@_) { @_ }).signature.params[0].multi-invocant.say'
11:42 lizmat True
11:43 lizmat jnthn masak: should @_ have the multi-invocant bit set or not (in either case?)
11:46 lizmat alternately: should slurpies ever have the multi-invocant bit set ?
11:47 masak I don't really see why it should.
11:47 masak but I don't know exactly what multi-invocant is.
11:47 dalek rakudo/nom: f43725a | lizmat++ | src/core/Signature.pm:
11:47 dalek rakudo/nom: Show ';;' in signatures if they need to be
11:47 dalek rakudo/nom:
11:47 dalek rakudo/nom: Fixes #125482
11:47 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f43725a038
11:48 lizmat jnthn just said that params with that bit set, are included in MMD?
11:48 masak m: say (sub a(*@_) { @_ }).signature.params[0].WHAT
11:48 camelia rakudo-moar 2bafa9: OUTPUT«(Parameter)␤»
11:49 salva joined #perl6
11:49 lizmat hmmm... musty have inferred that
11:49 atroxaper joined #perl6
11:50 lizmat anyway, the fix causes 3 spectest failures because of difference in handling auto-generated sigs
11:50 masak it's odd. I don't see `multi-invocant` defined or referred to anywhere.
11:50 lizmat it's probably an implementation detail
11:50 lizmat I just added the multi-invocant method
11:50 lizmat (if you're looking at the source)
11:51 lizmat t/spec/S06-signature/unspecified.rakudo.moar (Wstat: 768 Tests: 17 Failed: 3)
11:51 lizmat Failed tests:  5, 9, 13
11:52 lizmat feels to me either the test is wrong (now), or having the flag set on auto-generated sigs is wrong
11:52 lizmat masak: should there be a difference between the sig of "sub a { @_ }" and "sub a(*@_) { }" ?
11:53 jnthn lizmat: I suspect it should probably be set on anything that isn't after a ;;
11:54 lizmat ??  I thought you just said it should be set on anything *before* ;; ?
11:54 lizmat ah, uh. duh  :-)
11:54 jnthn I...yeah, negations are not unbad. :)
11:55 lizmat so the autogenned sig is wrong ?
11:55 * masak .oO( but what about the excluded middle? what about parameters that are exactly on top of the ;; ? ) :P
11:55 jnthn lizmat: Yeah, that's probably just an oversight
11:56 lizmat should I create a ticket for that and todo the failing tests?
11:56 lizmat or can you give me a pointer as to where to look to fix this oversight ?
11:56 jnthn Yeah, please. I think there'll be a good way to fix it generally
11:57 jnthn Well, probably in World.nqp's create_parameter method
11:57 lizmat ah, ok, lemme check
11:57 jnthn I think if the param info hash doesn't have the multi_invocant key we should default it to setting the bit, whereas today we probably default to not doing so
11:57 jnthn You may be able to eliminate places that actions.nqp sets it as a result of this...
11:57 jnthn (expect the place that sets it to 0)
11:58 Ven joined #perl6
12:03 timotimo do we now get a ;; before every *%_?
12:03 jnthn shouldn't
12:03 timotimo it would be kind of nice to have that hint for people who tend to forget about nameds only being used for tie-breaking
12:03 jnthn Well, we will if the bug isn't fixed...
12:03 timotimo you know, the thing where the order of subs decides
12:04 lizmat $ 6 '(sub a(:$n) { }).signature.params[0].multi-invocant.perl.say'
12:04 lizmat Bool::True
12:05 jnthn The language in the spec suggests that maybe, post-6.0, we will have nameds play into the candidate sort
12:05 timotimo oh
12:05 timotimo i see
12:05 lizmat so any named param seem to have the multi-invocant bit set atm
12:05 jnthn I'm not sure how viable that is, but I'd rather keep .multi-invocant only ever show up after a ;;
12:05 jnthn That is, keep it aligned with what the programmer wrote
12:06 masak +1
12:06 masak simple rule: "was there a ;; before this parameter?"
12:07 jnthn aye
12:07 timotimo fair enough
12:07 jnthn I like simple rules
12:07 lizmat $ 6 '(sub a($a;;:$n;) { }).signature.perl.say'
12:07 lizmat :(Any $a;; Any :n($n))
12:07 jnthn ...and I can not lie
12:07 masak jnthn: doesn't preserve the meter. you have to like big rules or something :P
12:08 lizmat so: the current rule is: all params have multi-invocant bit set unless there was a ';;' seen, in which case only the params before the ;; have it
12:08 * masak .oO( I like excessively bending the meter of original works and I cannot lie )
12:09 masak lizmat: or, shorter, all params not after a ;; have it
12:10 jnthn masak: As a Brit, I think it's the foot and inch I'm meant to be preserving, not the meter :P
12:10 lizmat .oO( said in true British syncopation )
12:11 masak the sun never sets on antiquated measurements.
12:13 domidumont joined #perl6
12:16 daxim docs.perl6.org needs an explanation of its usage examples under the headlines.  I cannot figure out what :D: means or **@p or |p
12:18 masak daxim: +1
12:18 masak daxim: saying things in words (besides showing the symbols) would help immensely.
12:18 moritz it would also be cause for lots of redundancy
12:19 daxim just hyperlink the things to its appropriate page, that already would make me happy
12:19 moritz (which isn't a priori a bad thing in docs, but it does lead to more maintenance)
12:21 masak moritz: the words describing things like **@p don't change all that often
12:22 jnthn Maybe the bits of signature syntax could link to the appropriate bit of the signatures doc
12:22 jnthn Ah, I htink that's what daxim meant...
12:22 daxim yes!
12:25 masak ok, good.
12:27 dalek roast: 6948ef3 | lizmat++ | S06-signature/unspecified.t:
12:27 dalek roast: Fudge failing tests for RT #125486
12:27 dalek roast: review: https://github.com/perl6/roast/commit/6948ef370f
12:28 timotimo is something wrong with *.WHAT?
12:28 timotimo m: say ("hi", 1, 0.9).map(*.WHAT)
12:28 camelia rakudo-moar f43725: OUTPUT«hi 1 0.9␤»
12:28 timotimo m: say ("hi", 1, 0.9).map({ $_.WHAT })
12:28 camelia rakudo-moar f43725: OUTPUT«(Str) (Int) (Rat)␤»
12:28 timotimo star: say ("hi", 1, 0.9).map(*.WHAT)
12:28 camelia star-m 2015.03: OUTPUT«hi 1 0.9␤»
12:28 jnthn I don't think .WHAT auto-curries (by design)
12:29 moritz right; it's not a method
12:29 timotimo hm
12:29 timotimo fair enough
12:29 moritz it's a macro in method disguise
12:29 timotimo and >>.WHAT isn't supposed to work either?
12:29 moritz m: say (1, 'foo')>>.WHAT
12:30 camelia rakudo-moar f43725: OUTPUT«(Parcel)␤»
12:33 aborazmeh joined #perl6
12:33 aborazmeh joined #perl6
12:37 dalek roast: ce42e09 | hoelzro++ | S32-str/substr (2 files):
12:37 dalek roast: Add basic tests for substr/substr-rw + Range
12:37 dalek roast: review: https://github.com/perl6/roast/commit/ce42e09672
12:38 lizmat afk for a bit&
12:39 zakharyas joined #perl6
12:45 hoelzro morning #perl6
12:50 atroxaper joined #perl6
12:50 husanu3 joined #perl6
12:56 husanu2 joined #perl6
13:10 domidumont joined #perl6
13:12 Woodi hi #perl6 :)
13:12 hoelzro can anyone think of why *not* inlining a block would prevent phasers + return from working properly?  I was trying to fix RT #125480 last night, but this is my first dance with the optimizer
13:12 hoelzro ahoy Woodi
13:12 husanux5 joined #perl6
13:13 Woodi hoelzro: becouse it returns to not inlined block ? :)
13:14 Woodi but I have no idea what I'm talking about :)
13:14 hoelzro =)
13:14 husanux7 joined #perl6
13:18 Woodi let assume big photo is a list... user read it into memory and views or edit. so big memory blobs are valid cases. but this is "slurp" case...
13:20 Woodi in "for lines()"  for should use lines-iterator... if it create array of all lines in file then lines work like slurp, not lines :)
13:20 husanux9 joined #perl6
13:20 leont joined #perl6
13:21 Woodi but probably we want something like "workflows" in photo editing... load, remove noise, up curves, sharper, save; one after one or batch...
13:22 psch Woodi: but lines() is just "lazy slurp" until the input record seperator..?
13:22 Woodi so keeping things in memory is like DOM xml parsing and for iterators we want SAX-like processing...
13:22 * psch might be missing the point
13:23 Ven joined #perl6
13:23 Woodi psch: but looks lines() have side effect of keeping lines in memory
13:23 timotimo i think if you open a big photo, you'll most likely mmap it rather than reading it
13:24 PerlJam good morning #perl6 people
13:24 Woodi timotimo: no idea how editors do it :) but I was going to something similiar...
13:24 psch Woodi: i think that's what tie is/was (ab)use in p5? i.e. tie the array directly to the file on disk..?
13:25 psch i didn't really look closely at tie, fwiw
13:25 psch i have no idea how we'd do that in perl6 either
13:25 husanux3 joined #perl6
13:28 Woodi you see, we traditionaly thinks open/read/write/close file what is low level work. probably we need something like FileReader or FileAccessPoint in Java terminology, some layer above files...
13:28 PerlJam Hmm.   If I read the tests right for .substr(Range), a range of 2..3 is one character?
13:29 moritz wouldn't 2..2 make more sense as one character?
13:29 PerlJam it would.  That's why I'm hoping I'm reading wrong
13:29 moritz PerlJam++ # reviwing test
13:30 psch 2..^3 makes most sense imo
13:30 psch Woodi: why? your example seems to only imply we need in-place, on-disk editing somehow
13:30 moritz psch: ... which is the same as 2..2, if you only consider integers
13:30 Woodi and Iterator allows "access structure elements sequentially while hiding internal representation". so probably our list iterators some bigger subject...
13:30 moritz and string indexes tend to be integral
13:31 psch moritz: true... in light of that i'd actually retract the statement
13:31 psch moritz: as in, it might lend itselfs to be confused for an open interval
13:31 Woodi psch: it's example. it can be file it can be something else
13:31 psch Woodi: did you see the Cat type in the design documents?  afair it's supposed to be text-only, but i might be misremembering
13:32 Woodi psch: looking
13:33 moritz m: say 'foobar'.substr(0..1)
13:33 camelia rakudo-moar f43725: OUTPUT«f␤»
13:33 moritz m: say 'foobar'.substr(3..4)
13:33 camelia rakudo-moar f43725: OUTPUT«b␤»
13:33 moritz m: say 'foobar'.substr(3..3)
13:33 camelia rakudo-moar f43725: OUTPUT«␤»
13:33 PerlJam m: say 'foobar'.substr(4..3);
13:33 camelia rakudo-moar f43725: OUTPUT«Number of characters argument to substr out of range. Is: -1, should be in 0..Inf; use *-1 if you want to index relative to the end␤  in block <unit> at /tmp/84F0_ObDSh:1␤␤»
13:34 psch hmm
13:34 PerlJam could use a better message there I guess
13:34 psch well, it works if it's thought of as character boundaries, instead of character position
13:34 psch not sure if that's intuitive
13:34 PerlJam it's not.
13:35 PerlJam I'm positive it's not  :)
13:35 psch PerlJam++ # intuition
13:39 moritz psch: substr, index, Match.{from,to} all index characters, not character boundaries
13:46 Ven joined #perl6
13:51 PerlJam m: say "foobar".substr("0x2"..3);  # we need a way to say "Range of Int" I think
13:51 camelia rakudo-moar f43725: OUTPUT«o␤»
13:58 _mg_ joined #perl6
14:05 amurf joined #perl6
14:07 ShimmerFairy Quick thought on substr ranges: we have ..^ , ^.. , and ^..^ as operators, so I disagree with treating the endpoint of a .. range as exclusive :)
14:08 b2gills Currently it seems very Pythonish, not Perlish
14:15 Ulti the endpoint of a range is exclusive atm?
14:16 Ulti oh substr ranges
14:17 dalek roast: 93edb02 | PerlJam++ | S32-str/substr (2 files):
14:17 dalek roast: update existing and add more substr(Range) tests
14:17 dalek roast: review: https://github.com/perl6/roast/commit/93edb02451
14:17 dalek rakudo/nom: f9dca91 | PerlJam++ | src/core/Str.pm:
14:17 dalek rakudo/nom: fix off-by-one on substr(Range) endpoint
14:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f9dca9112d
14:18 RabidGravy joined #perl6
14:20 Woodi joined #perl6
14:22 RabidGravy warm
14:29 [ptc] ugexe, tony-o_, hoelzro: have finally tested the new travis-build code (it takes a while)
14:29 [ptc] ugexe, tony-o_, hoelzro: please review: https://github.com/paultcochrane/travis-build/c​ommit/248a00b52d8ed001d4acc157bddc92c5810f06d4
14:31 PerlJam [ptc]: Random question ... did you want to set TEST_JOBS so that the tests can run somewhat in parallel?
14:32 [ptc] PerlJam: not explicitly, no...  Never thought/knew about it
14:33 leont joined #perl6
14:34 [ptc] PerlJam: is this something you'd recommend?
14:35 PerlJam um ... I'm not sure now that it would have an effect in how you're testing.
14:37 [ptc] yeah, the tests take place on my local machine in a vagrant virtual box
14:37 [ptc] the IO in the virtual box is *very* slow and thus testing any changes is somewhat painful
14:39 atroxaper joined #perl6
14:39 hoelzro my slides from my "Hacking on Rakudo" talk are available now! https://docs.google.com/presentation/d/1JVJfNlCQL7​crJytbKsdlf7Jw4c4dMScjogHLkZuOwcs/edit?usp=sharing
14:41 [ptc] hoelzro++
14:41 PerlJam hoelzro: slide 18 says "let's make some changes!" ... Did you live edit the rakudo grammar at that point?  :-)
14:41 hoelzro yes!
14:41 PerlJam awesome!
14:41 hoelzro and I did a video of the same thing in the following slide
14:41 PerlJam hoelzro++
14:41 [ptc] very cool!
14:42 rindolf joined #perl6
14:44 PerlJam hoelzro: You could that talk/slides into a nice tutorial too.  (might increase rakudo's truck number in the long run)
14:44 hoelzro PerlJam: I was thinking of doing a screencast series
14:44 cognominal Atom is six month sin advance compared to Perl 6. They freezed the API, then worked on the perfs :)
14:44 hoelzro starting with learning Perl 6 itself, then onto the compiler
14:44 hoelzro commute&
14:45 PerlJam hoelzro++ very nice
14:45 nine Oh I hate Google docs "The version of the browser you are using is no longer supported". But it's the latest available version.
14:46 moritz or so you think.
14:47 JimmyZ_ joined #perl6
14:48 dalek rakudo-star-daily: a95a726 | coke++ | log/ (2 files):
14:48 dalek rakudo-star-daily: today (automated commit)
14:48 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/a95a726004
14:57 zakharyas joined #perl6
15:00 itz_ if any Atom users wanted to experiment with that editor's tag support they could try App::p6tags </advert> :)
15:00 itz_ (it works for me in vim anyway)
15:05 hoelzro [ptc]: your change looks good to me
15:06 psch grr LibraryLoader *shakes fist*
15:08 psch oh, nvm, java.net.URL it was /o\
15:09 psch well, let's see if this patch actually can help me with loading nested jars..
15:10 [ptc] hoelzro: ok, I'll let BanzaiMan know, thanks
15:14 domidumont joined #perl6
15:14 japhb .ask nine How do you pass @*ARGS and %*ENV to an Inline::Python instance?  It doesn't seem to be doing it automagically, but perhaps I've got something wrong with my setup ....
15:14 yoleaux japhb: I'll pass your message to nine.
15:20 skids joined #perl6
15:40 gcole joined #perl6
15:46 diana_olhovik joined #perl6
15:46 skids While the hood is still open on Paramater.perl, If someone could look over the conversation on https://github.com/rakudo/rakudo/pull/446 I had a couple questions about how to handle things like \@foo (or for that matter, what they do in the first place).
15:48 timotimo er, isn't \ for sigilless parameters?
15:48 skids Also I have a first cut of a second approximation to .assuming nearing completion (I hope) that uses that PR.  First cut because it uses EVAL.
15:48 raiph joined #perl6
15:48 timotimo cool :)
15:48 skids Yeah that's what confuses me.
15:48 psch yeah, \ is the not-a-sigil sigil
15:49 timotimo we also have/had \ for captures i think
15:49 psch we still have that, but not in a signature
15:49 psch m: my $a = \(1, "foo"); $a.WHAT.say
15:49 camelia rakudo-moar f9dca9: OUTPUT«(Capture)␤»
15:50 timotimo m: my @foo = 1, 2, 3; say \@foo
15:50 camelia rakudo-moar f9dca9: OUTPUT«\([1, 2, 3]<>)␤»
15:50 skids Also last night I could not figure out how to get named arguments stored in a @ back into a Capture as named arguments.
15:50 timotimo |%(@foo)?
15:51 skids No there are positionals in it too.
15:51 psch huh?
15:51 psch like [1, "a", 3]?
15:51 psch where "a" is the named key
15:51 skids m: my @foo = (1, 2, :a); \(|@foo).hash.perl.say;
15:51 camelia rakudo-moar f9dca9: OUTPUT«EnumMap.new()␤»
15:52 psch oh, so it is a pair
15:52 psch or, should be at least
15:53 skids Yes, trying to replicate how the stuff in the initializer is parsed.  Anyway it was just for test functions so I worked around it.
15:53 timotimo m: my @foo = (1, 2, :a); say @foo.perl
15:53 camelia rakudo-moar f9dca9: OUTPUT«[1, 2, :a]<>␤»
15:53 PerlJam m: my @foo = (1, 2, :a); \@foo.say
15:53 camelia rakudo-moar f9dca9: ( no output )
15:53 timotimo hm
15:53 psch m: my @foo = (1, 2, :a); my (@pos, %named) = @foo.classify({ $_ !~~ Pair }); say @pos.perl, %named.perl
15:53 camelia rakudo-moar f9dca9: OUTPUT«[Bool::False => [:a], Bool::True => [1, 2]]<>{}<>␤»
15:53 PerlJam well ... it should be like that I'd guess.
15:54 psch but eh
15:54 PerlJam m: my @foo = (1, 2, :a); \@foo.perl.say
15:54 camelia rakudo-moar f9dca9: ( no output )
15:54 psch breaks on pairs as positional of course :/
15:54 PerlJam weird
15:54 psch m: my @foo = (1, 2, :a); 8\@foo).perl.say
15:54 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rrOyNDNj2T␤Confused␤at /tmp/rrOyNDNj2T:1␤------> 3my @foo = (1, 2, :a); 8\7⏏5@foo).perl.say␤»
15:54 psch m: my @foo = (1, 2, :a); (\@foo).perl.say
15:54 camelia rakudo-moar f9dca9: OUTPUT«\([1, 2, :a]<>)␤»
15:54 PerlJam oh, precedence
15:55 psch not sure how it parses that, though...
15:55 psch m: \"a".say
15:55 camelia rakudo-moar f9dca9: ( no output )
15:55 psch m: \("a".say)
15:55 camelia rakudo-moar f9dca9: OUTPUT«a␤»
15:55 psch vOv
15:57 skids m: \(1,2,:a).perl.say; \(1,2,:a).hash.say; my @a = (1,2,:a); \(|@a).perl.say; \(|@a).hash.say; # That the .perl output is the same is LTA.
15:57 camelia rakudo-moar f9dca9: OUTPUT«\(1, 2, :a)␤EnumMap.new(:a)␤\(1, 2, :a)␤EnumMap.new()␤»
15:57 PerlJam .tell pmichaud I had a couple of minor comments on glr-draft.  See https://gist.github.com/per​lpilot/0eb929474ad1c3888f7d
15:58 yoleaux PerlJam: I'll pass your message to pmichaud.
15:58 sqirrel joined #perl6
15:58 psch m: my qa = 1,2,:a; (\(|@a)).perl.say<
15:58 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/auT7resfqQ␤Malformed my (did you mean to declare a sigilless \qa or $qa?)␤at /tmp/auT7resfqQ:1␤------> 3my qa7⏏5 = 1,2,:a; (\(|@a)).perl.say<␤»
15:58 psch m: my qa = 1,2,:a; (\(|@a)).perl.say
15:58 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FECEB39c5p␤Malformed my (did you mean to declare a sigilless \qa or $qa?)␤at /tmp/FECEB39c5p:1␤------> 3my qa7⏏5 = 1,2,:a; (\(|@a)).perl.say␤»
15:59 psch skids: i don't know, it makes sense to me.  the first is a literal Capture, the second is an array lowered into the signature of a literal capture
15:59 psch ("lowered" isn't the right word there, i think...)
16:00 psch skids: well, except if you'd like | represented in .perl, but i don't know how useful that is
16:01 skids m: \(1,2,:a).perl.say; \(1,2,$(:a)).perl.say; # better illustration
16:01 camelia rakudo-moar f9dca9: OUTPUT«\(1, 2, :a)␤\(1, 2, :a)␤»
16:03 psch m: say \(1,2,$(:a)) ~~ :($, $, :$a); say \(1,2,:a) ~~ :($, $, :$a) #
16:03 camelia rakudo-moar f9dca9: OUTPUT«False␤True␤»
16:03 psch yep, that's LTA
16:03 psch i'd argue it's even wrong
16:03 skids Yes the .perl will evaluate to the former in both cases if fed back in.
16:17 spider-mario joined #perl6
16:17 _mg_ joined #perl6
16:18 khw joined #perl6
16:18 skids m: ::<Int>.say; ::<Any>.say; ::<Mu>.say; ::<T>.say; ::<Array[Int]>.say; # It's not fantastically easy to do the last type-declared test here, unless there is another way I don't know about.  It's easy enough the work around that Any and an undeclared type have the same result.
16:18 camelia rakudo-moar f9dca9: OUTPUT«(Int)␤(Any)␤(Mu)␤(Any)␤(Any)␤»
16:19 uncleyea1 joined #perl6
16:21 skids *that/to
16:21 skids erm.
16:21 skids *the/to
16:23 hoelzro anyone have thoughts on a :createonly option for open()?
16:24 tony-o TimToady: where did you drive there from, san diego?  that's like 1/3 the way across the country
16:24 yoleaux 06:34Z <mj41> tony-o: See my POC https://github.com/mj41/SP6/ :-)
16:24 yoleaux 08:01Z <lizmat> tony-o: I think jnthn would appreciate a PR for the debugger/tracer fixes
16:24 yoleaux 08:05Z <DrForr> tony-o: Might it be possible to have Data::Dump default to non-colorized when output is not going to a tty?
16:25 JimmyZ_ no thought, except create-only😊
16:26 timotimo hoelzro: you used one of my bugs as demonstration for your talk! :)
16:27 tony-o DrForr: not sure i know how to tell if i'm outing to a TTY
16:27 nys joined #perl6
16:27 skids Well, the construction industry uses "green field" for building without demolition, but that's a horrible name.
16:27 skids anyway afk.
16:28 flussence m: say $*OUT.t
16:28 camelia rakudo-moar f9dca9: OUTPUT«Cannot find method 'isatty': no method cache and no .^find_method␤  in block <unit> at /tmp/mn2aiSpTA7:1␤␤»
16:29 hoelzro timotimo: yup! it was an easy fix =)
16:31 timotimo :)
16:31 tony-o jnthn: PR'd Grammar::Debugger
16:32 tony-o .tell mj41 i might use that instead of protone :-)
16:32 yoleaux tony-o: I'll pass your message to mj41.
16:33 TimToady tony-o: we came from Idaho Falls, via Craters of the Moon
16:33 tony-o flussence: i get the same isatty error on a tty
16:34 gfldex joined #perl6
16:34 tony-o TimToady: that's a hell of a drive
16:36 flussence tony-o: it's a thing that *should* work, but doesn't :(
16:40 tony-o .tell DrForr i can make it default when $*OUT.t starts working.  in the mean time, it shouldn't colorize output if you don't have Term::ANSIColor installed or if you use the flag
16:40 yoleaux tony-o: I'll pass your message to DrForr.
16:40 DrForr tony-o: man 3 isatty # checks the current FD
16:40 yoleaux 16:40Z <tony-o> DrForr: i can make it default when $*OUT.t starts working.  in the mean time, it shouldn't colorize output if you don't have Term::ANSIColor installed or if you use the flag
16:41 DrForr Well, not the current FD, the one passed in.
16:42 tony-o how would i use that to check for TTY?  using nativecall?
16:42 DrForr It's sort of a moot point ATM because installing it via Panda requires Term::ANSIColor be installed.
16:42 DrForr I'd guess so. It'd be nice to have that as an IO:: method though.
16:43 tony-o panda installs Term::ANSIColor ?
16:44 DrForr 'panda install Data::Dump' fails because Term::ANSIColor is needed as a dependency.
16:46 hoelzro PerlJam: you made the changes around substr(Range), right?
16:46 PerlJam hoelzro: aye.
16:46 yqt joined #perl6
16:46 ugexe Term::ANSIColor isnt a dependency according to the meta. it looks like an optional require in the source only
16:46 hoelzro PerlJam: my thought for the range form of substr was so that I could do something like $s.substr($/.from .. $/.to)
16:46 ugexe oh there is an instance where its not in a try block
16:47 DrForr Last time I tried to install it through Panda it failed a test.
16:47 hoelzro but now that the last index in the range is included, it would have to be $/.to - 1
16:47 ugexe https://github.com/tony-o/perl6-data-​dump/blob/master/lib/Data/Dump.pm6#L4
16:47 hoelzro did someone raise a concern with excluding the end of the range?
16:47 ugexe should probably be a try{}
16:47 PerlJam hoelzro: yeah, it's not intuitive.
16:47 tony-o pushed up a fix for it
16:48 PerlJam hoelzro: Also, you can do $s.substr($/.from ..^ $/.to)
16:48 hoelzro ahhh that's true
16:48 RabidGravy wouldn't it be better if IO::Handle.t emitted a NYI exception rather than what it does now?
16:48 hoelzro that makes sense to me
16:48 DrForr Aha, thanks. I'll have to redownload/install at ome point this evening, I'll check then.
16:48 diana_olhovik_ joined #perl6
16:49 TimToady ハイキング &
16:49 PerlJam I added some tests for substr/substr-rw that test ranges with ^.. ..^ and ^..^ too since substr is doing the math with the end points
16:49 cfa hey folks; quick question regarding indirect object colon notation and simple terms: is there a reason that  join <a b c>: ','  works but  join ['a', 'b', 'c']: ','  does not?
16:50 DrForr m: [ <a b c>, ['a', 'b', 'c']]
16:50 camelia rakudo-moar f9dca9: ( no output )
16:50 DrForr m: say [ <a b c>, ['a', 'b', 'c']]
16:50 camelia rakudo-moar f9dca9: OUTPUT«a b c a b c␤»
16:50 DrForr Mumble.
16:52 TimToady cfa: looks like a bug
16:53 TimToady std: (join ['a', 'b', 'c']: ',').say
16:53 camelia std 28329a7: OUTPUT«ok 00:00 141m␤»
16:53 TimToady m: (join ['a', 'b', 'c']: ',').say
16:53 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pZiCDWz38C␤Confused␤at /tmp/pZiCDWz38C:1␤------> 3(join ['a', 'b', 'c']:7⏏5 ',').say␤    expecting any of:␤        colon pair␤»
16:53 cfa TimToady: okay, thanks. thought i was missing something obvious.
16:53 TimToady really ハイキング &
17:00 Ven_ joined #perl6
17:00 nine .botsnack
17:00 yoleaux :D
17:00 yoleaux 15:14Z <japhb> nine: How do you pass @*ARGS and %*ENV to an Inline::Python instance?  It doesn't seem to be doing it automagically, but perhaps I've got something wrong with my setup ....
17:01 nine .tell japhb I don't :/ I don't know how to get them in the C code. Though I could probably pass those two to the init call and have NativeCall create the strings for me. But Python seems to know at least ENV anyway: perl6 -Ilib -e 'use Inline::Python; my $py = Inline::Python.new; $py.run(qq{import os\nprint os.environ["HOME"]\n});'
17:01 yoleaux nine: I'll pass your message to japhb.
17:01 nine /home/nine
17:05 domidumont joined #perl6
17:16 japhb nine: It seems to grab the ENV from process start; changes to %*ENV (even done with BEGIN before 'use Inline::Python') do not propagate.
17:16 yoleaux 17:01Z <nine> japhb: I don't :/ I don't know how to get them in the C code. Though I could probably pass those two to the init call and have NativeCall create the strings for me. But Python seems to know at least ENV anyway: perl6 -Ilib -e 'use Inline::Python; my $py = Inline::Python.new; $py.run(qq{import os\nprint os.environ["HOME"]\n});'
17:17 japhb I notice that our functions that spawn children seem to need the env passed to them, so I'm guessing the normal handling of %*ENV doesn't update the process's view of the C environment.
17:18 japhb (And maybe that's not a portable concept, actually -- but a decent embedding interface ought to support changing the environment that the embedded interpreter sees, as well as its view of the command line arguments.)
17:22 nine src/core/Env.pm fills a hash with the values of the environment, but I cannot find any code for writing back
17:23 pmichaud m:  say 'japh'.substr(2..2)
17:23 yoleaux 15:58Z <PerlJam> pmichaud: I had a couple of minor comments on glr-draft.  See https://gist.github.com/per​lpilot/0eb929474ad1c3888f7d
17:23 camelia rakudo-moar f9dca9: OUTPUT«p␤»
17:23 pmichaud that feels wrong to me.
17:24 pmichaud m:  'japh' ~~ /p/;  say $/.perl
17:24 camelia rakudo-moar f9dca9: OUTPUT«Match.new(ast => Any, list => (), hash => EnumMap.new(), orig => "japh", to => 3, from => 2)␤»
17:25 pmichaud I'm not a fan of the Range version anyway, though.
17:26 pmichaud say (2..2).elems
17:26 pmichaud m: say (2..2).elems
17:26 camelia rakudo-moar f9dca9: OUTPUT«1␤»
17:26 pmichaud I feel better now.
17:35 muethos joined #perl6
17:42 timotimo nine: when we popen we pass the modified environment
17:42 timotimo nine: it's a bit like our $*CWD, which is also pretty much completely virtual
17:42 jaffa4 joined #perl6
17:43 jaffa4 hi all
17:43 jaffa4 Unable to parse expression in double quotes; couldn't find final '"'
17:43 amurf joined #perl6
17:43 jaffa4 How would you find the start of "?
17:44 timotimo hm, didn't someone want to implement that a few weeks back?
17:44 jaffa4 I have a long program, takes many minutes to compile
17:44 jaffa4 and it has this error message at the end
17:44 timotimo that's very argh, indeed.
17:46 jaffa4 does std produce more information error message?
17:46 _mg_ joined #perl6
17:46 jaffa4 std: print "
17:46 camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse double quotes at /tmp/sfFdHQDhIT line 1:␤------> 3print 7⏏5"␤Couldn't find final '"'; gave up at /tmp/sfFdHQDhIT line 1 (EOF):␤------> 3print "7⏏5<EOL>␤Parse failed␤FAILED 00:00 135m␤»
17:47 jaffa4 Is it possible to print the parse of a partially compiled program?
18:02 husanu7 joined #perl6
18:08 rickbike joined #perl6
18:15 FROGGS joined #perl6
18:17 atroxaper joined #perl6
18:20 pecastro_ joined #perl6
18:22 telex joined #perl6
18:25 bin_005 joined #perl6
18:31 timotimo i think i'll have a go at giving the nibbler for quotes and such an output for where it started parsing the quotes
18:37 skids joined #perl6
18:44 timotimo ah, we have that in heredocs
18:47 timotimo where is the error actually thrown? :o
18:48 hoelzro http://rosettacode.org/wik​i/Primorial_numbers#Perl_6 # won't this consume all memory because constant @primes is assigning, and not binding, (1..*).grep(*.is-prime)?
18:49 jaffa4 rakudo: say "$_\t{join \"\n\" }\n"
18:49 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> 3say "$_\t{join \"\n\" }\n"7⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤        statement modifier␤        statement…»
18:49 PerlJam hoelzro: lazy evaluation says "no"  :)
18:49 hoelzro PerlJam: you're saying it *wouldn't* consume all memory?
18:49 jaffa4 rakudo: my @a = (); say "$_\t{join \"\n\",@a }\n"
18:49 camelia rakudo-moar f9dca9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Missing block␤at /tmp/tmpfile:1␤------> 3y @a = (); say "$_\t{join \"\n\",@a }\n"7⏏5<EOL>␤    expecting any of:␤        postfix␤        statement end␤        statement modifier␤   …»
18:50 hoelzro I thought list assignment coerced the RHS into an Array
18:50 timotimo nope. no clue.
18:50 PerlJam m: constant @primes = (1..*).grep(*.is-prime);  say @primes[57];
18:50 camelia rakudo-moar f9dca9: OUTPUT«271␤»
18:50 timotimo maybe hoelzro can sniff it out? :)
18:51 PerlJam hoelzro: only if we eagerly evalute will it consume all ram
18:51 hoelzro I thought list assignment *did* eagerly evaluate?
18:51 TEttinger joined #perl6
18:51 timotimo i think constants are always bound, though
18:51 hoelzro timotimo: I did a few changes similar to that for Chicago.pm
18:51 hoelzro ahhhhh
18:52 timotimo not actually sure
18:52 hoelzro I could probably add that string start/end diagnostics to the compiler, but I'm trying to have a "no compiler work" week, since I spent all last week working on the compiler =/
18:53 hoelzro I have aspirations for improving the tooling, or writing modules, and then I always find a bug and feel compelled to fix it!
18:53 * PerlJam always has aspirational feelings toward Perl 6 and Rakudo
18:54 hoelzro I think we all do =)
18:54 PerlJam but unless I code while the aspiration is warm, there's always something else that distracts
18:55 PerlJam (right now that pesky $work thing is distracting me ;)
18:55 hoelzro and #perl6 is distracting you from $work? =P
18:56 PerlJam #perl6 is helping me procrastinate ;)
18:56 hoelzro s/'#perl6'/Perl 6/; fixed that for you ;)
18:57 PerlJam :)
19:03 timotimo hmm
19:24 yqt joined #perl6
19:30 nine timotimo: nqp::openpipe creates a fresh copy of %*ENV. That approach doesn't work as well if changes done by Perl 6 code should be propagated to Python/Perl 5 even after initialization of the other interpreter.
19:32 muethos1 joined #perl6
19:36 timotimo ah, mhh
19:42 muethos joined #perl6
19:44 kaare_ joined #perl6
19:47 muethos1 joined #perl6
19:57 muethos joined #perl6
19:59 Alina-malina joined #perl6
20:05 muethos joined #perl6
20:08 Ulti hoelzro++ for bug fix video
20:17 lichtkind joined #perl6
20:25 FROGGS m: my @a = { x => 1, y => 2 }; my @b; @b[0] = @a[0].clone; @a[0]<x>++; say @b # how can I easily clone the values?
20:25 camelia rakudo-moar f9dca9: OUTPUT«x => 2, y => 2␤»
20:26 FROGGS m: my @a = { x => 1, y => 2 }; my @b; @b[0] = @a[0]».clone; @a[0]<x>++; say @b # hmmm, is that what I think it is?
20:26 camelia rakudo-moar f9dca9: OUTPUT«x => 1, y => 2␤»
20:28 bartolin FROGGS: are you aware of RT #118559? maybe that bug bites you here?
20:28 bartolin m: class Foob { has @.fields; }; my $x = Foob.new(fields=>["a","b"]); my $x2 = $x.clone(fields=>["c","d"]); say $x.fields; say $x2.fields
20:28 camelia rakudo-moar f9dca9: OUTPUT«c d␤c d␤»
20:30 lizmat PerlJam++  # fixing my off-by-ones
20:30 FROGGS bartolin: I'm not sure if it will bite me tbh...
20:30 FROGGS sleepy FROGGS is sleepy
20:32 itz_ https://github.com/rakudo/rakudo/pull/441 *cough*
20:33 FROGGS itz_: does that break spectests?
20:33 itz_ I don't think so but I'll check
20:34 FROGGS itz_++
20:48 itz_ the build seems faster than a few days ago!
20:52 rickbike joined #perl6
21:02 masak 'night, #perl6
21:04 [Sno] joined #perl6
21:05 uncleyear joined #perl6
21:13 dalek rakudo/nom: c3cd709 | skids++ | src/core/Parameter.pm:
21:13 dalek rakudo/nom: Add .sigil and .twigil methods to Parameter
21:13 dalek rakudo/nom:   This is an implementation-independent way expose more of rakudo's $!flags
21:13 dalek rakudo/nom:   It is also a convenience versus piddling around with output from .perl
21:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3cd709ef1
21:13 dalek rakudo/nom: c2e2a93 | lizmat++ | src/core/Parameter.pm:
21:13 dalek rakudo/nom: Merge pull request #446 from skids/assuming
21:13 dalek rakudo/nom:
21:13 dalek rakudo/nom: Add .sigil and .twigil methods to Parameter
21:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c2e2a9316d
21:19 itz_ make spectest passes with that pull req
21:19 tony-o slowed down for me itz_ : Stage parse      :  32.706
21:19 dalek rakudo/nom: f7d5cf2 | lizmat++ | src/core/Parameter.pm:
21:19 dalek rakudo/nom: Show simple named parameters simply
21:19 dalek rakudo/nom:
21:19 dalek rakudo/nom: as :$n instead of as :n($n)
21:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f7d5cf2032
21:20 dalek rakudo/nom: 743fbfe | (Steve Mynott)++ | lib/Pod/To/Text.pm:
21:20 dalek rakudo/nom: wrap paragraph lines at 75 chars if POD_TO_TEXT_WRAP is set
21:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/743fbfe0d4
21:20 dalek rakudo/nom: aa9e558 | (Steve Mynott)++ | lib/Pod/To/Text.pm:
21:20 dalek rakudo/nom: tweaking following irc feedback
21:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aa9e558b58
21:20 dalek rakudo/nom: 6b62dbb | lizmat++ | lib/Pod/To/Text.pm:
21:20 dalek rakudo/nom: Merge pull request #441 from stmuk/stmuk
21:20 dalek rakudo/nom:
21:20 dalek rakudo/nom: wrap paragraph lines at 75 chars with IRC feedback
21:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6b62dbbc4a
21:20 itz_ ty
21:20 lizmat yw  :-)
21:21 amurf joined #perl6
21:30 El_Che is concurrency as described in http://doc.perl6.org/language/concurrency feature stable and/or implemented?
21:31 lizmat El_Che: implemented for the most part on both Moar and JVM
21:32 El_Che lizmat: thx. It looks very nice
21:32 lizmat wrt stable: there are still some stability issues under stress, so don't use that on your heavy loaded website just yet
21:32 lizmat it *is* very nice :-)
21:33 hoelzro .tell jnthn when you have a minute, could you glance over https://rt.perl.org/Ticket/Display.html?id=125480 ? I've been trying to fix it without breaking what *you* fixed there
21:33 yoleaux hoelzro: I'll pass your message to jnthn.
21:34 El_Che I have a radius_check script in perl5 for testing/monitoring RADIUS end-to-end. I spent some time to adapt it to use it for loadtesting. The concurrency of p6 looks very promising
21:34 El_Che (pun not intended :) )
21:34 skids El_Che: just basic auth or crypto EAP?
21:35 El_Che skids: well, protocol itself is just a call to radclient and eapol_test, so both (depending on backend handler or if auth or acct)
21:36 jnthn hoelzro: re 125480 - not sure what this issue is, but the resaon we didn't have it before was simply because we never even ran the LEAVE blocks in question, I'd imagine.
21:36 yoleaux 21:33Z <hoelzro> jnthn: when you have a minute, could you glance over https://rt.perl.org/Ticket/Display.html?id=125480 ? I've been trying to fix it without breaking what *you* fixed there
21:37 * hoelzro tries
21:37 skids El_Che: let me know if you post it.  I'm not sure if I want to aim a load-tester at my production servers right at this moment, but eventually I should work up the nerve to :-)
21:38 El_Che skids: our RADIUS software (Radiator) is perl 5, btw. Flexible as hell, but the lack of concurrency results in a complicated architecture. If the vendor would port Radiator to perl6, wow
21:38 El_Che skids: well, the idea is to load test the test and quality environment. I am probably moving some software RADIUS proxies to hardware (netscaler)
21:39 El_Che but I want to be sure it can handle the load (university wifi: +/- 120k users)
21:40 skids I've occasionally fantasized about a Perl6 RADIUS implementation; FreeRADIUS is a true workhorse, though, hard to beat that perforance-wise.
21:40 hoelzro jnthn: sure enough, you're right
21:40 El_Che well, that may be true, but the strength of Radiator is that it's written in perl5: you can write your perl hooks and put it almost everywhere
21:42 El_Che RADIUS doing auth for sslvpn, smtps, internal and external (roaming, partnets) wifi, wired mab, wired 802.1x, you name it
21:42 El_Che so those hooks are life savious
21:42 El_Che r
21:43 El_Che so keeping the flexibility while having concurrency is a big win
21:44 skids El_Che: 120K is about 10x my load.  We've got this ugly NAC system sandwiched in between instances, though, plus eduroam proxy, so I tread lighty.  FreeRADIUS is actually really very functional (if occasionally obtuse) and the perl extension support is nice there, too.  Never have needed it, though.
21:50 El_Che skids: it is also an option. But besides the load problem (I split 1 100% proc to a system of proxies and backends on 2 machines) radiator has been fine. But wifi usage is always going up :)
21:51 skids If there's ever a Perl6 busybox system put together for cablemodems -- you know when we need a lot less RAM someday :-) -- I could see that to be a good playground to start implementing RADIUS in 6, and scale from there.
21:52 lizmat I was under the impression that sno is trying to do exactly that
21:52 El_Che so perl6 really wants to be the new java :)
21:53 skids sno++ then.  Oh and lizmat++ for merging that PR. :-)
21:53 lizmat yw
21:54 lizmat El_Che: in concept, I would say yes: in execution, I would hope not  :-)
21:54 atroxaper joined #perl6
21:57 skids https://gist.github.com/skids/7c86c24afd2ac49b0923 # my current scratch file for .assuming work, for anyone who wants to mangle their brain today.
21:58 dalek rakudo/nom: 40a8b20 | lizmat++ | src/core/Parameter.pm:
21:58 dalek rakudo/nom: Don't show Any unless we need to
21:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/40a8b2075d
21:59 dalek roast: 13a795c | lizmat++ | / (3 files):
21:59 dalek roast: Match lack of Any in signature
21:59 dalek roast: review: https://github.com/perl6/roast/commit/13a795c7db
21:59 hoelzro I was just looking over some old notes I'd written on hacking Rakudo, and there's a reference to pir::
22:00 skids Ah that Any change probably broke all my tests in that gist :-)  Time to rakudobrew again :-)
22:00 jnthn lizmat: One slight consideration about the Any thing
22:00 * hoelzro feels nostalgic
22:00 lizmat jnthn: yes?
22:00 jnthn It's a cleanup, but Any is only the default in some cases.
22:00 jnthn m: (-> $x, Any $y { }).signature.perl.say
22:00 camelia rakudo-moar 6b62db: OUTPUT«:($x, Any $y)␤»
22:00 jnthn Blocks get Mu by default
22:01 jnthn Which we don't show
22:01 jnthn Hmmmmm. :)
22:01 skids There's code to strip the Mu, and put it back on for Mu @a.
22:01 jnthn But...Mu is the default for arrays too? :)
22:02 jnthn I don't have a good answer (as so ain't asking for any changes at the moment)
22:02 lizmat m:  (-> Any @a { }).signature.perl.say
22:02 camelia rakudo-moar 6b62db: OUTPUT«:(Any @a)␤»
22:02 lizmat m:  (-> Mu @a { }).signature.perl.say
22:02 camelia rakudo-moar 6b62db: OUTPUT«:(Mu @a)␤»
22:03 jnthn Just noting that which type is the default is context sensitive
22:03 jnthn And we don't actually capture that context into the Signature (nor Parameter) objects at present.
22:03 lizmat ok, so maybe I should rewrite it by making a 'my $default = 'Any'" and matching that ?
22:04 lizmat so that we can just change that var in the future ?
22:04 skids Oh nice I wrote my tests right and survived that.  Good me.
22:04 jnthn m: ohh
22:04 camelia rakudo-moar 6b62db: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iotozLH8pZ␤Undeclared routine:␤    ohh used at line 1␤␤»
22:04 jnthn oops
22:04 jnthn Actually a Signature *does* have a backlink to a code object
22:04 jnthn Which won't exist for Signature literals
22:04 jnthn But you *can* use it when it's there
22:05 lizmat but this was a change to Parameter
22:05 lizmat not to Signature
22:05 jnthn Yeah.
22:05 lizmat does the Parameter have a backlink to te Signature ?
22:05 jnthn No
22:05 jnthn Maybe .perl on Parameter by default always emits the type
22:06 lizmat well, that's what I just changed
22:06 jnthn And we have it a named parameter :surrpess-type = Mu
22:06 lizmat if it is Any (without :D or :U) it won't
22:06 jnthn And Signature.perl can pass that
22:06 jnthn Yeah, I'm saying that's wrong for .signature on a Blcok
22:06 jnthn Because block parameters default to Mu, not Any
22:06 tony-o m: ({ ; }).signature.perl.say;
22:06 camelia rakudo-moar 6b62db: OUTPUT«:(;; $_? is parcel)␤»
22:07 lizmat ok, I'm not seeing it atm, could you provide a (failing) test ?
22:07 skids I just compiled that and Block seems exempt.
22:07 skids (well &)
22:07 jnthn -> $x, Any $y { } # the Any here is a change from the default so wants to end up in Signature.perl
22:08 jnthn sub ($x, Any $y) { } # while here the Any is just re-stating the default and can be omitted
22:08 jnthn -> Mu $x, $y { } # The Mu here can be skipped
22:08 lizmat ok, gotcha now
22:08 lizmat brb
22:08 jnthn sub (Mu $x, $y) { } # the Mu here should be shown 'cus it's not the default
22:08 tony-o jnthn: i sent you a PR for Grammar::Debugger
22:09 jnthn tony-o: Saw that in my email; didn't get to looking quite yet :)
22:09 jnthn (Will get to it in 5-10 mins)
22:10 skids OIC, pointy blocks.
22:13 skids So should the .perl for a pointy block be what, "-> stuff" rather than ":(stuff)"?  Or how do we know from the .perl what the defaults are?
22:16 tony-o http::server::threaded tests shouldn't hang anymore, found the right combo of start blocks
22:21 dalek rakudo/nom: a47a3d8 | lizmat++ | src/core/ (3 files):
22:21 dalek rakudo/nom: Use faster substr(Str) instead of Str.substr()
22:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a47a3d86fc
22:22 lizmat jnthn: I'm fading, so I'll look at the pointy block .perl Mu issue tomorrow, unless skids beats me to it :-)
22:22 lizmat good night, #perl6!
22:23 silug joined #perl6
22:37 jnthn tony-o: Merged it to unbreak things for those depending on the module, but really a fix should go into Rakudo to make the patch unrequired
22:37 jnthn (I'll look into that in the next days)
22:38 jnthn The patch pretty much nails down what's going wrong, which is nice :)
22:38 jnthn tony-o++
22:38 tony-o thanks jnthn - i realize it's a hack but it'll let us use it :-)
22:38 jnthn aye
22:59 jnthn sleep &
23:01 amurf joined #perl6
23:04 vendethiel joined #perl6
23:14 raiph .tell pmichaud GLR feedback https://gist.github.com/raiph/1dd0891cde8f1cbe78ce
23:14 yoleaux raiph: I'll pass your message to pmichaud.
23:17 grondilu joined #perl6
23:52 aindilis joined #perl6

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

Perl 6 | Reference Documentation | Rakudo