Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-03-12

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:04 vendethiel joined #perl6
00:10 raiph joined #perl6
00:15 dalek roast: e7442ea | Mouq++ | S12-methods/how.t:
00:15 dalek roast: Add test for RT #76928
00:15 dalek roast: review: https://github.com/perl6/roast/commit/e7442ea422
00:15 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=76928
00:16 skids m: grammar f { regex g { a }; }; f.^add_method("O", rx/b/); f.^methods».name.grep({ $_.chars < 2}).print # how to name that rx?
00:16 camelia rakudo-moar 3da1bb: OUTPUT«g»
00:19 Mouq m: grammar f { regex g { a }; }; my &O = rx/b/; say &O.set_name("O"); f.^add_method("O", &O); f.^methods».name.grep({ $_.chars < 2}).print
00:19 camelia rakudo-moar 3da1bb: OUTPUT«O␤gO»
00:20 skids Mouq++
00:20 Mouq m: &infix:<+>.set_name("nonsense"); say &[+].name # Not so sure I approve :P
00:20 camelia rakudo-moar 3da1bb: OUTPUT«nonsense␤»
00:21 Mouq But it seems like the only thing that cares what the routine thinks its name is, is the routine itself
00:29 BenGoldberg joined #perl6
00:29 vendethiel joined #perl6
00:30 atweiden joined #perl6
00:30 skids m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ = rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({ $_.chars < 2}).print; f.parse("b", :rule<O>).say; # darn
00:30 camelia rakudo-moar 3da1bb: OUTPUT«gOCannot find method 'postcircumfix:<( )>'␤  in method parse at src/gen/m-CORE.setting:15686␤  in block <unit> at /tmp/YPhTNfOMo6:1␤␤»
00:33 Mouq m: grammar f { regex g { a }; }; f.^add_method("O", do { $_ := rx/b/; $_.set_name("O"); $_ }); f.^methods».name.grep({.chars < 2}).print; f.parse("b", :rule<O>).say;
00:33 camelia rakudo-moar 3da1bb: OUTPUT«gO「b」␤»
00:33 Mouq s/=/:=
00:42 laouji joined #perl6
00:44 J-L Out of curiosity, is there a way I can set $_ without using $_?  I know I can read $_ with just .perl .  (At the command line, sometimes I try to avoid $_, for shell reasons.)  Example:
00:45 J-L m: (map { .perl ** 2 }, (1 .. 10)).say;   # shows perfect squares from 1 to 100
00:45 camelia rakudo-moar 3da1bb: OUTPUT«1 4 9 16 25 36 49 64 81 100␤»
00:51 Mouq J-L: Sometimes. .=foo() and s/// work on $_
00:54 skids J-L: given { } sets the topic.
00:55 skids m: given 42 { .say }
00:55 camelia rakudo-moar 3da1bb: OUTPUT«42␤»
00:55 raiph m: .say for 5
00:55 yoleaux 11 Mar 2015 22:11Z <jnthn> raiph: 122892 and 122253 were about the same issue; I merged them, and then did the work needed to resolve them.
00:55 camelia rakudo-moar 3da1bb: OUTPUT«5␤»
00:55 raiph jnthn++
00:56 skids Mouq: thanks again.
01:03 colomon joined #perl6
01:08 fhelmberger joined #perl6
01:11 vendethiel joined #perl6
01:29 colomon joined #perl6
02:04 raiph joined #perl6
02:07 cognominal joined #perl6
02:15 skids m: "aa" ~~ m/(a) ($0)/.gist.say # Should work?
02:15 camelia rakudo-moar 3da1bb: OUTPUT«Nil␤»
02:16 jfb joined #perl6
02:16 BenGoldberg m: .say given 42; .say for 42;
02:16 camelia rakudo-moar 3da1bb: OUTPUT«42␤42␤»
02:21 cognominal joined #perl6
02:22 colomon joined #perl6
02:36 colomon joined #perl6
02:39 pullphinger joined #perl6
02:39 pullphinger15 joined #perl6
02:41 Mouq m: "aa" ~~ m/(a) $0/.gist.say
02:41 camelia rakudo-moar 3da1bb: OUTPUT«「aa」␤ 0 => 「a」␤»
02:45 dalek rakudo/nom: 595ffe3 | Mouq++ | src/core/Junction.pm:
02:45 dalek rakudo/nom: Be more careful about preserving the values of Junctions
02:45 dalek rakudo/nom:
02:45 dalek rakudo/nom: This allows autoviv to work in things like:
02:45 dalek rakudo/nom:
02:45 dalek rakudo/nom:     my @a := [1,2]; @a[1|2] //= 3; say @a
02:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/595ffe3772
02:46 silug joined #perl6
02:47 skids Mouq: yeah but I need the second () in the ungolfed version.  I don't think it is supposed to work, P5 does not work that way either, the backrefs get reset by the (.
02:57 skids m: grammar f { regex TOP { (a) :my $a = "$0"; ($a) } }; f.parse("aa").gist.say # Though this I would expect to work, and doesn't
02:57 camelia rakudo-moar 3da1bb: OUTPUT«(Any)␤»
03:00 yeahnoob joined #perl6
03:06 eiro joined #perl6
03:07 Mouq m: grammar f { regex TOP { (a) {} :my $a = "$0"; ($a) } }; f.parse("aa").gist.say
03:07 camelia rakudo-moar 3da1bb: OUTPUT«「aa」␤ 0 => 「a」␤ 1 => 「a」␤»
03:07 Mouq :P
03:07 Mouq My rule for regexes is "if it doesn't work, through a {} in"
03:07 skids I need to avoid a sequence point, unfortunately.
03:07 Mouq Ah
03:23 noganex joined #perl6
03:28 eiro joined #perl6
03:29 BenGoldberg joined #perl6
03:30 yeahnoob joined #perl6
03:30 BenGoldberg joined #perl6
03:31 dalek rakudo/nom: e84f718 | Mouq++ | src/core/operators.pm:
03:31 dalek rakudo/nom: Allow undef() to be rw (fixes RT #117777)
03:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e84f7180e5
03:31 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=117777
03:34 BenGoldberg joined #perl6
03:35 BenGoldberg joined #perl6
03:41 dalek roast: 9a695d3 | Mouq++ | S32-scalar/undef.t:
03:41 dalek roast: Add tests for RT #117777
03:41 dalek roast: review: https://github.com/perl6/roast/commit/9a695d3c72
03:41 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=117777
03:42 chenryn joined #perl6
03:50 yeahnoob joined #perl6
04:02 FROGGS_ joined #perl6
04:03 rurban joined #perl6
04:31 Mouq .ask jnthn Does https://gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp
04:31 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118555
04:31 yoleaux Mouq: I'll pass your message to jnthn.
04:35 laouji joined #perl6
04:53 Mouq What should "sub foo(&x?) { &x() }; foo" do? (RT #113990) I'm inclined to think that &x should default to either { Mu } or -> |c { return |c }
04:53 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=113990
04:53 Mouq *sub (|c) { return |c }
04:54 Mouq (This is just a question for general opinions… I don't think there's any spec on this)
05:03 nebuchad` joined #perl6
05:04 [particle]1 joined #perl6
05:06 _sri_ joined #perl6
05:06 btyler_ joined #perl6
05:06 Maddingu1 joined #perl6
05:07 danstone1 joined #perl6
05:08 xinming_ joined #perl6
05:09 pierrot joined #perl6
05:09 betterwo1ld joined #perl6
05:09 Bucciarati joined #perl6
05:10 risou joined #perl6
05:10 [ptc] joined #perl6
05:11 lestrrat joined #perl6
05:12 pierrot joined #perl6
05:19 vendethiel joined #perl6
05:43 cognominal joined #perl6
05:47 chenryn joined #perl6
05:48 raydiak o/
05:51 yeahnoob joined #perl6
06:23 vendethiel joined #perl6
06:49 Akagi201 joined #perl6
07:01 diana_olhovik_ joined #perl6
07:05 prime joined #perl6
07:06 telex joined #perl6
07:09 wicope joined #perl6
07:10 chenryn joined #perl6
07:10 virtualsue joined #perl6
07:11 moritz : sub foo(&x?) { &x() }; foo
07:11 moritz m: sub foo(&x?) { &x() }; foo
07:11 camelia rakudo-moar e84f71: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤  in sub foo at /tmp/FHAVO5LdsS:1␤  in block <unit> at /tmp/FHAVO5LdsS:1␤␤»
07:12 moritz Mouq: rakudo's reaction looks quite sane to me (though I don't know what cs = 0 means)
07:15 yeahnoob joined #perl6
07:16 David___ joined #perl6
07:16 David___ Hello, where can I find latest version of the perl6 books/resouces.. looking at using perl6 it seems that it is few years old .. Is it not longer maintained?
07:18 nwc10 David___: I don't know the best answer, but I believe that the page at http://perl6.org/documentation/ is actively maintained, and hence will link to current stuff
07:20 David___ Yep looking at that link it seems like it is still filled with unfinished documentation and few nice presentation.. probably this language is still not production ready..
07:21 Possum joined #perl6
07:23 rindolf joined #perl6
07:24 darutoko joined #perl6
07:31 raydiak Mouq: I think being able to tell if the function was passed or not via its definedness or boolness is more useful than providing any sort of default routine like we have for array and hash containers, one of the differences being that array/hash at least bool to false when empty but any defined routine is true (without a mixin or custom class overriding Bool)
07:33 smls joined #perl6
07:34 vendethiel joined #perl6
07:35 Mouq raydiak: moritz: Hm, yeah… Perhaps we could still provide a default Callable() that would die with a better error?
07:36 lizmat joined #perl6
07:46 [Sno] joined #perl6
07:47 Alina-malina joined #perl6
07:48 raydiak Mouq: agreed 100% the error is LTA
07:51 raydiak "cannot invoke this object" works, but "repr uninstantiable" not as much...maybe more like "cannot invoke an undefined value" or along those lines
07:52 Mouq "Tried to invoke an undefined routine"?
07:53 Ven joined #perl6
07:54 raydiak sounds good to me
07:55 rurban joined #perl6
07:57 timotimo o/
07:57 raydiak o/
07:58 espadrine joined #perl6
08:01 bartolin good morning, #perl6
08:01 bartolin did I mention, that it's quite motivating to see all that progress on RT tickets?
08:03 moritz Mouq: providing a default just to produce a better error message sounds wrong to me
08:03 vike joined #perl6
08:03 moritz Mouq: it messes with introspection
08:03 moritz m: Mu()
08:03 camelia rakudo-moar e84f71: ( no output )
08:04 smls Is there something like 'redo' but for starting a (for) loop from the beginning rather than just repeating the current iteration?
08:05 moritz no
08:05 moritz and I can't imagine how it could work
08:06 moritz for lines() -> { redo-from-start if (state $)++ == 10 }
08:06 moritz where would it get the lines from?
08:07 smls the same way it would if the for loop was wrapped in a "while {  }" and you "last"ed the for loop
08:08 FROGGS joined #perl6
08:08 smls the result might not be useful with things like lines() but could be for other things
08:08 moritz oh, it's specced
08:08 moritz it's called goto
08:08 moritz LOOP: for lines() -> { goto LOOP if if (state $)++ == 10 }
08:09 moritz ss/if if/if/
08:10 smls ok
08:10 smls NYI though
08:11 moritz aye
08:13 Ven o/, #perl6
08:13 smls I was just wondering if in https://gist.github.com/smls/83829c30fdc22acaffbb I could replace the  "loop (...) { ... $i++; ... $i = 0; ... }"  with something more like  "for (0..$n) { ... ; ... restart-loop; ... }"
08:13 smls to make it feel less C-like :P
08:13 Ven smls: without parens around the for (), even :P
08:13 Rounin joined #perl6
08:13 smls tsk
08:15 smls I know it could be implemented more elegantly as a recursive alrogithm, but without optimized tail recursion it would probably get into stack overflow problems on larger inputs
08:15 brrt joined #perl6
08:15 timotimo Mouq: i like your recent commits :3
08:17 moritz smls: sounds like dynamic programming might be a better solution
08:17 moritz smls: though I haven't thought much about it yet
08:18 brrt \o
08:19 timotimo FROGGS: do you think we should do analysis of a report's failure modes and signal "native library missing" differently from "failed"?
08:20 moritz uhm, native library missing should ideally be captured at configure time
08:21 Rounin Don't even go there... Today I'm linking C# with Java linked with C DX{
08:22 moritz Rounin: sounds like great fun
08:22 yeahnoob joined #perl6
08:22 timotimo "configure time"? what's that? :)
08:22 Rounin moritz: It's quite an adventure! Who knew there were so many places where one might place lib/ folders?
08:23 timotimo i can imagine a module that could be used like { use RequireNativeLibrary "gtk3" } that could cause BEGIN-time failure rather than test-time failure
08:24 timotimo but seeing reports for your module failing to install because some smoker doesn't have the native library is ... annoying
08:25 zakharyas joined #perl6
08:33 FROGGS timotimo: in P5 you usually want to spit out an NA
08:34 smls m: .say for ([X] <a b c>, <a b c>).tree.list  # this works
08:34 camelia rakudo-moar e84f71: OUTPUT«a a␤a b␤a c␤b a␤b b␤b c␤c a␤c b␤c c␤»
08:34 smls m: .say for ([X] <a b c> xx 2).tree.list  # this doesn't
08:34 camelia rakudo-moar e84f71: OUTPUT«a␤b␤c␤a␤b␤c␤»
08:34 timotimo FROGGS: how should we probe for that kind of failure?
08:34 smls how can I make the 2nd example work ^^ ?
08:34 timotimo shall we teach panda or cpandatesters?
08:35 smls i.e. calculate the cartesian product of a list with itself
08:35 smls s/cartesian product/permutations/
08:36 FROGGS timotimo: the best way would be to have a dependency section of C libs or tools or header files that panda could check
08:36 timotimo i thought so, too
08:37 timotimo however, we have some code in the modules that gives different native library names for different OSes and such
08:37 smls m: my @a = <a b c>; .say for ([X] @a, @a, @a).tree.list  # as long as the arguments to [X] are listed manually, it works
08:37 camelia rakudo-moar e84f71: OUTPUT«a a a␤a a b␤a a c␤a b a␤a b b␤a b c␤a c a␤a c b␤a c c␤b a a␤b a b␤b a c␤b b a␤b b b␤b b c␤b c a␤b c b␤b c c␤c a a␤c a b␤c a c␤c b a␤c b b␤c b c␤c c a␤c c b␤c c c␤»
08:38 smls ...but when repeating them with xx, [X] threats thema as a single flat list
08:39 * smls can't wait for the GLR to arrive and (hopefully) make list-of-lists handling intuitive.
08:41 pdcawley joined #perl6
08:42 timotimo m: my @a = <a b>; .say for ([X](@a; @a; @a))
08:42 camelia rakudo-moar e84f71: OUTPUT«a␤a␤a␤a␤a␤b␤a␤b␤a␤a␤b␤b␤b␤a␤a␤b␤a␤b␤b␤b␤a␤b␤b␤b␤»
08:43 timotimo does anything regarding ; help you?
08:43 smls I don't think so
08:44 vendethiel joined #perl6
08:45 * timotimo didn't actually look at what you were trying to do
08:47 smls m: say (<a b c>; <a b c>).perl;   say (<a b c> xx 2).tree.list.perl;   # Those two expressions return the same result...
08:47 camelia rakudo-moar e84f71: OUTPUT«("a", "b", "c"; "a", "b", "c")␤("a", "b", "c"; "a", "b", "c")␤»
08:48 smls m: .say for ([X] (<a b c> xx 2).tree.list).tree.list  # yet as an argument to [X], the non-literal one does not work as expected
08:48 camelia rakudo-moar e84f71: OUTPUT«a b c␤a b c␤»
08:48 eli-se joined #perl6
08:50 smls a bug, or a correctly-implemented peculiarity of **@_ or "is parcel" arguments (or whatever [X] uses to do its magic)
08:50 smls ?
08:51 timotimo i don't know :(
08:53 virtualsue joined #perl6
08:54 TimToady Good morning everyone, you're on screen at Morgan Stanley, Budapest
08:54 yoleaux 11 Mar 2015 23:45Z <Mouq> TimToady: Do these look OK to you? http://irclog.perlgeek.de/perl6/2015-03-11#i_10262758
08:54 moritz good morning TimToady :-)
08:54 moritz t/spec/S12-class/inheritance.t complains on current rakudo-m with You planned 40 tests but ran 39.
08:55 moritz Could not find symbol '&NotComposed' in method <anon> at src/gen/m-CORE.setting:15247
08:55 moritz sounds like an error reporting fail
08:55 moritz and sounds like it's my fault :(
08:57 TimToady if I demo weird things here, it'll be because I'm showing things off
08:57 moritz oh, I have a local, uncommitted test here :/
08:57 smls say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!"
08:57 smls m: say "{<Hi Hello Hey G'day Morning>.pick}, Budapest!"
08:57 camelia rakudo-moar e84f71: OUTPUT«Hello, Budapest!␤»
08:57 TimToady smls++
09:00 timotimo good morning TimToady and audience!
09:02 virtualsue_ joined #perl6
09:03 TimToady m: v1.2.3 ~~ v1.2.4
09:03 camelia rakudo-moar e84f71: ( no output )
09:03 TimToady m: say v1.2.3 ~~ v1.2.4
09:03 camelia rakudo-moar e84f71: OUTPUT«False␤»
09:03 TimToady m: say v1.2.3 ~~ v1.2.2
09:03 camelia rakudo-moar e84f71: OUTPUT«False␤»
09:03 TimToady m: say v1.2.3 ~~ v1.2.2+
09:03 camelia rakudo-moar e84f71: OUTPUT«True␤»
09:03 itz joined #perl6
09:03 TimToady m: say v1.2.3 ~~ v1.2
09:03 camelia rakudo-moar e84f71: OUTPUT«True␤»
09:04 moritz m: say v1.2.3 ~~ v1.2.0
09:04 camelia rakudo-moar e84f71: OUTPUT«False␤»
09:10 masak_webchat joined #perl6
09:10 masak_webchat anyone else having trouble logging into hack.p6c.org?
09:10 masak_webchat I get the MOTD, the "Last login", and then just a hang 'stead of a bash prompt.
09:11 * masak_webchat hopes he's not disturbing some talk or other with admin trivia
09:12 timotimo i have trouble, too. let's all hammer the sshd with connection attempts until it works again! ;)
09:13 lizmat joined #perl6
09:14 kjs_ joined #perl6
09:18 chenryn joined #perl6
09:19 moritz masak_webchat: trying now
09:20 cschwenz joined #perl6
09:20 Akagi201_ joined #perl6
09:21 kjs_ joined #perl6
09:21 timotimo yesterday ashgti's changes to perl.tmbundle were merged into the textmate/perl.tmbundle repository
09:24 moritz not having much luck through the net, trying the VM console now
09:26 timotimo .o( entropy completely drained? )
09:33 jnthn morning o/
09:33 yoleaux 04:31Z <Mouq> jnthn: Does https://gist.github.com/Mouq/1420b193252f0cbaec31 seem like a sane fix to RT #118555 ? I'm hesitant to patch BOOTSTRAP.nqp
09:33 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=118555
09:34 timotimo top of the morning to you, jnthn
09:35 lizmat joined #perl6
09:35 jnthn .tell Mouq Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once.
09:35 yoleaux jnthn: I'll pass your message to Mouq.
09:36 fhelmberger joined #perl6
09:36 jnthn .tell Mouq For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place.
09:36 yoleaux jnthn: I'll pass your message to Mouq.
09:36 chenryn joined #perl6
09:37 coffee` joined #perl6
09:38 rindolf joined #perl6
09:38 vendethiel joined #perl6
09:45 Ven joined #perl6
09:54 chenryn joined #perl6
09:55 dakkar joined #perl6
09:59 espadrine joined #perl6
10:00 masak_webchat moritz: oh, so you can reproduce the problem? that's both good news and bad news, I guess...
10:00 * masak_webchat waits, stuck in webchat limbo
10:01 nwc10 good *, masak_webchat :-)
10:03 eli-se joined #perl6
10:04 Akagi201 joined #perl6
10:05 jnthn Punctuation aside, masak_webchat is an anagram of "wat?! has me back!"
10:06 tadzik how do you come up with this stuff :P
10:06 yoleaux 11 Mar 2015 21:36Z <FROGGS> tadzik: https://github.com/rakudo/rakudo/commit/7b153f5c69c9a23124c5c608f697adf80e3dafba
10:06 tadzik FROGGS: oooh, thanks
10:07 bartolin m: my int $i = 1; my $alias := $i; $alias++; say $i
10:07 camelia rakudo-moar e84f71: OUTPUT«2␤»
10:07 bartolin this dies with rakudo.jvm and leads to spectest failures in S02-types/native.t
10:08 * jnthn wonders why
10:08 jnthn What does it die with, ooc?
10:08 bartolin mom
10:08 jnthn I musta translit'd the Moar impl wrong somewhere...
10:09 alini joined #perl6
10:11 bartolin https://justpaste.it/jwg1 # error message for rakudo.jvm
10:11 moritz I can't connect to hack via the hypervisor console, I fear I must reboot it
10:11 jnthn bartolin: hmmm, hard to guess...I'll have to have a dig
10:12 fhelmberger joined #perl6
10:12 bartolin I'm going to fudge the tests for jvm for the moment. ++jnthn :-)
10:13 moritz but I did get CPU stats, which seem to suggest that one virtual CPU was running at 100%, and the rest was mostly idle
10:15 moritz machine rebooted; hack is pingable
10:16 moritz but ssh-connecting hangs :(
10:22 vendethiel joined #perl6
10:22 masak joined #perl6
10:22 masak yay
10:24 moritz from the host I can use the network just fine
10:24 masak moritz: any idea what happened?
10:24 moritz masak: no :(
10:25 * masak makes a note to be more resilient to hack.p6c.org shutdown than he was this time
10:26 timotimo do we have a solution for what to do when a user asks for .ords on a NFG string with "made up" combined characters?
10:27 moritz timotimo: .ords should operate on NFC level
10:27 moritz that is, not on grapheme level
10:27 moritz o wtf
10:27 coffee` joined #perl6
10:27 moritz apache on hack is available
10:28 bartolin jnthn: fyi, I opened ticket #124051 for the JVM failures above and fudged (skip) the tests for now
10:28 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=124051
10:28 timotimo OK
10:29 moritz ssh -4 hack also works
10:29 moritz so, IPv6 trouble :(
10:29 timotimo yeah, "no route to host" for -6 :(
10:30 psch joined #perl6
10:30 moritz ok, I've taken down the IPv6 DNS entry for now
10:30 psch o/
10:31 moritz no time to debug in more detail :(
10:31 psch my irssi screen on hack disappeared, in case that's a hint
10:31 moritz psch: I force-rebooted the VM, so no surprise here
10:31 psch ah, ok
10:33 psch jnthn: the bug bartolin mentioned is a bit more general than native.t alludes to.  http://irclog.perlgeek.de/perl6/2015-03-11#i_10256934 is what i found out.  your last hint was JAST/Compiler.nqp, but i don't see through that
10:33 pecastro joined #perl6
10:39 kjs_ joined #perl6
10:41 donaldh joined #perl6
10:43 kjs_ joined #perl6
10:45 eli-se joined #perl6
10:50 eli-se woo
10:50 eli-se Perl is great.
10:51 timotimo glad to hear it :3
10:51 masak \o/
10:51 eli-se all versions from 5 to 6
10:51 masak Perl 4 is so-so :P
10:52 eli-se reminds me of Guido during a talk
10:52 eli-se he asked the audience who used Python 3 and some people raised their hand
10:52 eli-se he asked the audience who used Python 2 and some people raised their hand
10:53 eli-se then he asked himself what version the people used that didn't raise their hand and the conclusion was that they used Python 1 :P
10:53 moritz :-)
10:53 timotimo that sounds scary
10:53 * moritz is sure that Perl 4 was great at its time
10:53 masak but it was a very different time
10:53 moritz right
10:54 moritz and other expectations towards programming languages
10:55 eli-se maintaining old Python 1 systems sounds fun
10:58 * masak .oO( * eli-se quickly left, realizing that there was an old Python 1 system somewhere to maintain )
11:01 sergot joined #perl6
11:02 moritz does anybody want to help me debug IPv6 issues on hack?
11:03 * psch doesn't get IPv6 from his ISP
11:03 timotimo i can try
11:04 moritz timotimo: ip -6 route  says that 2001:780:101:ff00::2:1 is the defualt gateway
11:05 moritz but all the 2001:780:101:ff00::2:* addresses are routed to hack
11:05 moritz so something is fishy
11:05 moritz what should the default gatway be?
11:06 timotimo is that on the vm host?
11:06 moritz oh, probably 2001:780:101:ff00::1
11:06 cognominal joined #perl6
11:06 moritz timotimo: on the guest
11:06 timotimo if it's on the guest it should either be the host or the same as what the host has, i suppose? which is what your "isp" gives you
11:06 moritz yes, it's 2001:780:101:ff00::1 on the host
11:07 moritz and I can ping6 this from the guest
11:07 moritz can I reconfigure an interface according to /etc/network/interfaces without taking it down?
11:08 timotimo don't really know how the network stuff on debian works :(
11:08 dalek joined #perl6
11:09 moritz root@hack:/etc# route -A inet6 add default gw 2001:780:101:ff00::1
11:09 moritz SIOCADDRT: Invalid argument
11:09 moritz I hate these unhelpful error messages
11:14 timotimo yes!
11:14 timotimo oh
11:14 timotimo you want -6 or --inet6
11:14 moritz that's 'ip' syntax
11:14 moritz not 'route' syntax :-)
11:14 timotimo nope, i was wrong
11:14 timotimo the section of man route about "-A" was weird
11:16 * moritz just googled around and didn't bother with the man page
11:18 bartolin moritz: I would expect the host to be the gateway for the vm. (though I don't know the network setup on hack.)
11:18 chenryn joined #perl6
11:18 smls My favorite Linux error message is "foo: No such file or directory", which can mean a bunch of different things, most of which have nothing to do with the existence of the file/program "foo"... ;)
11:20 timotimo bartolin: depending on how the network interfaces are connected, i.e. via a bridge to the host's interface, you could use the same gw the host uses
11:22 vendethiel joined #perl6
11:23 bartolin timotimo: you're right, it depends on the network setup
11:24 timotimo everything does, always
11:25 bartolin (I've got a working ipv6 setup where the KVM guest uses a bridge and uses the host as its gateway)
11:25 bartolin *g*
11:25 bartolin moritz: I could take a look, but it probably would make sense only with an account.
11:27 cognominal joined #perl6
11:35 lizmat joined #perl6
11:35 abraxxa joined #perl6
11:40 [ptc] what is the error message "You cannot create an instance of this type" trying to tell me?
11:40 [ptc] does it mean that I can't have a module and a class of the same name?
11:42 psch [ptc]: the error message just means you're trying to instantiate the module
11:42 psch m: module A { }; A.new
11:42 camelia rakudo-moar e84f71: OUTPUT«You cannot create an instance of this type␤  in method bless at src/gen/m-CORE.setting:967␤  in method new at src/gen/m-CORE.setting:953␤  in block <unit> at /tmp/iX9i74SsrP:1␤␤»
11:43 xfix joined #perl6
11:43 psch m: module A { class A { } }; A::A.new
11:43 camelia rakudo-moar e84f71: ( no output )
11:44 jnthn m: module A { }; class A { };
11:44 camelia rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/q3O2SumD5J␤Redeclaration of symbol A␤at /tmp/q3O2SumD5J:1␤------> 3module A { }; class A7⏏5 { };␤    expecting any of:␤        generic role␤»
11:44 [ptc] psch: thanks.  I knew I was doing something wrong
11:44 jnthn That's what you should get it you actually try to have a module and a class of the same name in the same scope.
11:44 jnthn *if
11:45 psch m: module A { class A is export { } }; import A; # or maybe something like this
11:45 camelia rakudo-moar e84f71: OUTPUT«5===SORRY!5=== Error while compiling /tmp/93QME9IH0N␤Cannot import symbol A from A, because it already exists in this lexical scope␤at /tmp/93QME9IH0N:1␤------> 3le A { class A is export { } }; import A7⏏5; # or maybe something like this␤»
11:48 moritz from hack I can now ping6 google.com
11:49 moritz ... and now I can ping6 hack too
11:51 bartolin \o/ moritz++
11:53 cognominal joined #perl6
11:56 moritz turns out I had the gateway address bound to the local interface
11:56 moritz which is, like, total bs
11:57 timotimo oops :)
11:58 moritz part of the problem was that I haven't rebooted hack before
11:59 moritz and I did the network configuration manually, and then only when it worked, dumped it to /etc/network/interfaces
11:59 moritz but didn't test it
11:59 timotimo seems legit ;)
11:59 moritz (because I couldn't, at least not without interrupting the network connection)
11:59 timotimo Stage parse      :  28.425
11:59 psch moritz++
11:59 timotimo we've been at the same time for a long time, could that be?
12:00 timotimo but i've got a feeling that the setting kind of grew in the mean time
12:04 cognominal joined #perl6
12:08 [ptc] is there anything holding back the change to Test.pm which enables hyphenated testing functions (PR #371)?
12:08 [ptc] it'd be nice to use e.g. done-testing() instead of done_testing() ....
12:09 [ptc] if the patch needs to be improved, just let me know, and I'll update it
12:13 kjs_ joined #perl6
12:13 masak [ptc]: do people still do `done_testing`? I've been on `done` for years now...
12:14 [ptc] masak: yeah, I should have used a better example... my bad.
12:15 masak I'm mildly opposed to messing with a stable API such as Test.pm just because some of us like hyphens better than underscores...
12:15 masak it feels like one kind of avoidable ecosystem turmoil.
12:16 [ptc] masak: there was an explicit request to make the change
12:16 moritz by whom?
12:16 [ptc] masak: jnthn and perlpilot
12:16 [ptc] mentioned here: https://github.com/rakudo/rakudo/pull/366
12:17 iv joined #perl6
12:18 jnthn Well, what I want is consistency. And my attempt to argue the easiest achieve that by making the small handful of things that use - instead use _ (like is-prime) were met with howls from kebab-lovers.
12:18 [ptc] from my point of view it's not a big issue, it just occured to me while writing some tests
12:18 jnthn So, now we get to change All The Things to use -
12:19 masak with a deprecation cycle involved, I guess it could be OK.
12:19 timotimo %)
12:19 jnthn Thankfully, lizmat++ gave us good deprecation handling. :)
12:19 masak especially as the semantics is changing slightly (for the better) too, and there could be some (unlikely) test failures due to that.
12:19 vendethiel joined #perl6
12:20 xtreak joined #perl6
12:21 timotimo FWIW, current rakudo nom has a summary score of 103.6 compared to the baseline of 2015.02 which is 100
12:21 jnthn timotimo: ...context?
12:21 timotimo a random perl6-bench i just ran
12:21 masak is that good or bad?
12:21 iv What does the :D mean in Supply's type signatures where the receiver is "Supply:D"?
12:22 timotimo that's good
12:22 masak iv: "defined"
12:22 timotimo also "happy"
12:22 moritz you can't pass a type object there
12:22 iv An actual instance?
12:22 masak timotimo: as in ":Don't worry, be happy"? :)
12:22 masak iv: pretty much.
12:22 masak iv: though things can be instances and still undefined, even though that's rare.
12:22 iv Ok, thanks. Can you point me to the docs on that?
12:23 masak m: class C { method defined { False } }; my $c = C.new; say $c.defined
12:23 camelia rakudo-moar e84f71: OUTPUT«False␤»
12:23 masak m: class C { method defined { False } }; my $c = C.new; sub foo(C:D $x) { say "alive!" }; foo($c)
12:23 camelia rakudo-moar e84f71: OUTPUT«alive!␤»
12:23 [Coke] joined #perl6
12:23 masak ...huh.
12:24 jnthn masak: Uh, it's about "is this a type object"
12:25 masak iv: see http://design.perl6.org/S12.html#Abstract_vs_Concrete_types
12:25 iv Thanks! :)
12:25 masak jnthn: yeah, seems you're right. I must be running my brain on old doc or something.
12:25 jnthn http://doc.perl6.org/language/classtut talks a bit about the Perl 6 object system and may also be useful
12:26 jnthn (explains what "type object" means)
12:26 jnthn masak: Given we want to multi-dispatch on :D/:U, it'd be a little unfortunate if the check cost a method call :)
12:26 masak *nod*
12:27 masak so the *only* way to be :D is to not be a type object, and not a failure?
12:27 jnthn At the moment we don't even make Failure a special case for that.
12:28 Ven joined #perl6
12:28 jnthn Though we probably could without totally ruining optimizability.
12:31 xinming joined #perl6
12:43 iv Dang, ran out of memory compiling Rakudo
12:43 moritz you need ~1GB for the moarvm backend
12:43 moritz and more for the JVM backend (~3GB last I tried)
12:43 iv Noted.
12:44 iv Time to spin up an OpenBSD current machine for it. The port needs updating too…
12:44 moritz and since the MoarVM backend is moar fun usually anyway, that's what I use
12:46 dalek rakudo-star-daily: 6e3b312 | coke++ | log/ (9 files):
12:46 dalek rakudo-star-daily: today (automated commit)
12:46 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/6e3b312f84
12:48 eli-se joined #perl6
12:51 kjs_ joined #perl6
12:52 [Sno] joined #perl6
13:00 * FROGGS is very pleased about https://github.com/coke/rakudo-star-daily/commit/6e3b312f84#diff-498295af164455e7b00f961d95756751
13:01 Ven FROGGS: wow! what happened there?
13:01 jnthn FROGGS happened!
13:01 * moritz also very happy
13:01 moritz FROGGS++
13:02 nwc10 use more 'FROGGS';
13:02 nwc10 but how?
13:02 moritz cloning!
13:02 moritz offer him a Perl 6 full time job!
13:02 FROGGS moritz: I'd take it right away
13:04 tadzik kickstarter!
13:05 moritz paying a full-time software developer is expensive :(
13:06 moritz I'd say in Germany you pay between 40k and 80k salary, and then double it for anciliare wage costs
13:06 moritz (taxes, health insurance, ...)
13:08 moritz and while the Perl 6 community is generous, I don't know if they'll be generous enough to afford around 120kEUR/a
13:10 rindolf joined #perl6
13:11 masak FROGGS++
13:11 colomon What the heck did FROGGS++ do that sped things up that much!?!
13:11 Ven ^
13:12 masak there are also other avenues that skilled Perl 6 developers might consider taking, which would allow them to both have the salary and time for Perl 6...
13:12 masak (we're hiring)
13:12 FROGGS colomon: I did nothing about speed
13:12 FROGGS colomon: I fixed two modules (and almost a third)
13:12 iv masak: Who are we?
13:12 Ven masak: :P
13:13 * psch is probably not skilled enough — and couldn't relocate anyway
13:13 masak iv: http://edument.se/
13:13 colomon FROGGS: ??????
13:13 Ven FROGGS: how did the speed go down so low then :P?
13:13 masak hm, http://edument.se/en/ is a better link
13:14 colomon hmm, panda install failing on hack.p6c.org?
13:14 iv That is fairly close to what I do now. :)
13:15 masak iv: tell me more. what do you do?
13:16 kjs_ joined #perl6
13:16 iv masak: I work at http://reaktor.com/ as a consultant. A
13:16 iv -A
13:17 * Ven totally speaks swedish and can completly understand :P
13:17 iv My Swedish is awful. :(
13:17 masak a 300-person company. cool.
13:17 jnthn My Swedish is awful but it didn't stop me :P
13:17 moritz jeg snakker bare litt norsk
13:17 masak goodenuf
13:18 FROGGS colomon: you might need to pull rakudo
13:18 jnthn .oO( I snack on bare little Norwegians?! )
13:18 iv Even I understood that, and I don't speak Norwegian :)
13:18 colomon FROGGS: smoke test always updates rakudo before trying panda.
13:18 masak jnthn: ah, the dangers of word-for-word translation :P
13:18 jnthn :D
13:19 iv …or I thought I don't
13:19 FROGGS colomon: then please look at your panda folder, there might be gazillions of .panda-work folders
13:19 moritz big Norwegians aren't as tasty :-)
13:19 masak jnthn: in your defense, "bare little Norwegians", lightly salted, could totally be a Swedish favorite snack in a slightly different parallel universe. they'd be salty crackers of some kind.
13:19 colomon FROGGS: not anywhere I can see
13:20 skids joined #perl6
13:20 jnthn masak: In this one, we ended up with salted licorice :P
13:20 masak iv: what do you consider your areas of expertise to be?
13:20 colomon FROGGS: though on the other hand, I think panda built just now.
13:20 colomon :\
13:21 * colomon sees moritz is using hack too.  ;)
13:21 iv masak: teaching (I gave workshops at Helsinki uni), understanding the client, programming (functional, frp).
13:22 iv Currently I mostly hate on browsers.
13:22 tadzik a dream job :)
13:23 iv Do we have automated builders for different OSs?
13:24 nwc10 I'm not aware of any
13:25 ShimmerFairy joined #perl6
13:27 virtualsue left #perl6
13:29 iv Would that be useful at this point in time?
13:30 nwc10 I think so.
13:31 moritz iv: very much so
13:37 masak iv: what do you teach? sorry for being so curious. :)
13:38 masak (I teach quite a bit these days, too)
13:39 virtualsue joined #perl6
13:39 * Ven would certainly consider teaching to be the best outcome..
13:41 dalek rakudo/nom: 699f9b0 | TimToady++ | src/core/Any.pm:
13:41 dalek rakudo/nom: fix copy-pasto in minmax
13:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/699f9b0704
13:42 evillemez joined #perl6
13:42 virtualsue_ joined #perl6
13:43 vendethiel joined #perl6
13:46 dalek roast: 29d4133 | usev6++ | S32-io/dir.t:
13:46 dalek roast: Add test for RT #123308
13:46 dalek roast: review: https://github.com/perl6/roast/commit/29d41333b2
13:46 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=123308
13:52 kjs_ joined #perl6
13:54 dalek roast: b507033 | TimToady++ | S03-operators/minmax.t:
13:54 dalek roast: test minmax on ranges
13:54 dalek roast: review: https://github.com/perl6/roast/commit/b5070338fa
13:56 larion joined #perl6
14:10 xinming joined #perl6
14:12 dalek roast: 0f4b5b6 | usev6++ | S29-os/system.t:
14:12 dalek roast: Add test for RT #104794
14:12 dalek roast: review: https://github.com/perl6/roast/commit/0f4b5b6b49
14:12 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=104794
14:12 dalek Heuristic branch merge: pushed 20 commits to perl6-examples by paultcochrane
14:25 chenryn joined #perl6
14:25 iv masak: Bacon.js and Git lately.
14:25 masak oh, cool.
14:26 moritz bacon.js sounds tasty
14:26 masak haven't been teaching so much jQuery (mostly other JavaScript stuff), but been teaching plenty Git over the past years.
14:26 moritz no idea what it does :-)
14:26 iv It's like Supply. :)
14:26 jnthn If you put bacon.js in a git repo, does it save your bacon? :)
14:26 masak iv: if we ever meet, let me buy you a $beverage and we can talk about teaching experiences :)
14:27 masak jnthn: that joke... was not kosher.
14:27 iv masak: I'll try to remember
14:27 chenryn joined #perl6
14:28 masak jnthn: now I'm tempted to build some wildly successful framework, and then name it "Pork", *purely* for the pleasure of knowing that thanks to me, thousands of professionals around the world go around saying "Pork" in their daily work :P
14:32 moritz masak: especially the muslims
14:33 masak surely saying "pork" isn't taboo?
14:34 masak it's ingesting it, no?
14:34 * masak .oO( do not take pork's name in vain )
14:34 [ptc] so long as it brings home the bacon
14:36 chenryn joined #perl6
14:38 Foxcool_ joined #perl6
14:39 moritz might still be a bit... tasteless
14:40 iv So bad.
14:40 * masak .oO( just add more salt )
14:42 jnthn .oO( stop the insalts! )
14:43 masak didn't mean to add insalt to injury.
14:43 masak sorry, Muslims. I'll name my product something harmless and innocuous, like "Holy Profit!"
14:51 myp joined #perl6
14:51 jnthn I slam that idea, jew should sikh a better name to not hindur your framework...buddha bit of thought into it, and leave the confucian bahaind you...
14:52 masak :P
14:55 jnthn m: say "{ 7 / 148 } puns per character"
14:55 camelia rakudo-moar 699f9b: OUTPUT«0.047297 puns per character␤»
14:55 * moritz wonders if jnthn++ spent the last 8 minutes crafting that pun
14:55 jnthn Bah, less than 5% pun ratio...
14:56 rmgk_ joined #perl6
14:59 jnthn yay, I'm done with $dayjob tasks for today and can do Perl 6 things now :)
15:02 vendethiel joined #perl6
15:06 Ven joined #perl6
15:09 J-L joined #perl6
15:10 Ven joined #perl6
15:12 J-L Hey, the Wikipedia article on "Faro shuffle" has code implementations of it written in Python, Perl5, and Perl6.  It offers a nice comparison.  And with a few tweaks (so that it doesn't end early), it can be used as a speed comparison.
15:13 Ven_ joined #perl6
15:14 Util joined #perl6
15:14 nwc10 jnthn: such as more puns?
15:17 jnthn Well, deleting 18 lines of code while fixing the build and removing a failure mode right now... :P
15:18 Ven joined #perl6
15:19 masak https://en.wikipedia.org/wiki/Faro_shuffle
15:19 nwc10 while juggling chainsaws riding a unicycle?
15:20 masak don't be silly
15:20 masak chainsaws can't ride the unicycle
15:20 telex joined #perl6
15:20 * psch misread that as "unicorns" and found the image messy
15:25 jnthn Of course, the internet does actually have a video of somebody juggling with a chainsaw while riding a unicycle...
15:26 * jnthn feels less scared about having to patch the bit of the deserializer handling reposessions now...
15:26 J-L joined #perl6
15:31 aborazmeh joined #perl6
15:31 aborazmeh joined #perl6
15:32 dalek mu: 9d69896 | usev6++ | misc/rt.perl.org/tickets_closed_parrot_only.txt:
15:32 dalek mu: Some more closed 'parrot only' tickets
15:32 dalek mu: review: https://github.com/perl6/mu/commit/9d6989667e
15:42 kjs_ joined #perl6
15:44 chenryn joined #perl6
15:45 evillemez left #perl6
15:45 evillemez joined #perl6
15:45 evillemez left #perl6
15:49 dj_goku joined #perl6
15:49 masak has this ever been addressed re .unpack: (a) it's a method on Buf, which feels right -- but (b) a very common Perl 5 use case seems to be reading a *text* file and extracting fields with &unpack, which assumes we're starting from a Str, not a Buf
15:50 masak ...?
15:50 masak put differently, it feels like Perl 5's &unpack is surfing its Str/Buf confusion a little to make &unpack more useful.
15:51 masak and we don't do/have anything like that in Perl 6.
15:51 eli-se joined #perl6
15:51 eli-se hi
15:51 masak aloha, eli-se
15:55 jnthn .tell FROGGS I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two
15:55 yoleaux jnthn: I'll pass your message to FROGGS.
15:56 FROGGS O.o
15:56 yoleaux 15:55Z <jnthn> FROGGS: I just noticed in SerializationReader on JVM, in the repossess method, there are a copule of /* XXX TODO */ that may explain some bug or two
15:56 FROGGS we have bugs? eeks
15:57 masak one or two
15:57 jnthn Well, probably...
15:57 FROGGS why do we add bugs to our code base in the first place? :P
15:58 masak it's cheaper than getting everything right up front
15:58 tadzik when will we learn
15:58 masak never
15:58 tadzik perhaps there's a bug in our learning subroutines...
16:01 masak it's bugs all the way down
16:03 chenryn joined #perl6
16:05 PerlJam joined #perl6
16:07 PerlJam greetings
16:07 masak PerlJam! \o/
16:07 PerlJam masak!  :)
16:11 donaldh jnthn: there's a behavioural difference between moar and jvm for QAST::WVal.new[0]
16:11 donaldh nqp-j gives java.lang.RuntimeException: This type does not support positional operations
16:11 perl6_newbee joined #perl6
16:11 donaldh This may or may not be the root cause of a leaking UnwindException
16:12 * donaldh is still investigating.
16:12 jnthn donaldh: OK. I don't think it makes sense in either.
16:12 eli-se joined #perl6
16:14 donaldh But I expect that there is an intentional UnwindException involved in a wrapping try block and that it is getting populated with the wrong target.
16:14 eli-se Today I learned a lot.
16:14 donaldh jnthn: Any hints for debugging, or just hard work TM
16:15 jnthn Not sure off hand...do you know where the QAST::WVal.new[0] access is going on?
16:16 masak eli-se: glad to hear it! sounds wonderful!
16:17 Ven masak: you don't want to know how they implemented COMEFROM :P
16:17 eli-se COMEFROM is easy to implement.
16:17 eli-se Labels become gotos and comefroms become labels.
16:17 masak right.
16:18 masak do you, pray tell, require at most one COMEFROM per label? :)
16:18 PerlJam that doesn't sound very perlish  ;)
16:18 eli-se UB otherwise :p
16:19 masak eli-se: aww. opportunity for parallelism. :)
16:19 donaldh jnthn: just checking.
16:20 eli-se I do have something similar to COMEFROM.
16:20 eli-se You can add hooks to functions.
16:20 chenryn joined #perl6
16:21 masak eli-se: hooks? to functions? madness, I tell you! madness!
16:22 donaldh jnthn: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L4776
16:22 eli-se I'm not yet sure how I want to implement it.
16:22 eli-se It'll probably be a library feature.
16:22 masak eli-se: I'm curious if I could get you to help us work on 007 :)
16:22 eli-se What is 007?
16:22 gfldex joined #perl6
16:23 masak eli-se: it's a Perl 6/Python hybrid with the explicit goal to experiment with macros.
16:23 masak http://masak.github.io/007/
16:23 jnthn donaldh: Hm. Does making that try { ... } fix it?
16:23 jnthn (that is, putting a block around the epxression)
16:24 eli-se masak: I don't want to touch Python with a three meter pole.
16:24 eli-se I do it enough at work already. :v
16:24 masak the syntax of 007 is Perl-y. some of the semantics, where it makes sense, is Python-ish.
16:25 masak but, more than that: experiments! macros! experiments with macros! :)
16:33 donaldh jnthn: no, try { ... } doesn't help.
16:35 Ven joined #perl6
16:37 donaldh well the unwinder escapes the immediately surrounding try so I guess the unwindTarget must be wrong.
16:38 donaldh That gives me some bytecode I can stare at ;-)
16:41 TimToady hi folks, we're now on screen again in Budapest
16:41 TimToady so don't say anything bad about Python
16:41 Ven \o/
16:42 TimToady oops, too late...
16:42 dalek perl6-roast-data: 0da0430 | coke++ | / (9 files):
16:42 dalek perl6-roast-data: today (automated commit)
16:42 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0da043045f
16:42 dalek rakudo/parameterize-cleanup: 976eeaf | jnthn++ | src/core/ (2 files):
16:42 dalek rakudo/parameterize-cleanup: Switch Array/Hash to use method ^parameterize.
16:42 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/976eeafb77
16:42 dalek rakudo/parameterize-cleanup: b7dc805 | jnthn++ | src/core/ (2 files):
16:42 dalek rakudo/parameterize-cleanup: Switch a few places to use .^parameterize.
16:42 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/b7dc8053df
16:43 [Coke] nqp-p still failing nqp::index tests.
16:44 [Coke] jvm failing 9 tests due to 2 aborts.
16:44 [Coke] moar jit clean. moar nojit failing a flapper.
16:44 donaldh &
16:44 masak Python ain't so bad. it's just a very different local optimum compared to Perl.
16:45 [Coke] "could be worse, could be coldfusion" </daily>
16:47 madmuid joined #perl6
16:48 masak :P
16:49 jnthn FROGGS: About?
16:49 lizmat .botsnack
16:49 yoleaux :D
16:49 Ven [Coke]: have you considered writing a learnxinyminutes for coldfusion? :P I'd love to read it!
16:50 jnthn FROGGS: ah, no worries
16:51 * lizmat starts backlogging the past 2 days
16:53 FROGGS jnthn: I am here
16:53 [Coke] Ven: no, that would be horrible.
16:53 Ven [Coke]: why? :)
16:53 dalek rakudo/parameterize-cleanup: a6a8793 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp:
16:53 dalek rakudo/parameterize-cleanup: Allow method ^foo() { ... } to work in augment.
16:53 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/a6a8793940
16:53 dalek rakudo/parameterize-cleanup: a93f156 | jnthn++ | lib/NativeCall.pm:
16:53 dalek rakudo/parameterize-cleanup: Fix method ^name() { ... } now we actually use it.
16:53 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/a93f1564bc
16:53 dalek rakudo/parameterize-cleanup: 9f637e7 | jnthn++ | lib/NativeCall.pm:
16:53 dalek rakudo/parameterize-cleanup: Switch NativeCall types to use ^parameterize.
16:53 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/9f637e7896
16:54 FROGGS oy!
16:54 FROGGS jnthn++
16:54 jnthn FROGGS: I was patching NativeCall and confused myself, then figured it out :)
16:56 TimToady anyone wanna show off Perl 6 while you're on screen here?
16:56 FROGGS jnthn++ # awesome outfigurer
16:57 FROGGS m: say 42 # \o/
16:57 camelia rakudo-moar 699f9b: OUTPUT«42␤»
16:57 TimToady that's...not very fancy
16:57 lizmat m: sub showoff($a) { say $a }; showoff(<Perl 6>)
16:57 camelia rakudo-moar 699f9b: OUTPUT«Perl 6␤»
16:57 TimToady .oO(she's such a tease)
16:58 lichtkind joined #perl6
16:58 TimToady m: say [*] 2..100
16:58 camelia rakudo-moar 699f9b: OUTPUT«93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000␤»
16:58 masak m: .say for 10 ... 1, "LIFTOFF"
16:58 camelia rakudo-moar 699f9b: OUTPUT«10␤9␤8␤7␤6␤5␤4␤3␤2␤1␤LIFTOFF␤»
16:58 PerlJam masak: you forgot the *CRASH* after liftoff ;>
16:58 masak m: say 1/3 + 1/3 + 1/3 # exact answer
16:58 camelia rakudo-moar 699f9b: OUTPUT«1␤»
16:59 FROGGS m: use NativeCall; my class Coffee is repr<CStruct> { has uint8 $.milk }; say Pointer[Coffee].new.deref
16:59 camelia rakudo-moar 699f9b: OUTPUT«(Coffee)␤»
16:59 TimToady I'll leave you guys up while there doing the preliminaries...
17:00 masak m: say "MW" ~ "HA" x 100 ~ "!" # big mistake, TimToady :)
17:00 camelia rakudo-moar 699f9b: OUTPUT«MWHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA!␤»
17:00 TimToady *they're
17:00 jnthn m: my $english = 'while there doing'; $english ~~ s[there] = "they're"; say $english
17:00 camelia rakudo-moar 699f9b: OUTPUT«while they're doing␤»
17:00 jnthn :P
17:00 vendethiel joined #perl6
17:01 masak m: my $who = "TimToady"; say "Who is going to regret leaving us up while doing the preliminaries?"; say "$who, that's who!"
17:01 camelia rakudo-moar 699f9b: OUTPUT«Who is going to regret leaving us up while doing the preliminaries?␤TimToady, that's who!␤»
17:01 jnthn m: say "Who let dogs out? ", 'Who? ' xx 3
17:01 camelia rakudo-moar 699f9b: OUTPUT«Who let dogs out? Who?  Who?  Who? ␤»
17:02 FROGGS >.<
17:02 masak m: say "What happens when an unstoppable \x2604 meets an immovable \x2603?"
17:02 camelia rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?␤»
17:03 masak (can I do that one with the character names somehow?)
17:03 jnthn m: say "\c[CAT FACE WITH TEARS OF JOY]"
17:03 camelia rakudo-moar 699f9b: OUTPUT«😹␤»
17:03 hahainternet irlolled at ^
17:04 PerlJam For some reason I always expect to use \u instead of \c there
17:04 avuserow joined #perl6
17:04 masak m: my @array = "hip" xx 2; say join " ", @array, @array.^name, "!"
17:04 camelia rakudo-moar 699f9b: OUTPUT«hip hip Array !␤»
17:04 masak PerlJam: too much Java or JavaScript, perhaps?
17:04 masak PerlJam: (I did the same just now, though)
17:05 TimToady Okay, no more fun.
17:05 TimToady see you later &
17:05 masak m: say "What happens when an unstoppable \c[COMET] meets an immovable \c[SNOWMAN]?"
17:05 camelia rakudo-moar 699f9b: OUTPUT«What happens when an unstoppable ☄ meets an immovable ☃?␤»
17:05 masak \o/
17:05 masak TimToady: good luck!
17:06 dalek rakudo/parameterize-cleanup: 9ef86e6 | jnthn++ | src/Perl6/Metamodel/ClassHOW.nqp:
17:06 dalek rakudo/parameterize-cleanup: Kill off the PARAMETERIZE_TYPE hack.
17:06 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/9ef86e6737
17:07 * lizmat was finally starting to grok PARAMETERIZE_TYPE
17:07 aborazmeh joined #perl6
17:07 aborazmeh joined #perl6
17:08 jnthn lizmat: The knowledge is about transferable. :)
17:08 lizmat I hope so  :-)
17:08 jnthn lizmat: It's just removing a level of indirection and keeping meta-programming and programming apart.
17:08 lizmat jnthn++
17:09 jnthn You can see the patches I did in that branch leading up to it to see how things changed.
17:09 jnthn Though don't try and run the branch yet, it depends on a local Moar change I have that seems to break something else...
17:10 lizmat will check after backlogging completes
17:13 J-L Hey, I'm getting a strange error in Perl6 when I try to run:  'hello'.^methods.sort.say;
17:13 J-L I get a lot of:  Code object coerced to string (please use .gist or .perl to do that) ...
17:13 jnthn .sort(*.name)
17:14 masak m: say "hello".^methods.sort(*.name)
17:14 camelia rakudo-moar 699f9b: OUTPUT«ACCEPTS BUILD Bool DUMP Int Num Numeric Str Stringy WHICH WHY chomp chop codes comb encode gist indent lines match ords path perl pred samecase samespace split subst subst-mutate succ trans trim trim-leading trim-trailing unival univals wordcase words␤»
17:14 skids Some of the methods on base types are lowlevel and don't yet do some introspects.
17:14 masak J-L: what jnthn++ said.
17:14 PerlJam J-L: ^methods will get you the actual "method objects" and when  you try to say them, you get what you got
17:14 lizmat it's at times like this that I wonder whether we could need a .Sort implicit coercer
17:15 lizmat for sorting
17:15 PerlJam lizmat: .COLLATE maybe?  :)
17:15 masak that implies that there is one order per type, which I don't think is true.
17:15 lizmat yeah, something like that
17:15 masak not even one canonical order per type.
17:16 J-L Ah, nice.  Thanks.
17:16 Ovid joined #perl6
17:17 J-L Out of curiosity, does this .sort(*.name) use a Schwartzian transform?
17:17 PerlJam Ovid!  o/
17:17 Guest64948 Hi there.
17:17 skids o/ Guest
17:17 masak hi, Guest64948^WOvid
17:18 CurtisOvidPoe Dang it :)
17:18 CurtisOvidPoe If I have a sub call like doit(<a b c>), how do I flatten that hard-coded list?
17:18 lizmat doit( |<a b c> )
17:18 PerlJam always or just for one call?
17:19 CurtisOvidPoe PerlJam: Just wanted to know it for that one call.
17:19 lizmat m: sub foo($a,$b,$c) { say $a; say $b; say $c }; foo( |<a b c> )
17:19 camelia rakudo-moar 699f9b: OUTPUT«a␤b␤c␤»
17:20 J-L Question:  If I want to compare two arrays to see if they have identical contents (they each hold only strings), what's the better way to do it?  With ~~ or eqv ?  Or another way?
17:21 moritz eqv
17:21 lizmat if they only contain strings, 'eq' might be faster ?
17:21 mr-foobar joined #perl6
17:22 masak >>eq<< in that case
17:22 masak oh, wait.
17:22 moritz m: say ['a b', 'c'] eq ['a', 'b c']
17:22 camelia rakudo-moar 699f9b: OUTPUT«True␤»
17:22 masak I see what you mean, lizmat.
17:22 moritz don't use eq on arrays
17:22 masak heh.
17:22 masak I didn't even think of that. but yeah, not good.
17:22 lizmat moritz++ to point out the error of her ways
17:23 masak >>eq<< ought still work. but it will throw an exception if the arrays are of different length -- probably not what you want.
17:23 eli-se joined #perl6
17:24 eli-se hii
17:24 masak :)
17:26 J-L Example of the array comparison I'm asking about:  Say I have two decks of cards (@cards1 and @cards2), each containing 52 strings (representing the 52 cards).  How would I comapre them to see if they're in the exact same order?  @cards1 ~~ @cards2  or  @cards1 eqv @cards2  ?
17:26 masak J-L: both work.
17:26 masak J-L: I'd use eqv because it's narrower in semantics.
17:27 masak and so it leaves fewer questions for the avid reader.
17:27 J-L An unrelated question:  Can I declare a variable const in Perl6?
17:27 masak m: constant foo = 42; say foo
17:27 camelia rakudo-moar 699f9b: OUTPUT«42␤»
17:27 masak m: constant $foo = 42; say $foo
17:27 camelia rakudo-moar 699f9b: OUTPUT«42␤»
17:28 skids J-L: Though I wouldn't call it a "variable constant" personally :-)
17:30 J-L Excellent!  I've been waiting for a long time for "constant".
17:31 J-L m: my @a = (1 .. 3);  say @a ~~ (1 .. 3);  say @a eqv (1 .. 3);
17:31 camelia rakudo-moar 699f9b: OUTPUT«True␤False␤»
17:31 [Coke] p5 has Readonly, which is pretty nice. (ROODE++)
17:31 J-L It looks like ~~ can handle arrays compared with lists, whereas eqv seems to return False.
17:32 masak J-L: yes.
17:32 masak eqv is stricter about types, both of the containers and the elements.
17:32 masak with ~~, the type on the left often adapts/coerces to the type on the right.
17:33 J-L So in the Perl6 example at http://en.wikipedia.org/wiki/Faro_shuffle#Computer-science_aspects , should I have used ~~ or eqv when comparing @deck and @originalDeck ?
17:33 lizmat itz: re http://irclog.perlgeek.de/perl6/2015-03-10#i_10253632 , I can reveal that there will be a talk by Andrew Shitov, doing a live demonstration of Perl 6's grammars
17:34 lizmat .oO( from the list of unusual suspects )
17:35 J-L [Coke]:  The Perl5 Readonly module is nice, but I don't think it's a core module.
17:37 cschwenz left #perl6
17:37 masak seems it isn't.
17:37 masak however, it's super-easy to install non-core modules in Perl 5! :D
17:38 masak cpanminus comes to mind.
17:38 avuserow joined #perl6
17:40 moritz https://metacpan.org/pod/release/XSAWYERX/perl-5.21.9/pod/perlrebackslash.pod#b-b-B-B
17:40 vendethiel joined #perl6
17:41 J-L masak:  I've been using cpanminus a bit lately.  However, I often write code that needs to be run by anyone (in my or customers' companies), whether they have access to CPAN or not.  I gotta work with what they already have.
17:41 moritz it's nice to see Perl 5 getting cooll Unicode features
17:41 moritz but it's a bit sad that they are hidden behind rather cryptic regex features
17:41 skids J-L: As long as both @vars are bound to the same type of object eqv is better.
17:41 skids m: my @a = (1 .. 3); @a.WHAT.say; my @b = (1,2,3); @b.WHAT.say; say @a eqv @b;
17:41 camelia rakudo-moar 699f9b: OUTPUT«(Array)␤(Array)␤True␤»
17:42 skids m: my @a = (1 .. 3); @a.WHAT.say; my @b := (1,2,3); @b.WHAT.say; say @a eqv @b;
17:42 camelia rakudo-moar 699f9b: OUTPUT«(Array)␤(Parcel)␤False␤»
17:43 J-L Question about the Z(ipper) operator:  I can zipper together two arrays with:   (<a b c>) Z (1..3), but how do I make a nested list of lists?  That is, I want to get:  ((a,1),(b,2),(c,2))
17:44 skids m: ((<a b c>) Z (1..3)).perl.say # you already have it you just need to keep it from collapsing when you use it.
17:44 camelia rakudo-moar 699f9b: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).list␤»
17:45 J-L skids:  In that case, how do I collapse it?
17:46 moritz m: say .perl for ((<a b c>) Z (1..3)).tree
17:46 camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
17:46 moritz m: say .perl for (<a b c> Z (1..3)).tree
17:46 camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
17:46 moritz m: say (<a b c> Z (1..3)).tree.perl
17:46 camelia rakudo-moar 699f9b: OUTPUT«("a", 1; "b", 2; "c", 3).item␤»
17:46 moritz seems it doesn't work as it used to :(
17:48 madmuid joined #perl6
17:49 skids m: ((<a b c>) Z (1..3)).flat.perl.say # J-L
17:49 camelia rakudo-moar 699f9b: OUTPUT«("a", 1, "b", 2, "c", 3).list␤»
17:49 asdf12z_ joined #perl6
17:49 skids J-L: or do anything that autflattens.
17:50 skids *auto
17:50 skids But I would not learn too hard on that aspect right away if you have other stuff to learn, wait until after the GLR.
17:51 Khisanth joined #perl6
17:51 J-L GLR?
17:52 geekosaur great list refactor
17:52 J-L Sounds monumental!
17:52 masak J-L: since https://metacpan.org/pod/App::FatPacker, the "clients need to be able to use my stuff without downloading dependencies" excuse has mostly lost its teeth and is mostly just a bad excuse :)
17:54 CurtisOvidPoe How do I do the Perl 5 equivalent of $object->isa($thing)?
17:54 skids J-L: http://pmthium.com/2014/10/apw2014/ # to catch you up
17:58 J-L masak:  Whoa!  I never knew about App::FatPacker.  I'm looking into it now.
17:58 J-L skids:  Thanks for the advice about the GLR.
17:58 moritz CurtisOvidPoe: $obj ~~ TheType
17:58 FROGGS timotimo: btw: http://wiki.cpantesters.org/wiki/CPANAuthorNotes "How can I stop getting FAIL reports for missing libraries or other non-Perl dependencies?"
17:59 spider-mario joined #perl6
18:00 CurtisOvidPoe moritz: it’s not quite working. Writing a function that accepts a string *or* an IO::Path object. This subject doesn’t quite work: subset IOThing where * ~~ Str | IO::Path;
18:00 CurtisOvidPoe And then I have sub some_func(IOThing $top) {…}
18:00 CurtisOvidPoe But if I pass in the name of a directory as a string, it’s not working.
18:01 mohij joined #perl6
18:01 CurtisOvidPoe m: subset TypeCheck where * ~~ Str; sub foo(TypeCheck $bar) {say $bar}; foo(“this”)
18:01 camelia rakudo-moar 699f9b: OUTPUT«Constraint type check failed for parameter '$bar'␤  in sub foo at /tmp/sZnVTtHcig:1␤  in block <unit> at /tmp/sZnVTtHcig:1␤␤»
18:02 CurtisOvidPoe What did I miss?
18:03 moritz CurtisOvidPoe: * doesn't work magically with ~~
18:03 moritz m: subset TypeCheck where { $_ ~~ Str|IO::Path}; say 'foo' ~~ TypeCheck
18:03 camelia rakudo-moar 699f9b: OUTPUT«True␤»
18:03 CurtisOvidPoe So how can I write a subset that checks if something is either a string or an IO::Path object?
18:03 CurtisOvidPoe Ah,t hanks :)
18:03 moritz you're welcome
18:03 TimToady I'm baaack
18:04 TimToady CurtisOvidPoe: thanks for your .1 + .2 - .3 example, I used it tonight
18:05 CurtisOvidPoe Cool!
18:06 CurtisOvidPoe What was the context?
18:07 TimToady a talk in Budapest, Things I Do For Fun
18:07 TimToady the immediate context was design principles we've accumulated
18:07 TimToady "Math just is."
18:09 CurtisOvidPoe Hopefully Perl 6 might eventually stop people from saying “well, of course floating point addition isn’t associative!”
18:10 CurtisOvidPoe (Which is true, but it means floating point addition gives the wrong answer in some cases)
18:10 [Coke] J-L: we've discussed this before, but it's pretty easy to bundle modules with your app.
18:10 hannibal777 joined #perl6
18:10 [Coke] ah, masak++ covered it. J-L++
18:10 hannibal777 Hi
18:11 [Coke] hannibal777: hi
18:11 hannibal777 Tim
18:11 hannibal777 I wanted to ask during your talk
18:12 hannibal777 You said that you were writing perl6 with perl6.
18:12 hannibal777 Isn't that a paradox?
18:13 hannibal777 Also, when you were talking about math, do: -3 modulo 5. Can Perl 6 handle minus modulo?
18:13 moritz hannibal777: it's not more of a paradoxon than gcc being written in C/C++
18:13 moritz m: say (-3) % 5
18:13 camelia rakudo-moar 699f9b: OUTPUT«2␤»
18:14 TimToady superstitious parens
18:14 hannibal777 Nice. :-)
18:14 moritz hannibal777: https://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29
18:14 moritz m: say -3 % 5 # now less superstitious
18:14 camelia rakudo-moar 699f9b: OUTPUT«2␤»
18:14 TimToady m: say -5 %% 5
18:14 camelia rakudo-moar 699f9b: OUTPUT«True␤»
18:15 hannibal777 say (-5)*5 % 558
18:16 moritz hannibal777: add the 'm: ' prefix
18:16 hannibal777 m: say (-5)*5 % 558
18:16 camelia rakudo-moar 699f9b: OUTPUT«533␤»
18:16 TimToady m: constant fib = 0,1, *+* ... *; say fib[^20]
18:16 camelia rakudo-moar 699f9b: OUTPUT«0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181␤»
18:17 hannibal777 m: say (12) - 20 % 24
18:17 camelia rakudo-moar 699f9b: OUTPUT«-8␤»
18:18 hannibal777 m: say 2*2^-1 % 26
18:18 camelia rakudo-moar 699f9b: OUTPUT«one(4, 25)␤»
18:20 moritz m: say 2 * 2**-1 % 26
18:20 camelia rakudo-moar 699f9b: OUTPUT«1␤»
18:21 hannibal777 m: say 666558^-1 % 55
18:21 camelia rakudo-moar 699f9b: OUTPUT«one(666558, 54)␤»
18:24 jnthn m: subset TypeCheck where Str|IO::Path; say 'foo' ~~ TypeCheck
18:24 camelia rakudo-moar 699f9b: OUTPUT«True␤»
18:24 hannibal777 m: say int(rand(10))
18:24 camelia rakudo-moar 699f9b: OUTPUT«5===SORRY!5=== Error while compiling /tmp/baCwmRBmS8␤Unsupported use of rand(N); in Perl 6 please use N.rand for Num or (^N).pick for Int result␤at /tmp/baCwmRBmS8:1␤------> 3say int(rand7⏏5(10))␤»
18:24 jnthn CurtisOvidPoe: You can write it like ^^
18:24 jnthn CurtisOvidPoe: Since where implies smartmatch
18:25 moritz jnthn++
18:25 hannibal777 m: say 2.rand
18:25 camelia rakudo-moar 699f9b: OUTPUT«1.19064193531821␤»
18:26 hannibal777 m: say ^2.rand
18:26 camelia rakudo-moar 699f9b: OUTPUT«0..^0.905186446861063e0␤»
18:26 hannibal777 m: say ^2.pick
18:26 camelia rakudo-moar 699f9b: OUTPUT«0..^2␤»
18:27 moritz precedence
18:27 TimToady need parens
18:27 moritz m: say (^2).pick
18:27 camelia rakudo-moar 699f9b: OUTPUT«1␤»
18:27 moritz m: say (^2).pick
18:27 camelia rakudo-moar 699f9b: OUTPUT«0␤»
18:27 moritz m: say (^2).pick for ^10
18:27 camelia rakudo-moar 699f9b: OUTPUT«0␤1␤0␤1␤0␤1␤1␤0␤0␤0␤»
18:28 TimToady m: use Inline::Perl5; use YAML::XS;
18:28 camelia rakudo-moar 699f9b: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
18:30 dwarring joined #perl6
18:30 hannibal777 why would you match an inferior version with a superior one?
18:34 moritz m: say v1 ~~ v2
18:34 camelia rakudo-moar 699f9b: OUTPUT«False␤»
18:34 moritz hannibal777: since a smaller version doesn't match a larger version, I'm not sure what you mean
18:37 hannibal777 Oh this was a question regarding a question which was asked during the talk here in Budapest.
18:37 hannibal777 I can understand that you want backward compatibility between long term libraries but to be honest, I would prefer the newer one.
18:38 hannibal777 Although Larry did say they are like sisters.
18:41 [Coke] hannibal777: I am also not sure what you mean.
18:41 [Coke] can you restate your question?
18:42 hannibal777 The question the person had is: I don't know perl 6 so can I use perl 5 libraries in perl 6. :-)
18:45 btyler_ hannibal777: yep, check out Inline::Perl5
18:46 btyler_ it embeds a perl5 in perl 6, so you can load and use perl 5 code
18:47 skids .oO(All UR libs R belong to us)
18:47 flussence .oO( perl6 is only 90 minutes newer than perl5 right now )
18:49 vendethiel joined #perl6
18:49 mohij joined #perl6
18:50 masak hannibal777: re "writing X in X". usually what happens is that X is written in Y first, and then Y is gradually removed and replaced with X. which avoids the paradox.
18:50 masak hannibal777: but there are still interesting challenges where the "upper" compiler which is building the "lower" compiler needs to be very careful about the order in which basic concepts are introduced.
18:51 madmuid joined #perl6
18:51 masak hannibal777: we call that whole set of problems "cirularity" around here. it's gnarly, but not impossible.
18:51 flussence star: use Inline::Perl5; use Encode::GSM0338:from<Perl5>;
18:51 camelia star-m 2015.02: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/languages/perl6, /home/camelia/rakudo-star-2015.02/install/languages/perl6/site␤»
18:51 camelia ..star-p 2015.02: OUTPUT«===SORRY!===␤Could not find Inline::Perl5 in any of: /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6/lib, /home/camelia/rakudo-star-2015.02/install/lib/parrot/6.10.0/languages/perl6␤»
18:51 flussence aw
18:53 zakharyas joined #perl6
18:55 nine_ Personally, I could live with Inline::Perl5 being in star...
18:55 moritz we can't easily bundle things with star that come with external dependencies, like OpenSSL or Inline::* modules
18:55 eli-se joined #perl6
18:56 flussence makes sense...
18:58 flussence (I'd like it if META.info allowed dependencies with a :from<>, even if they're ignored at install time, just to be able to list them in a well known place)
18:59 nine_ How do I declare a test dependency in META.info?
19:00 flussence same as a normal one right now
19:00 Mouq joined #perl6
19:01 Mouq .botsnack
19:01 yoleaux 09:35Z <jnthn> Mouq: Only worry is that while this fixes the slow-path binder used on Moar, it doesn't fix it for bind lowering (where we compile many common/simple signatures), nor JVM...and I wonder if we could patch it a different way that fixes the 3 at once.
19:01 yoleaux :D
19:01 yoleaux 09:36Z <jnthn> Mouq: For example, adding a default closure that makes an appropriately typed array/hash when we construct the Parameter object in the first place.
19:04 Mouq jnthn: Sounds reasonable :)
19:04 Quixotic joined #perl6
19:04 mohij joined #perl6
19:08 Hor|zon joined #perl6
19:10 [Sno] joined #perl6
19:13 kjs_ joined #perl6
19:20 CurtisOvidPoe By the way, I made a silly comment earlier about floating point addition not being associative, I should have said “commutative” and I misread Larry’s example and was thinking about this check which incorrectly returns false in many languages:
19:20 CurtisOvidPoe m: say 0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6
19:20 camelia rakudo-moar 699f9b: OUTPUT«True␤»
19:20 diana_olhovik joined #perl6
19:20 CurtisOvidPoe That returns false in Perl 5.
19:23 lizmat m: say ^0 ... ^10   # DWIM
19:23 camelia rakudo-moar 699f9b: OUTPUT«1 2 3 4 5 6 7 8 9␤»
19:23 lizmat m: say ^10 ... ^0   # WAT ?
19:23 camelia rakudo-moar 699f9b: OUTPUT«0 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…»
19:27 Mouq m: say 0,1 ... 0
19:27 camelia rakudo-moar 699f9b: OUTPUT«0␤»
19:27 Mouq m: say 0,1 ... ^0
19:27 camelia rakudo-moar 699f9b: OUTPUT«0 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…»
19:27 Mouq m: say 0,1 ... []
19:27 camelia rakudo-moar 699f9b: OUTPUT«0 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…»
19:28 Mouq https://rt.perl.org/Ticket/Display.html?id=114326 Related ?
19:28 lizmat possibly  :-)
19:31 madmuid joined #perl6
19:36 masak CurtisOvidPoe: floating-point addition is commutative. it's not associative. your `0.7 + 0.6 + 0.7 == 0.7 + 0.7 + 0.6` example displays this, albeit in a clouded way.
19:37 masak m: say 0.7 + (0.7 + 0.6) == (0.7 + 0.7) + 0.6
19:37 camelia rakudo-moar 699f9b: OUTPUT«True␤»
19:37 CurtisOvidPoe Right, that’s why I changed it to ‘commutative’ when I explained it :) Is there a simpler example?
19:37 hannibal777 Thank you again for an awesome presentation on a beautiful language.
19:37 masak m: say 7e-1 + (7e-1 + 6e-1) == (7e-1 + 7e-1) + 6e-1
19:37 camelia rakudo-moar 699f9b: OUTPUT«False␤»
19:37 masak CurtisOvidPoe: there you go.
19:38 masak CurtisOvidPoe: the associativity condition needs the terms to come in the same order, but with different parenthization.
19:38 masak CurtisOvidPoe: because float addition *is* commutative, my example means the same as your example, though ;)
19:39 erdic joined #perl6
19:42 Hor|zon joined #perl6
19:53 dalek gtk-simple: 8b2c996 | (Andrew Egeler)++ | lib/GTK/Simple.pm6:
19:53 dalek gtk-simple: Only use idle callback when we have pending code
19:53 dalek gtk-simple:
19:53 dalek gtk-simple: While difficult to find hard documentation, I have seen a few different
19:53 dalek gtk-simple: places stating that "g_idle_add" is threadsafe. Operating on this
19:53 dalek gtk-simple: assumption, we add one idle callbacks for every piece of code we need to run,
19:53 dalek gtk-simple: and no more.
19:53 dalek gtk-simple:
19:53 dalek gtk-simple: This fixes #5 and drops our idle CPU usage from 100% down to 0%
19:53 dalek gtk-simple: review: https://github.com/perl6/gtk-simple/commit/8b2c996397
19:54 CurtisOvidPoe masak: thanks for the clarification :)
19:56 masak CurtisOvidPoe: in my head, I just have "float addition is not assoc" as "precision gets lost at every addition", which is easier to think about
19:56 timotimo oooh
19:57 timotimo (Andrew Egeler>++ # a thousand times over
19:57 timotimo er ...
19:57 masak timotimo: non-matching delimiters detected. you will now be eliminated.
19:57 masak :P
19:57 timotimo ouchies
19:59 avuserow masak: if you like that logic, try typing 'set -e' in an interactive shell at some point :P
20:02 * PerlJam had to look up who Andrew Egeler was ... I guess he's not in the CREDITS file
20:02 PerlJam (or maybe I'm just assuming that dalek always looks in the rakudo CREDITS file0
20:03 * retupmoca == Andrew Egeler
20:03 retupmoca (don't know how dalek works though)
20:03 masak retupmoca++
20:03 PerlJam retupmoca: yeah, I know that's you *now*  :)
20:06 moritz retupmoca: dalek looks at rakudo's CREDITS file to determine the nick name
20:07 retupmoca ah, ok. Yeah, I'm not in there afaik - haven't made many rakudo-level commits
20:07 retupmoca I'm mostly in the ecosystem
20:07 dalek rakudo/nom: 357ad26 | PerlJam++ | CREDITS:
20:07 dalek rakudo/nom: Add retupmoca++ to CREDITS
20:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/357ad266af
20:07 PerlJam you're there now.
20:08 retupmoca PerlJam++
20:08 PerlJam retupmoca: from the top of CREDITS:  ... here is the partial list of people who have contributed to Rakudo and its supporting works.
20:08 PerlJam you're *definitely* contributing to its supporting works
20:09 hoelzro retupmoca++
20:12 eli-se joined #perl6
20:13 retupmoca #perl6++
20:15 timotimo retupmoca: i'm glad you fixed this :)
20:15 dalek Heuristic branch merge: pushed 33 commits to rakudo/newio by lizmat
20:17 timotimo i was about to try out the perl6 tmbundle turned into an ace editor syntax mode thingie, but the section about the converter program is kind of underwhelming when it comes to making promises
20:19 krunen joined #perl6
20:20 flussence (dalek *used* to display my username for commit things, but I don't see it in that credits file [and can't recall having done anything particularly credits-worthy...], so does it do lookups from somewhere else too?)
20:20 timotimo maybe from parrot?
20:21 moritz flussence: dalek used parrot's CREDIT file in the past
20:21 kjs_ joined #perl6
20:21 flussence ...how the heck did I end up in there? :)
20:22 flussence (eh, doesn't matter, I'll just have to re-earn that hash lookup... :)
20:23 nine_ Looks like seek is somewhat broken:
20:23 nine_ m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;,
20:23 camelia rakudo-moar 357ad2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3wiQoIAEew␤Preceding context expects a term, but found infix , instead␤at /tmp/3wiQoIAEew:1␤------> 3ay("foo"); $fh.seek(0, 0); $fh.get.say;,7⏏5<EOL>␤»
20:23 nine_ m: my $fh = '/tmp/fhtest/'.IO.open(:w); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;
20:23 camelia rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor␤  in method get at src/gen/m-CORE.setting:17042␤  in block <unit> at /tmp/ouTEaO9gDV:1␤␤»
20:23 nine_ m: my $fh = '/tmp/fhtest/'.IO.open(:rw); $fh.say("foo"); $fh.seek(0, 0); $fh.get.say;
20:23 camelia rakudo-moar 357ad2: OUTPUT«Reading from filehandle failed: bad file descriptor␤  in method get at src/gen/m-CORE.setting:17042␤  in block <unit> at /tmp/_skbnZO23b:1␤␤»
20:23 moritz flussence: https://github.com/parrot/parrot/commit/77bd7c8ebd7fbc1558b78c7c9370e3523fe88ab4
20:24 * moritz blames tadzik++
20:24 kjs_ joined #perl6
20:25 moritz #dammittadzik :-)
20:26 masak as seen trending on Twitter
20:26 PerlJam I'm not sure that's a good meme to emulate
20:26 flussence .oO( maybe it was a badge of bravery for putting up with rakudo's runtime back then... )
20:27 rurban joined #perl6
20:28 * moritz wants a continuous delivery system that doesn't suck
20:29 dalek specs: bcacc15 | lizmat++ | S17-concurrency.pod:
20:29 dalek specs: Kebab-case Supply.schedule-on
20:29 dalek specs: review: https://github.com/perl6/specs/commit/bcacc15b19
20:30 kaare_ joined #perl6
20:31 PerlJam heh.  I must've missed the coining of "kebab-case"   :)
20:31 eli-se I wish I were a good programmer.
20:33 tadzik moritz: why me :)
20:33 tadzik hah
20:34 moritz tadzik: because I an :-)
20:34 moritz *can
20:35 tadzik well, it was a good deed, I regret nothing :P
20:36 flussence eli-se: good is relative. I'm fine with being lousy, it makes it easier for others to be above-average :)
20:36 eli-se Given you're in this channel you're already better than most programmers.
20:37 eli-se Since you're apparently interested in what you do.
20:38 * moritz is very good at seeming to be interested
20:39 masak I'm OK with being an average programmer, as long as I'm constantly looking for ways to improve and not stagnate.
20:39 masak I love to get new perspectives on things.
20:39 flussence that's how I ended up here
20:40 dalek rakudo/nom: eecf5c9 | lizmat++ | / (3 files):
20:40 dalek rakudo/nom: Kebab-case Supply.on_demand/schedule_on
20:40 dalek rakudo/nom:
20:40 dalek rakudo/nom: Deprecate the original ones, of course.
20:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eecf5c9366
20:41 skids A good gunslinger can hit a tin can at fifty paces with a musket.  An average gunslinger is more quick to say "screw this crummy musket I want a better gun."  So that's how I ended up here.
20:42 dalek roast: ab6c653 | lizmat++ | S17-supply/schedule (2 files):
20:42 dalek roast: Step #1 kebab-casing schedule_on
20:42 dalek roast: review: https://github.com/perl6/roast/commit/ab6c653173
20:43 PerlJam skids: so ... Perl 6 is a muzzle loader?
20:43 PerlJam or a 6 shooter?
20:43 skids PerlJam++
20:44 moritz it's the shotgun with which you only have to aim broadly in the right direction :-)
20:44 PerlJam I'm having trouble reconciling "gunslinger" and "musket" though.  :)
20:44 dalek roast: 77e9359 | lizmat++ | S17-supply/schedule-on.t:
20:44 dalek roast: Step #2 kebab-casing schedule_on
20:44 dalek roast: review: https://github.com/perl6/roast/commit/77e935963b
20:44 * flussence pictures someone loading a pallet of muskets into a trebuchet...
20:45 PerlJam heh
20:45 dalek rakudo/nom: 7375cd7 | lizmat++ | t/spectest.data:
20:45 dalek rakudo/nom: Step #3 kebab-casing schedule_on
20:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7375cd7c4d
20:45 skids .oO(I guess only BL2 folks would get it if I said it was an "Unkempt Harold")
20:45 Mouq jnthn: Update on the Str @param thing… I don't seem to have the moxy to do it… I'll put it aside for now, but if you can fix it easily, don't hesitate to :P
20:46 colomon PerlJam: http://www.d20pfsrd.com/classes/base-classes/gunslinger starting with “At 1st level…”
20:46 Mouq jnthn: None of my attempts in Actions.pm have resulted in actual behavioral differences
20:46 colomon PerlJam: ;)
20:46 dalek roast: bf6bb04 | lizmat++ | S17-supply/f (2 files):
20:46 dalek roast: Step #1 of deprecating Supply.for for from-list
20:46 dalek roast: review: https://github.com/perl6/roast/commit/bf6bb04837
20:47 PerlJam colomon++ :)
20:48 jnthn Mouq: Hm, OK, will keep it in mind...thanks ;)
20:48 jnthn *:)
20:48 dalek doc: d965174 | moritz++ | lib/Type/Supply.pod:
20:48 dalek doc: schedule_on is now schedule-on
20:48 dalek doc: review: https://github.com/perl6/doc/commit/d965174060
20:48 ab5tract moritz++
20:48 PerlJam moritz++ indeed.   I was just about to do the same
20:50 timotimo http://t.h8.lv/p6bench/2015-03-12-rakudo.html benchmarks over the last 3 releases and a nom from earlier today
20:55 japhb timotimo: That looks decidedly mixed
20:56 flussence do those lines include startup time?
20:56 moritz flussence: no
20:56 dalek roast: 9c90d8a | lizmat++ | S17-supply/ (28 files):
20:56 dalek roast: Step #2 of deprecating Supply.for for from-list
20:56 dalek roast: review: https://github.com/perl6/roast/commit/9c90d8a76f
20:56 japhb flussence: Read first line of page for that answer (it always states what analysis options it's using)
20:56 virtualsue joined #perl6
20:57 flussence oh I'm dumb, I just scrolled down to the pretty :)
20:57 dalek rakudo/nom: 9411a79 | lizmat++ | t/spectest.data:
20:57 dalek rakudo/nom: Step #3 of deprecating Supply.for for from-list
20:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9411a79b6a
20:57 japhb Most people do.  And I'm not about to inflict marquee mode on anyone.  :-)
20:57 timotimo japhb: yes indeed. some of these dips are to be expected
20:57 timotimo we made some optimizations more difficult
20:57 masak timotimo: what happened to pi_sequential_iteration at the bottom?
20:57 lizmat sleep&
20:58 japhb I was wondering the same ...
20:58 masak timotimo: all I see is an empty diagram.
20:58 japhb o/ lizmat
20:58 PerlJam g'night lizmat!
20:58 virtualsue_ joined #perl6
20:58 masak sleep well, lizmat
20:58 japhb masak: That usually means "no data" (in fact, there's a GHI asking to skip no-data plots)
20:58 jnthn 'night, lizmat
21:04 ab5tract while exploring Proxies in hope of documenting them, I am encountering a segfault when attempting access attributes from within the proxy blocks: https://gist.github.com/ab5tract/00a98457cd5c0989efd4
21:04 ab5tract *to access
21:05 jnthn ab5tract: Please rakudobug it
21:05 ab5tract I've tried a few different approaches, but no dice so far. OUTER<$!encoded-string> doesn't work, for instance
21:05 ab5tract jnthn: okay. wanted to be sure it wasn't a case of me wielding things wrong
21:06 jnthn ab5tract: You don't want method there really
21:06 jnthn ab5tract: Try a sub or pointy instead of methods
21:06 jnthn ab5tract: But it should never SEGV even if you are using it wrong
21:07 ab5tract jnthn: switching to pointy results in the more helpful compile time error of Variable $!encoded-string used where no 'self' is available
21:08 telex joined #perl6
21:08 FROGGS[mobile] joined #perl6
21:08 espadrine joined #perl6
21:09 ab5tract I took the method example from the spectests, if I remember correctly
21:11 PerlJam ab5tract: https://github.com/perl6/roast/blob/master/S12-attributes/mutators.t
21:12 PerlJam ?
21:14 J-L Question:  Is there any way to declare an infix operator in place?  That is, so I can define it as I use it with the Z operator?
21:16 cognominal joined #perl6
21:16 FROGGS[mobile] hmmm, I believe our grammar might not allow that yet
21:16 moritz m: sub infix:<FOO>($x, $y) { $x + $y }; say 1, 2, 3 ZFOO 1, 1, 1
21:16 camelia rakudo-moar 9411a7: OUTPUT«2 3 4␤»
21:17 FROGGS[mobile] I parsed the question as if you declare the infix within the Z
21:17 TimToady m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4 5 6
21:17 camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TZGTtoQEqG␤Two terms in a row␤at /tmp/TZGTtoQEqG:1␤------> 3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 47⏏5 5 6␤    expecting any of:␤        infix stopper␤        infix or meta-infix␤        po…»
21:17 TimToady m: say 1,2,3 Z[&(sub foo ($x,$y) { $x * 2 + $y })] 4, 5, 6
21:17 camelia rakudo-moar 9411a7: OUTPUT«6 9 12␤»
21:18 TimToady like that?
21:18 * moritz is scared
21:18 ab5tract PerlJam: wow, that's a really nice one, as it shows just about exactly what I am trying to achieve
21:18 FROGGS[mobile] ahh, &() does it...
21:18 ab5tract but no, I was looking at the more 'obvious' https://github.com/perl6/roast/blob/feeea523467f32716459dd65402bc73441ceba7b/S06-routine-modifiers/proxy.t
21:18 FROGGS[mobile] I just remembered the & lookahead
21:19 Milkmandan joined #perl6
21:20 masak 'night, #perl6
21:21 FROGGS[mobile] night masak
21:21 jnthn o/ masak
21:22 PerlJam good night masak
21:24 J-L Yes, TimToady.  Just like that!
21:24 FROGGS[mobile] a pointy or whatever code should work too
21:26 FROGGS[mobile] m: say 1,2,3 Z[&(* * *)] 4,5,6
21:26 camelia rakudo-moar 9411a7: OUTPUT«4 10 18␤»
21:26 FROGGS[mobile] :p
21:26 TimToady m: $_ = '^foo'; say m/$_/
21:26 camelia rakudo-moar 9411a7: OUTPUT«「^foo」␤»
21:26 TimToady m: $_ = '^foo'; say m/<{$_}>/
21:26 camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
21:26 TimToady this seems like a bug
21:26 FROGGS[mobile] and that this works proves the sanity of the parser....
21:27 TimToady m: $_ = 'foo$'; say m/<{$_}>/
21:27 camelia rakudo-moar 9411a7: OUTPUT«Nil␤»
21:27 FROGGS[mobile] TimToady: interpolating is hard :o(
21:27 TimToady that one fails to match, why does ^ not make it fail?
21:28 TimToady alas, the masakbot has gone offline
21:29 TimToady m: $_ = '^^foo'; say m/<{$_}>/
21:29 camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
21:29 Mouq m: $_ = '$foo'; say m/<{$_}>/
21:29 camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling EVAL_0␤Variable '$foo' is not declared␤at EVAL_0:1␤------> 3anon regex { ^$foo7⏏5}␤»
21:29 TimToady m: $_ = '«foo'; say m/<{$_}>/
21:29 camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
21:29 TimToady m: $_ = '«foo»'; say m/<{$_}>/
21:29 camelia rakudo-moar 9411a7: OUTPUT«「foo」␤»
21:30 Mouq ^^ it looks like it already tries to match something before the ^
21:30 Mouq Also we probably shouldn't be doing this with eval (already ticketed)
21:30 TimToady yeah, INTERPOLATE needs a complete revamp
21:32 * Mouq proposes we do it in terms of $~Regex, and in the process begin to figure out wtf $~Regex means
21:32 ab5tract When submitting a rakudobug, do I attach the test cases sepearately or submit them inline within the email?
21:33 Mouq m: say $~P6Regex
21:33 camelia rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Any), :actions(Any))␤»
21:33 Mouq m: say $~Regex
21:33 camelia rakudo-moar 9411a7: OUTPUT«Slang.new(:grammar(Perl6::RegexGrammar), :actions(Perl6::RegexActions))␤»
21:33 Mouq The former should probably die
21:33 Mouq ab5tract: Depends. If you can golf it, inline is prefered
21:34 Mouq (At least, I prefer inline :P)
21:34 nine_ I rakudobuged the seek failure
21:35 ab5tract Mouq: thanks for your feedback. it'll go your way, as you voiced it first :)
21:39 kjs_ joined #perl6
21:53 ugexe just watched your fosdem video nine. i enjoyed it
21:53 nine_ ugexe: thanks :)
21:53 PerlJam ugexe: link?
21:54 ugexe http://video.fosdem.org/2015/devroom-perl/modules_ecosystem_perl6.mp4
21:54 PerlJam thanks.
21:55 timotimo oh my god finally
21:56 timotimo oh, this is nine's, not froggs'
21:56 timotimo i think i've seen this one already
21:57 J-L I'm trying to do something along the lines of:   1, *+1 ... *   but using a sub instead of *+1.  I tried:  sub addOne ($x) {$x+1}   1, addOne(*) ... *   but it fails with:  Cannot call 'Numeric'
21:57 TimToady that's a verb, put & on it to make it anoun
21:57 TimToady and you can't use * like that as an argument to make a closure
21:58 TimToady only works on operator args
21:58 TimToady 1, &addOne ... *
21:59 TimToady m: say 1, &succ ... *
21:59 camelia rakudo-moar 9411a7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4nJY6S9dum␤Undeclared routine:␤    &succ used at line 1␤␤»
21:59 TimToady I guess that's only a method
21:59 TimToady m: say 1, &prefix:<++> ... *
21:59 camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
22:00 TimToady say wat
22:00 TimToady oh, that's mutating
22:01 TimToady m: my $x; say $x, &prefix:<++> ... *; # curious
22:01 camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
22:01 TimToady m: my $x = 0; say $x, &prefix:<++> ... *; # curious
22:01 camelia rakudo-moar 9411a7: OUTPUT«===SORRY!===␤Cannot call 'prefix:<++>'; none of these signatures match:␤:(Mu:D \a is rw)␤:(Mu:U \a is rw)␤:(Bool:U \a is rw)␤:(Int:D $a is rw)␤:(int $a is rw)␤:(Num:D $a is rw)␤:(Num:U $a is rw)␤:(num $a is rw)␤»
22:02 * Mouq guesses the container is lost in &[...]
22:02 TimToady probably a good thing, normally
22:02 J-L TimToady:  Ah, excellent.  Thanks.  And tinkering around, I discovered this also works:  1, &(sub foo ($x) { $x+1 }) ... *
22:02 J-L As well as this:  0, 1, &(sub ($x,$y) { $x+$y+1 }) ... *
22:03 Mouq m: say 0, 1, sub ($x,$y) { $x+$y+1 } ... *
22:03 camelia rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …»
22:03 japhb joined #perl6
22:04 Mouq m: say 0, 1, { $^x+$^y+1 } ... *
22:04 camelia rakudo-moar 9411a7: OUTPUT«0 1 2 4 7 12 20 33 54 88 143 232 376 609 986 1596 2583 4180 6764 10945 17710 28656 46367 75024 121392 196417 317810 514228 832039 1346268 2178308 3524577 5702886 9227464 14930351 24157816 39088168 63245985 102334154 165580140 267914295 433494436 701408732 …»
22:04 J-L You know what I like about Perl?  The fact that one line of pseudocode can usually be implemented in one line of Perl (and that line doesn't have to be complicated).
22:04 J-L And Perl6 looks like it's taking that one-pseudocode-line-maps-to-one-code-line even more to heart.
22:06 kjs_ joined #perl6
22:06 J-L Mouq:  Why did you use $^x and $^y ?  They look like Perl5's $a and $b, but I'm wondering why 'x' and 'y' were chosen as names.
22:06 TimToady is a generalization of $a and $b but special
22:07 TimToady always just uses alphabetic order
22:07 Mouq J-L: Doesn't matter what names you use :) http://doc.perl6.org/language/variables#The_%5E_Twigil
22:10 * psch .oO( { $%5Ex + $%5Ey } )
22:11 bayprogrammer joined #perl6
22:12 ab5tract Opinions have been mixed with some folks I've mentioned the placeholder variables to
22:12 ab5tract Which was surprising to me, honestly.
22:13 * sivoais uses a dotless i for placeholder variable *mwahahaha*
22:15 J-L Thanks, Mouq.  I had read about twigils before, but now they're making more sense, as I have a need for them.
22:15 mohij joined #perl6
22:16 sivoais I've been looking at R's non-standard evaluation and I believe I could implement the same feature using Perl6 macros
22:26 virtualsue joined #perl6
22:33 dalek rakudo/parameterize-cleanup: b38acee | jnthn++ | src/Perl6/Metamodel/MetaMethodContainer.nqp:
22:33 dalek rakudo/parameterize-cleanup: Fix interaction of ^methods with inheritance.
22:33 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/b38acee3ef
22:39 dalek nqp: 6d19df1 | jnthn++ | tools/build/MOAR_REVISION:
22:39 dalek nqp: Bump MOAR_REVISION for BS repossession fixes.
22:39 dalek nqp: review: https://github.com/perl6/nqp/commit/6d19df1d22
22:39 adu joined #perl6
22:47 yqt joined #perl6
22:49 LonelyGM joined #perl6
22:50 kjs_ joined #perl6
22:57 eli-se sivoais: I fixed a dotless i bug today
22:57 eli-se .toLowerCase in Java is fun.
23:00 sivoais oh wow, is this what you ran into, eli-se? <http://grepalex.com/2013/02/14/java-7-and-the-dotted--and-dotless-i/>
23:00 eli-se sivoais: some library I used did .toLowerCase on HTTP request header names.
23:00 eli-se Which obviously breaks on Turkish web servers. :P
23:01 eli-se Basically, (= (.toLowerCase "I") (do (Locale/setDefault (Locale. "tr")) (.toLowerCase "I"))) is false.
23:02 eli-se (On my computer.)
23:02 Mouq m: say "İ".lc
23:02 camelia rakudo-moar 9411a7: OUTPUT«i␤»
23:03 sivoais wow, that's a nasty level to have Unicode bugs popping up O_O
23:03 eli-se It's not a Unicode bug.
23:03 eli-se It's a bug in the design of .toLowerCase which reads a global variable.
23:06 eli-se It's a locale bug. :P
23:06 sivoais darn you LC_CTYPE!
23:27 dalek nqp: 92223a6 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationReader.java:
23:27 dalek nqp: Make object repossession respect STable changes.
23:27 dalek nqp: review: https://github.com/perl6/nqp/commit/92223a66e4
23:29 skids joined #perl6
23:30 dalek rakudo/parameterize-cleanup: a593932 | jnthn++ | tools/build/NQP_REVISION:
23:30 dalek rakudo/parameterize-cleanup: Bump NQP_REVISION for Moar/JVM BS repossession fix
23:30 dalek rakudo/parameterize-cleanup: review: https://github.com/rakudo/rakudo/commit/a59393246f
23:34 flussence .oO( do we need a separation as strong as Str/Buf for "human-readable strings" and "computer protocol strings"? )
23:35 flussence (preferably, not one the size of libintl...)
23:35 eli-se computer protocol strings should be sequences of whatever elementary value the protocol uses
23:35 eli-se if the protocol is based on bytes, use a sequence of bytes. if it's based on code points, use a sequence of code points
23:36 eli-se rename Str to Text for less confusion
23:37 flussence that'd be nice in theory, but decoded-ascii Strs are much nicer to work with than Bufs right now...
23:37 eli-se > right now
23:37 eli-se :):):)
23:39 flussence well, they'll be a lot more equal once the specced regexes-on-bufs gets done...
23:44 eli-se .tell vendethiel: I also disallow mixed | and & without parens
23:44 yoleaux eli-se: What kind of a name is "vendethiel:"?!
23:44 eli-se yoleaux: you're dumb
23:44 eli-se .tell vendethiel I also disallow mixed | and & without parens
23:44 yoleaux eli-se: I'll pass your message to vendethiel.
23:44 eli-se yoleaux: thanks

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

Perl 6 | Reference Documentation | Rakudo