Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-05-28

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 kurahaupo joined #perl6
00:54 lue joined #perl6
01:06 anuby joined #perl6
01:26 colomon .ask masak https://github.com/masak/html-template/pull/6 .....
01:26 yoleaux colomon: I'll pass your message to masak.
01:26 lue joined #perl6
01:30 Pleiades` joined #perl6
01:32 btyler joined #perl6
01:52 snoopy joined #perl6
01:55 FROGGS joined #perl6
02:02 fgomez joined #perl6
02:04 lustlife joined #perl6
02:07 kurahaupo joined #perl6
02:25 dmol joined #perl6
02:32 colomon resolve stage failed for Rakudo::Debugger: Could not find file 'Build' for module Build
02:34 raiph joined #perl6
02:44 cooper joined #perl6
02:45 cooper joined #perl6
02:49 kurahaupo joined #perl6
02:49 konundra joined #perl6
02:52 imIKARi joined #perl6
02:55 kurahaupo joined #perl6
02:56 kurahaupo left #perl6
02:58 andrew12 left #perl6
03:05 s1n joined #perl6
03:23 jaldhar joined #perl6
03:31 mdxi joined #perl6
03:31 mdxi left #perl6
03:40 jaldhar joined #perl6
03:51 preflex_ joined #perl6
04:21 raiph joined #perl6
04:31 Psyche^ joined #perl6
04:51 lue joined #perl6
04:52 45PAAGOAR joined #perl6
05:22 SamuraiJack_ joined #perl6
05:43 SamuraiJack__ joined #perl6
05:55 muixirt joined #perl6
05:55 SamuraiJack joined #perl6
05:58 PacoAir joined #perl6
06:00 muixirt good morning
06:00 sorear o/
06:01 muixirt why isn't the first exmple in classtut working anymore?
06:02 Teratogen tut tut
06:04 sorear what are you doing here
06:04 Teratogen hanging out
06:05 Teratogen how are you doing this evening, sorear?
06:05 Teratogen =)
06:05 muixirt (http://doc.perl6.org/language/classtut)
06:06 sorear good
06:11 raiph joined #perl6
06:27 rindolf joined #perl6
06:31 kaleem joined #perl6
06:42 diakopter left #perl6
06:44 domidumont joined #perl6
06:50 FROGGS joined #perl6
06:52 SamuraiJack joined #perl6
07:06 domidumont1 joined #perl6
07:07 moritz muixirt: because it uses the default constructor to initialize private attributes; see the discussion yesterday
07:07 moritz the docs need to be fixed
07:15 sqirrel joined #perl6
07:33 dalek perl6-bench: bc2907d | (Geoffrey Broadwell)++ | / (2 files):
07:33 dalek perl6-bench: Support setting --enough-time for scalable tests
07:33 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/bc2907d48d
07:33 dalek perl6-bench: 84f9723 | (Geoffrey Broadwell)++ | / (4 files):
07:33 dalek perl6-bench: Add ability to ignore compile time, by doing '0 scale' runs before main scaled timing loop, and then later subtracting that time back out; refactor scaled timing loop to be more flexible and clearer; fix a microbenchmark that would loop forever with 0 scale
07:33 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/84f97230f0
07:36 denisboyun_ joined #perl6
07:36 FROGGS ohh, fuzzy logic
07:50 dalek nqp: c557c27 | moritz++ | Configure.pl:
07:50 dalek nqp: be smarter about guessing Darwin architecture
07:50 dalek nqp:
07:50 dalek nqp: Closes #100
07:50 dalek nqp: review: https://github.com/perl6/nqp/commit/c557c27945
07:56 dalecooper joined #perl6
08:02 cognominal joined #perl6
08:02 cognominal joined #perl6
08:05 dalek perl6-bench: 946f2d0 | (Geoffrey Broadwell)++ | / (2 files):
08:05 dalek perl6-bench: Support axis labels for plots, including custom labels for rc-forest-fire and rc-man-or-boy-test
08:05 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/946f2d08ea
08:11 tgt joined #perl6
08:15 domidumont joined #perl6
08:17 muixirt sorry moritz , was afk
08:18 labster good morning
08:19 moritz muixirt: no problem
08:19 moritz good morning labster, *
08:20 muixirt moritz: the error message i got was: 'Nominal type check failed for parameter '@dependencies'; expected Positional but got Array instead'
08:25 muixirt and that seems not to depend on how 'dependencies' and 'callback' are declared
08:27 snearch joined #perl6
08:28 SamuraiJack joined #perl6
08:28 labster rn: my class A { has $.foo = "hi"; method foo { say "foo"; }; };  A.new.foo
08:28 camelia rakudo 25a0b3: OUTPUT«foo␤»
08:28 camelia ..niecza v24-51-g009f999: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Two definitions of method foo (see line 1) at /tmp/9w2NDFWoPc line 1:â�¤------> [32m class A { has $.foo = "hi"; method foo [33mâ��[31m{ say "foo"; }; };  A.new.foo[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/ni…
08:29 labster although, that bug/feature is the only thing making my code work right now.
08:29 moritz muixirt: could you please open a ticket at https://github.com/perl6/doc/issues/new
08:29 moritz labster: rakudo is correct there
08:30 labster cool, wasn't sure, didn't feel like looking it up :)
08:34 cibs joined #perl6
08:35 daniel-s joined #perl6
08:42 labster change one character in IO::Handle:  $.path -> $!path ===>  Cannot unbox a type object as a native str
08:43 dakkar joined #perl6
08:44 moritz it probably means that $!path isn't initialized
08:44 moritz and then it's Any
08:44 moritz that's a type object
08:44 dagurval morning o/
08:44 moritz and some object tries to uses it as a string, unboxes, and its nose hits the road
08:44 moritz \o morning dagurval
08:44 labster oh, that's fair, and $.path is a method, which isn't an Any... yet.
08:45 labster morning dagurval, working on your IO::Handle.path request now :)
08:45 dagurval labster: sweet! :)
08:45 moritz if you say 'has $.path', then it marks the attribute as public, meaning that a  .new(path => $foo) can initialize it
08:46 moritz so it doesn't just add an accessor, it also changes initialization
08:46 moritz so even if you write a 'method path', it can make sense to declare the attribute as public
08:46 labster It also changes output:  IO::Handle.new(ins => 0, chomp => Bool::True, path => IO::Path.new(basename => "INSTALL.txt", directory => ".", volume => ""))
08:47 moritz yes, .perl also hides private attributes by default
08:48 labster I'm wondering if it makes sense to change the name of the attribute.  After all, a pipe isn't exactly a path.
08:49 labster I just can't think of a good name for it
08:49 moritz 'resource' # as generic as it goes
08:50 moritz file-system-representation
08:50 * moritz likes none of his ideas
08:50 labster Already came up with resource, also didn't like it.
08:51 fhelmberger joined #perl6
08:51 labster Although, pretty much no one uses IO::Handle.new directly, to it might not matter.
08:52 labster *so it might
08:52 FROGGS there will be ppl who uses it directly, no doubt
08:52 dagurval people always use an API in ways you won't expect :)
08:52 labster No one complained when when we renamed it from IO to IO::Handle, and that was last month :)
08:53 labster Of course, we haven't had a star release in a while.
08:53 domidumont joined #perl6
09:00 dalek perl6-bench: 2b06b5b | (Geoffrey Broadwell)++ | analyze:
09:00 dalek perl6-bench: Note in analyze output when compile time is being ignored
09:00 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/2b06b5b824
09:00 dalek perl6-bench: e00a844 | (Geoffrey Broadwell)++ | mi (2 files):
09:00 dalek perl6-bench: Set larger minimum scales to avoid noise at left of plots when compile time is ignored, potentially preventing nonsense performance ratios
09:00 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/e00a844310
09:05 daxim joined #perl6
09:23 domidumont joined #perl6
09:24 muixirt rn: sub test($a, Int *@b) { say $a, @b; }; test(1,2)
09:24 camelia niecza v24-51-g009f999: OUTPUT«12␤»
09:24 camelia ..rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@b'; expected Positional but got Array instead␤  in sub test at /tmp/iGxn8YtEWs:1␤  in block  at /tmp/iGxn8YtEWs:1␤␤»
09:58 sqirrel joined #perl6
10:03 rindolf joined #perl6
10:05 colomon rn: sub test(Int *@b) { say @b }; test(1, 2)
10:05 camelia niecza v24-51-g009f999: OUTPUT«1 2␤»
10:05 camelia ..rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@b'; expected Positional but got Array instead␤  in sub test at /tmp/dSd_6C2Lnx:1␤  in block  at /tmp/dSd_6C2Lnx:1␤␤»
10:05 colomon rn: sub test(*@b) { say @b }; test(1, 2)
10:05 camelia rakudo 25a0b3, niecza v24-51-g009f999: OUTPUT«1 2␤»
10:06 colomon known rakudobug?
10:07 royjaber joined #perl6
10:10 royjaber left #perl6
10:12 uniejo joined #perl6
10:18 Pleiades` joined #perl6
10:30 timotimo is there a way, with macros perhaps, to have a call like "psay $0, $0.WHAT, $0[0].WHAT" display something like '$0: ' ~ $0.gist ~ ', $0.WHAT: ' ~ $0.WHAT.gist ~ ', $0[0].WHAT: ' ~ $0[0].WHAT;
10:31 timotimo ?
10:33 dakkar joined #perl6
10:37 muixirt colomon: well, yes: https://rt.perl.org/rt3//Public/Bug/Display.html?id=113964
10:38 muixirt but is it really only a LTA bug?
10:39 timotimo oh my. i could open the source file, figure out the $?LINE of the caller and read that out.
10:40 colomon muixirt: looks like a real bug to me, not a LTA error message bug.
10:40 colomon especially because the LTA error message sounds like something very wrong is going on internally...
10:45 saxx11 joined #perl6
10:49 timotimo r: sub yoink($foo, *@bar) { say $bar.WHAT }; yoink("foo", "bar", "baz"); yoink("foo")
10:49 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Variable '$bar' is not declaredâ�¤at /tmp/VDAkzSJIaE:1â�¤------> [32msub yoink($foo, *@bar) { say $bar.WHAT[33mâ��[31m }; yoink("foo", "bar", "baz"); yoink("f[0mâ�¤    expecting any of:â�¤        method argumentsâ�¤        postfixâ�¤Â»â€¦
10:49 timotimo r: sub yoink($foo, *@bar) { say @bar.WHAT }; yoink("foo", "bar", "baz"); yoink("foo")
10:49 camelia rakudo 25a0b3: OUTPUT«(Array)␤(Array)␤»
10:49 timotimo r: sub yoink($foo, *@bar) { say @bar ~~ Positional }; yoink("foo", "bar", "baz"); yoink("foo")
10:49 camelia rakudo 25a0b3: OUTPUT«True␤True␤»
10:49 timotimo huh ... !
10:50 windydays joined #perl6
10:51 timotimo r: class Task { method new($foo, Task *@d) { say @d.WHAT; say @d ~~ Positional; self.bless(*) } }; my Task $a = Task.new("a", Task.new("b"), Task.new("c"));
10:51 camelia rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter '@d'; expected Positional but got Array instead␤  in method new at /tmp/lVB4e2lcSi:1␤  in block  at /tmp/lVB4e2lcSi:1␤␤»
10:51 timotimo r: class Task { method new($foo, *@d) { say @d.WHAT; say @d ~~ Positional; self.bless(*) } }; my Task $a = Task.new("a", Task.new("b"), Task.new("c"));
10:51 camelia rakudo 25a0b3: OUTPUT«(Array)␤True␤(Array)␤True␤(Array)␤True␤»
10:51 timotimo rakudobug?
10:53 timotimo oh, that's even what you were discussing right before i looked at it
10:54 * timotimo procrastinates from writing talk slides by perhaps adding an error to slurpy parameters
10:54 timotimo std: sub frob(Int *@foo) { };
10:54 camelia std 0336087: OUTPUT«Potential difficulties:â�¤  @foo is declared but not used at /tmp/GVO8V4tTuH line 1:â�¤------> [32msub frob(Int *[33mâ��[31m@foo) { };[0mâ�¤ok 00:00 44mâ�¤Â»
10:55 timotimo std: sub frob(Int *@foo) { }; frob(1, 2, 3)
10:55 camelia std 0336087: OUTPUT«Potential difficulties:â�¤  @foo is declared but not used at /tmp/UzyLjzCOqB line 1:â�¤------> [32msub frob(Int *[33mâ��[31m@foo) { }; frob(1, 2, 3)[0mâ�¤ok 00:00 46mâ�¤Â»
10:55 timotimo a spec change can come when my patch is complete, i guess.
10:55 timotimo or is this just an NYI warning that should be displayed?
10:56 moritz it's not at all clear how that one should work
10:56 moritz I mean if you write   sub f(Int @f) { }, then it only allows an Array[Int], not an Array containing only ints
10:57 moritz now how do you check that for a slurply, lazily?
10:59 birdwindupbird joined #perl6
11:00 timotimo ah, that's a good point :(
11:01 timotimo i'll just .sorry('Typed slurpies will never work') for now, the exact wording and exception type and specciness is still up to discussion after the code is in.
11:02 * timotimo builds and spectests
11:03 rindolf joined #perl6
11:10 timotimo huh, there already is code for that
11:11 timotimo ah, yeah, because i dropped it in there (but it's wrong)
11:13 timotimo i should be making slides instead, i'm not finding the obviously correct position for the code yet
11:21 timotimo oh, apparently it's easier than i thought, and i looked at all the wrong places. silly me.
11:22 FROGGS timotimo: I know exactly what you mean :o)
11:23 bbkr joined #perl6
11:24 bbkr moritz++ # darwin architecture detect (I will test it later this evening)
11:25 FROGGS bbkr: if it doesnt work for you then please paste the output of `ld`and `uname -a`
11:25 timotimo are the comments for karma modifications collected?
11:25 FROGGS timotimo: I believe karma counting doesnt work at all atm
11:25 FROGGS karma timotimo
11:25 FROGGS .karma timotimo
11:25 lizmat .karma kameleon
11:26 FROGGS *g*
11:26 FROGGS lizmat++
11:26 timotimo .karma timotimo
11:27 timotimo can't tell if not implemented or implemented in perl6 %)
11:27 saxx12 joined #perl6
11:27 FROGGS I believe phenny was the one who could tell us
11:28 lizmat yoleaux: where's phenny ?
11:28 timotimo phenny only lived once i'm afraid :(
11:29 moritz if somebody wants to write some code that analyzes the IRC logs for karma, please do
11:29 lizmat r: class A {}; grammar A{}  # does this also bomb with 2 UNIT's ?
11:29 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Redeclaration of symbol Aâ�¤at /tmp/qCiNcOmLVn:1â�¤------> [32mclass A {}; grammar A[33mâ��[31m{}  # does this also bomb with 2 UNIT's [0mâ�¤    expecting any of:â�¤        statement listâ�¤        horizontal whitespaceâ�¤        postfixâ�¤      â€¦
11:30 FROGGS ahh, the clogs tell me that ilbot logs them, but it cant talk about it
11:30 moritz I can either run it on my machine, or provide sql dumps
11:30 FROGGS moritz: so my statement isnt true?
11:30 moritz FROGGS: which statement?
11:31 * lizmat feels a philosophical debate forming
11:31 FROGGS <FROGGS> ahh, the clogs tell me that ilbot logs them, but it cant talk about it
11:31 moritz it's true
11:31 chrisdev joined #perl6
11:31 FROGGS but it doesnt count them?
11:31 moritz 13:29 < moritz> if somebody wants to write some code that analyzes the IRC logs for  karma, please do
11:31 moritz no. ilbot just logs, and does nothing else
11:32 FROGGS k
11:32 moritz but somebody[tm] could analyse the old logs to initialize some karma tracking bot with it
11:33 moritz (or update them from a nightly cron job, or so)
11:34 chrisdev joined #perl6
11:34 lizmat answer to my question: yes, but at run time: Merging GLOBAL symbols failed: duplicate definition of symbol A
11:35 lizmat .tell jnthn that there is already a fix for .exists on typed hashes: it's called https://github.com/rakudo/rakudo/pull/147
11:35 yoleaux lizmat: I'll pass your message to jnthn.
11:35 chrisdev_ joined #perl6
11:36 timotimo https://gist.github.com/timo/88c92ee2dcc5040a4f93 - spectesting this now; comments on typed exception or wording?
11:37 FROGGS timotimo: "... won't work" - why?, maybe write it as "... not supported."
11:37 lizmat one of my initial experiences with Perl 6 in the past months, was trying to grok Any and Mu
11:38 lizmat Mu to me means, something unknown
11:38 lizmat Any to me means, I don't care
11:38 lizmat so I started using Mu for some applications
11:38 timotimo spectests pass with the change, now to try some slurpies in different locations :)
11:38 lizmat whereas "normal" perl 6 users would probably just have used "Any" and be done with it
11:39 Juerd What's the semantic difference, lizmat?
11:39 lizmat If I want to store in a hash that something is unknown, I would use Mu
11:39 timotimo aha. doesn't alert with slurpy blocks
11:39 lizmat %version{$module}= Mu
11:39 timotimo er, of course it won't if i leave out the type info ...
11:40 Juerd lizmat: Not *?
11:40 lizmat if I want to load a module, and I don't care about its version, I'd specify Any
11:40 Juerd Never mind that, I forgot that * is a closure thing now.
11:40 timotimo wouldn't whatever be better?
11:40 lizmat well, Whatever also means some kine of Any to me
11:40 timotimo too late m)
11:40 lizmat and there's that  :-)
11:40 Juerd whatever, mu, any... Do we really need this? :(
11:40 Juerd +cool
11:41 timotimo to me, there's the additional difference that Any is "an undefined value of any type" and whatever is more like "whatever value you come up with"
11:41 lizmat Ah, yes, well, I'm not qualified yet to give that answer  :-)
11:41 Juerd This is one of the Very Hard parts of the language. Very abstract and hard to grok.
11:41 lizmat anyway, from a readability point of view, I decided to introduce "Unk"
11:41 lizmat constant Unk := Any;
11:42 lizmat whenever I need to indicate something unknown, I will be using Unk
11:42 Juerd Why not Unknown?
11:42 lizmat Unk is just another three letter word like Any
11:42 Juerd It's not a word
11:42 Juerd It's the result of truncating a word.
11:43 lizmat so you could argue that for Any(thing)
11:43 Juerd It moves the effort from writing to reading, while reading is done much more often.
11:43 Juerd I'm not going to discuss whether "any" is a word. It just is.
11:43 lizmat Int ?  Str ?  Bool ?
11:44 Juerd int, str and bool are well known abbreviations.
11:45 lizmat well, unk is as well apparently: http://acronyms.thefreedictionary.com/UNK
11:45 Juerd I'd love Integer, String and Boolean, but I can accept the shorter ones because they're decades old.
11:45 Juerd Far fetched.
11:46 lizmat anyways, this is not about bikeshedding: this was more about the idea of using another name for something we don't know in Perl 6 apart from Any
11:46 lizmat or Whatever *
11:47 timotimo i don't know about constant Unk := Any, because undefined Any is often used as a failure value
11:47 lizmat I thought Nil was ?
11:48 Juerd Any, Nil, Whatever, Mu, Cool, Unk. How many more?
11:48 Juerd I'm surprised
11:50 FROGGS r: say (1, Nil, 3).elems; say (1, Any, 3).elems; say (1, Mu, 3).elems; say (1, Cool, 3).elems; say (1, Whatever, 3).elems
11:50 camelia rakudo 25a0b3: OUTPUT«2␤3␤3␤3␤3␤»
11:50 moritz fwiw it might make sense to use something as a version marker that you can smart-match against
11:50 FROGGS all behave a bit different depending on its content
11:50 FROGGS would be cool to have a matrix about that
11:50 moritz FROGGS: that particular behavior of Nil is going away
11:50 FROGGS ohh, good lord
11:51 moritz r: say 2 ~~ *
11:51 lizmat moritz: you mean matcing v1.0.1 ?
11:51 camelia rakudo 25a0b3: OUTPUT«True␤»
11:51 lizmat r: say 2 ~~ Any
11:51 camelia rakudo 25a0b3: OUTPUT«True␤»
11:51 Juerd FROGGS: Whenever a programmer needs a matrix to determine semantics, the design is flawed.
11:51 FROGGS true
11:52 lizmat r: say v1.0.1 > v.1.0.0
11:52 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/F_U1kWSfxb:1â�¤------> [32msay v1.0.1 > v.[33mâ��[31m1.0.0[0mâ�¤    expecting any of:â�¤        dotty method or postfixâ�¤Â»
11:52 lizmat r: say v1.0.1 > v1.0.0
11:52 moritz lizmat: true, the smart-match against Any is also true, but it's a type check
11:52 camelia rakudo 25a0b3: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \v: Mu *%_)␤  in method Real at src/gen/CORE.setting:870␤  in sub infix:<>> at src/gen/CORE.setting:3047␤  in sub infix:<>> at src/gen/CORE.setting:3045␤  in block  at /tmp/hExiRcuKXA:1␤␤»
11:53 moritz lizmat: do you want a type check for version checking?
11:53 moritz r: say v1.0.1 cmp v1.0.0
11:53 camelia rakudo 25a0b3: OUTPUT«Decrease␤»
11:53 lizmat I want a smartmatch on version numbers, so I can easily grep on it
11:54 moritz r: say v1.0.1 ~~ v1
11:54 camelia rakudo 25a0b3: OUTPUT«True␤»
11:54 moritz r: say v1.0.1 ~~ v1.0
11:54 camelia rakudo 25a0b3: OUTPUT«True␤»
11:54 moritz r: say v1.0.1 ~~ v1.0.0
11:54 camelia rakudo 25a0b3: OUTPUT«False␤»
11:54 moritz there you go
11:54 lizmat so you're saying that Already Works ?
11:54 lizmat then my work is done :-)
11:54 moritz yes, Version has smart-matching implemented
11:55 moritz r: say v1.0.3 ~~ v2.*.3
11:55 camelia rakudo 25a0b3: OUTPUT«False␤»
11:55 moritz r: say v2.*.3.perl
11:55 camelia rakudo 25a0b3: OUTPUT«Version.new('2.*.3')␤»
11:55 moritz r: say v1.0.3 ~~ v1.*.3
11:55 camelia rakudo 25a0b3: OUTPUT«True␤»
11:56 lizmat cool
11:57 lizmat r: say v.7.1.2 ~~ v.6.2.3+
11:57 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/JxSQnJZiV4:1â�¤------> [32msay v.[33mâ��[31m7.1.2 ~~ v.6.2.3+[0mâ�¤    expecting any of:â�¤        dotty method or postfixâ�¤Â»
11:57 lizmat S11:558 apparently NYI  :-(
11:57 lizmat r: say v.7.1.2 ~~ v.6.2.3 .. *
11:57 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/ufPyAgWYeL:1â�¤------> [32msay v.[33mâ��[31m7.1.2 ~~ v.6.2.3 .. *[0mâ�¤    expecting any of:â�¤        dotty method or postfixâ�¤Â»
11:58 lizmat r: say v7.1.2 ~~ v.6.2.3 .. *
11:58 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Confusedâ�¤at /tmp/NDCaSxb4HE:1â�¤------> [32msay v7.1.2 ~~ v.[33mâ��[31m6.2.3 .. *[0mâ�¤    expecting any of:â�¤        dotty method or postfixâ�¤Â»
11:58 lizmat r: say v7.1.2 ~~ v6.2.3 .. *
11:58 camelia rakudo 25a0b3: OUTPUT«True␤»
11:58 lizmat r: say v7.1.2 ~~ v6.2.3+
11:58 camelia rakudo 25a0b3: OUTPUT«True␤»
11:58 lizmat it *is* when you enter version numbers right,  sorry for the noise
11:58 lizmat r: say v6.1.2 ~~ v6.2.3+
11:58 camelia rakudo 25a0b3: OUTPUT«False␤»
11:59 lizmat r: say v6.2.3+ ~~ v7.1.2
11:59 camelia rakudo 25a0b3: OUTPUT«False␤»
12:04 lizmat hmmmm...
12:05 Juerd Postfix +?
12:05 masak Juerd: no, just part of the v term.
12:05 yoleaux 01:26Z <colomon> masak: https://github.com/masak/html-template/pull/6 .....
12:05 colomon \o
12:05 masak hai, #perl6
12:05 * masak looks at le pull request
12:05 moritz oh hai masak
12:06 masak colomon++: merged.
12:09 xinming joined #perl6
12:12 markstacey joined #perl6
12:13 brrt joined #perl6
12:13 brrt i just read the most daring idea ever
12:13 brrt well, not the most daring idea
12:14 brrt but in the context it is pretty daring
12:14 brrt the idea was: python won't implement TCO; maybe we can get away from the 1000-stack-frames-limit if we compress each stack frame
12:17 masak I see langs/implementations aiming for TCO all the time, and repeatedly failing.
12:17 masak seems to me it's highly nontrivial, and affects lots of other parts.
12:19 SmokeMachine joined #perl6
12:21 moritz TCO?
12:21 moritz total cost of ownership?
12:22 brrt tail call optimisation
12:22 brrt tail call elimination
12:23 timotimo thanks, captain obvious
12:24 denisboyun_ joined #perl6
12:24 brrt you're welcome :-)
12:24 timotimo :P
12:28 MrMeek joined #perl6
12:29 brrt TCO is not that hard if you're scheme
12:37 timotimo in what areas is perl6 unicode handling as implemented by rakudo noticably behind perl5 or other languages?
12:38 moritz for example you can't get the Unicode name and properties for a character in Rakudo
12:38 moritz there's no support for normalizaiton
12:40 timotimo ah, i wondered about the first one already; is the way to do that already specced?
12:41 timotimo there's also matching on unicode properties for regexes; is that in rakudo already?
12:41 PacoAir joined #perl6
12:42 moritz yes
12:43 pmurias joined #perl6
12:43 timotimo neat.
12:44 timotimo this is another point where i catch myself thinking "how hard could it be?" :D
12:44 SamuraiJack joined #perl6
12:46 pmurias masak: one big reason why Guido refuses to add TCO to python is that is screws up stack traces
12:52 * [Coke] just realized he "knows" lizmat from a mailing list somewhere. huh.
12:58 odoacre joined #perl6
13:00 odoacre joined #perl6
13:00 ajr joined #perl6
13:01 PacoAir joined #perl6
13:01 nwc10 and releated? http://blog.headius.com/2013/05/on-languages-vms-optimization-and-way.html -- Python has similar structural complexities to Ruby and adds in the additional complexity of an introspectable call stack.
13:10 SmokeMac_ joined #perl6
13:10 konundra joined #perl6
13:11 masak I once read an interesting presentation (unfortunately I don't recall the URL) which basically said "tail-call elimination is essential for general object orientation".
13:11 masak don't remember how solid the argument was for that, either.
13:12 dalek nqp: 2a557de | (Pawel Murias)++ | docs/serialization_format.markdown:
13:12 dalek nqp: Document invocation spec in the serialization format description.
13:12 dalek nqp: review: https://github.com/perl6/nqp/commit/2a557de008
13:13 masak I did find this when I searched, though: http://www.eighty-twenty.org/index.cgi/tech/oo-tail-calls-20111001.html
13:16 mathw masak: I'd say tail-call elimination is essential for functional programming, not so sure about imperative OOP.
13:16 masak moritz: yeah, well, that was the thing. it argued for that.
13:17 masak I do wish I found that presentation.
13:17 masak heh, the above article refers to http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf which has been up for discussion here before. :)
13:20 masak hah! found it! http://www.ccs.neu.edu/home/matthias/Presentations/ecoop2004.pdf
13:21 masak I don't have time to read it properly now; teaching.
13:28 dalek rakudo-js: c8b14e1 | (Pawel Murias)++ | / (2 files):
13:28 dalek rakudo-js: Begin implementing ops required for multimethods.
13:28 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/c8b14e1ef4
13:28 dalek rakudo-js: e3041bd | (Pawel Murias)++ | / (2 files):
13:28 dalek rakudo-js: Update to the new serialization format. Disable 2 failing tests.
13:28 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/e3041bde12
13:32 timotimo **@foo should fail early, too, right?
13:43 btyler joined #perl6
13:49 woolfy joined #perl6
13:50 lizmat joined #perl6
13:53 brrt joined #perl6
13:55 grondilu joined #perl6
13:56 grondilu rn:  https://gist.github.com/grondilu/5662919
13:56 camelia niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to sears-haack, used 2 of 3 positionals␤  at /tmp/II6EUbXOuH line 0 (sears-haack @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6) ␤  at /tmp/II6EUbXOuH line 4 (simpsons @ 6) ␤  at /tmp/II6EUbXOuH li…
13:56 camelia ..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤  in sub sears-haack at /tmp/K1V9eOtgJ7:17␤  in sub CURRIED at src/gen/CORE.setting:2069␤  in sub simpsons at /tmp/K1V9eOtgJ7:4␤  in block  at /tmp/K1V9eOtgJ7:19␤␤»
13:58 masak it's in slide 59, stated very clearly after a motivating example: "Object-Oriented Programming in languages that don't require tail-call optimizations makes no sense."
13:58 masak I still don't know if the example convinces me of this; will have to think about it a bit while I walk to the train.
13:59 grondilu rn:  sub sh($x, $r) { $r*(4*$x*(1-$x))**(3/4) }; say &sh.assuming(*, 1)(.5)
13:59 camelia niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to sh, used 2 of 3 positionals␤  at /tmp/daC8yIBSFe line 0 (sh @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6) ␤  at /tmp/daC8yIBSFe line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting…
13:59 camelia ..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤  in sub sh at /tmp/S6KRP977wT:1␤  in sub CURRIED at src/gen/CORE.setting:2069␤  in block  at /tmp/S6KRP977wT:1␤␤»
14:00 grondilu rn:  sub plus($a, $b) { $a + $b }; say &plus.assuming(*, 1)(.5)
14:00 camelia niecza v24-51-g009f999: OUTPUT«Unhandled exception: Excess arguments to plus, used 2 of 3 positionals␤  at /tmp/vx1HqoFTrh line 0 (plus @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6) ␤  at /tmp/vx1HqoFTrh line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.set…
14:00 camelia ..rakudo 25a0b3: OUTPUT«Too many positional parameters passed; got 3 but expected 2␤  in sub plus at /tmp/uRoZ7k2AIw:1␤  in sub CURRIED at src/gen/CORE.setting:2069␤  in block  at /tmp/uRoZ7k2AIw:1␤␤»
14:00 grondilu what I am missing here?
14:01 grondilu pugs:  sub plus($a, $b) { $a + $b }; say &plus.assuming(*, 1)(.5)
14:01 camelia pugs: OUTPUT«Inf␤»
14:01 moritz grondilu: seems like none of them treat * specially in arguments to assuming
14:02 grondilu didn't this use to work?
14:02 moritz ie they pass (*, 1, 5) to &plus, and complain that it's one argument too many
14:02 moritz I'm pretty sure rakudo never did that
14:02 masak on the surface, the argument reads to me like "Java won't let me define cons lists with tail recursion elimination, boo-hoo!" I fail to see the link to "OOP [without TCO] makes no sense".
14:02 moritz is it even specced?
14:03 [Coke] argh. I have an installed perl6. if I build a different perl6 using the nqp from that installed perl6, it seems to screw up my precompilations. :|
14:03 moritz masak: I find the whole argument "$thing doesn't make sense because it misses an optimization" not very convincing at all
14:03 * [Coke] will have to track that down to make sure that's what is really happening.
14:03 brrt joined #perl6
14:03 moritz masak: it only starts to be convencing when $thing is generally unusably slow without that optimization, and I'd argue that OO languages don't generally fall into that trap
14:04 masak I really really like the quote on the last slide, however.
14:04 grondilu moritz: there is an example in http://rosettacode.org/wiki/Currying#Perl_6
14:05 grondilu rn:  sub f($a, $b) { $a - $b }
14:05 grondilu say .(1) for &f.assuming(0), &f.assuming(*, 0)
14:05 camelia rakudo 25a0b3:  ( no output )
14:05 camelia ..niecza v24-51-g009f999: OUTPUT«Potential difficulties:â�¤  &f is declared but not used at /tmp/IeDtQKP0Ui line 1:â�¤------> [32msub f[33mâ��[31m($a, $b) { $a - $b }[0mâ�¤â�¤Â»
14:05 grondilu rn:  rn:  sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0), &f.assuming(*, 0)
14:05 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/6aGi2v1Ij2:1â�¤------> [32mrn[33mâ��[31m:  sub f($a, $b) { $a - $b } ; say .(1) [0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        state…
14:05 camelia ..niecza v24-51-g009f999: OUTPUT«-1␤Unhandled exception: Excess arguments to f, used 2 of 3 positionals␤  at /tmp/m4XRCJofPt line 0 (f @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6) ␤  at /tmp/m4XRCJofPt line 1 (mainline @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setti…
14:05 colomon rn:  rn:  sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0)
14:05 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Two terms in a rowâ�¤at /tmp/o1EHAfJYwp:1â�¤------> [32mrn[33mâ��[31m:  sub f($a, $b) { $a - $b } ; say .(1) [0mâ�¤    expecting any of:â�¤        argument listâ�¤        postfixâ�¤        infix stopperâ�¤        infix or meta-infixâ�¤        state…
14:05 camelia ..niecza v24-51-g009f999: OUTPUT«-1␤»
14:05 grondilu rn:  sub f($a, $b) { $a - $b } ; say .(1) for &f.assuming(0), &f.assuming(*, 0)
14:06 camelia niecza v24-51-g009f999: OUTPUT«-1␤Unhandled exception: Excess arguments to f, used 2 of 3 positionals␤  at /tmp/EOOPTW0wpc line 0 (f @ 1) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1132 (ANON @ 6) ␤  at /tmp/EOOPTW0wpc line 1 (mainline @ 8) ␤  at /home/p6eval/niecza/lib/CORE.settin…
14:06 camelia ..rakudo 25a0b3: OUTPUT«-1␤Too many positional parameters passed; got 3 but expected 2␤  in sub f at /tmp/wXOQno1l6M:1␤  in sub CURRIED at src/gen/CORE.setting:2069␤  in block  at /tmp/wXOQno1l6M:1␤␤»
14:06 moritz grondilu: that is suspicious. It starts with "all Callable", but in Rakudo method assuming is in Routine
14:06 moritz method assuming($r: *@curried_pos, *%curried_named) {
14:06 moritz return sub CURRIED (*@pos, *%named) {
14:06 moritz $r(|@curried_pos, |@pos, |%curried_named, |%named)
14:06 moritz }
14:06 moritz }
14:06 moritz that's rakudo's implementation
14:07 moritz no special-casing of * whatsoever
14:07 colomon method assuming(|cap) { sub (|new) { self.(|cap, |new) } }
14:07 colomon (that's niecza's)
14:07 masak moritz: why does the source code name it CURRIED ?
14:07 masak that just looks like an unused name to me.
14:08 grondilu I did write this example in RC.  I thought I had discussed it here before.  And I also tried it (I guess)
14:08 moritz masak: so that introspecting the return value gives an idea what's going on
14:08 masak oh!
14:08 masak fairy nuff
14:09 masak if there were another way to annotate a sub, I'd almost want to use that way instead.
14:09 moritz grondilu: http://irclog.perlgeek.de/search.pl?channel=perl6&amp;nick=grondilu&amp;q=assuming looks like you tried in April, and it didn't work back then either
14:09 masak so that in a stack trace, it said "a sub that was primed on line X, file Y"
14:10 yoleaux joined #perl6
14:11 timotimo hm, would pandabrew re-install all installed modules when i build a new rakudo?
14:11 dalek rakudo-js: 5755640 | (Pawel Murias)++ | run (2 files):
14:11 dalek rakudo-js: Implement nqp::flip, pass test 59 again.
14:11 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/5755640af6
14:11 dalek rakudo-js: fa579be | (Pawel Murias)++ | run (2 files):
14:11 dalek rakudo-js: Pass test 44 again.
14:11 dalek rakudo-js: review: https://github.com/pmurias/rakudo-js/commit/fa579beedf
14:12 tadzik timotimo: it should, yes
14:12 tadzik timotimo: (I don't know if that works, though :D)
14:12 tadzik if not, then I'll fix that by YAPC::NA
14:12 tadzik but first I need to fix panda itself
14:13 tadzik starting with daxim's pet bug
14:13 [Coke] my $r; say $r{3}:exists;
14:13 [Coke] r: my $r; say $r{3}:exists;
14:13 camelia rakudo 25a0b3: OUTPUT«No such method 'exists' for invocant of type 'Any'␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1663␤  in method postcircumfix:<{ }> at src/gen/CORE.setting:1642␤  in block  at /tmp/Mon6Dc82_4:1␤␤»
14:13 daxim :-[∿]
14:13 [Coke] r: my $r = Hash.new(); say $r{3}:exists;
14:14 camelia rakudo 25a0b3: OUTPUT«False␤»
14:14 [Coke] r: my $r = Hash.new(); my $n = 3; say $r{$n}:exists;
14:14 camelia rakudo 25a0b3: OUTPUT«False␤»
14:15 [Coke] r: my $r = Hash.new(); my $n = 3; say "eek" if !$r{$n}:exists;
14:15 camelia rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed␤  in sub prefix:<!> at src/gen/CORE.setting:2734␤  in block  at /tmp/5ZWRDN1yxD:1␤␤»
14:15 [Coke] r: my $r = Hash.new(); my $n = 3; say "eek" if ! $r{$n}:exists;
14:15 camelia rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed␤  in sub prefix:<!> at src/gen/CORE.setting:2734␤  in block  at /tmp/t9r2sbslv5:1␤␤»
14:15 [Coke] rakudobug?
14:15 Gruber joined #perl6
14:15 brrt1 joined #perl6
14:15 Ayiko joined #perl6
14:15 bruges_ joined #perl6
14:15 [Coke] r: my $r = Hash.new(); say "eek" if ! $r{3}:exists;
14:15 camelia rakudo 25a0b3: OUTPUT«Unexpected named parameter 'exists' passed␤  in sub prefix:<!> at src/gen/CORE.setting:2734␤  in block  at /tmp/xJy6R7yxgO:1␤␤»
14:16 timotimo ! is too tight? use not instead i guess
14:16 [Coke] r: my $r = Hash.new(); say "eek" if ! ($r{3}:exists);
14:16 camelia rakudo 25a0b3: OUTPUT«eek␤»
14:16 timotimo std: my $r = Hash.new(); say "eek" if ! $r{3}:exists;
14:16 camelia std 0336087: OUTPUT«ok 00:00 45m␤»
14:17 timotimo yeah, that's not helpful :(
14:17 lizmat_ joined #perl6
14:17 genehack_ joined #perl6
14:17 sergot_ joined #perl6
14:18 ingyfoo joined #perl6
14:18 integral joined #perl6
14:18 leontopod_ joined #perl6
14:18 integral joined #perl6
14:18 Nom- joined #perl6
14:18 crazed- joined #perl6
14:18 muixirt_ joined #perl6
14:18 prammer joined #perl6
14:18 jferrero joined #perl6
14:18 jferrero joined #perl6
14:19 moritz [Coke]: IMHO yes. If Any reponds to {}, it should also respond to {}:exists
14:19 * masak decommutes
14:31 domidumont joined #perl6
14:31 colomon joined #perl6
14:33 skids joined #perl6
14:33 snearch joined #perl6
14:36 prevost joined #perl6
14:41 diakopter joined #perl6
14:41 diakopter left #perl6
14:44 raiph joined #perl6
14:45 bluescreen10 joined #perl6
14:51 timotimo tadzik: would you accept a patch that makes panda not explode when a module has no lib/ folder?
14:55 zby_home joined #perl6
15:02 ajr joined #perl6
15:11 tadzik timotimo: oh yes
15:11 tadzik does it explode?
15:14 timotimo yeah, there's a file::find that will complain, because lib doesn't exist
15:14 timotimo i just added an if 'lib'.IO.d before it
15:15 tadzik oh hm
15:15 tadzik so _that's_ what the check was for, at the beginning of build() :D
15:15 tadzik we need a test for that
15:30 saxx11 joined #perl6
15:49 Ulti joined #perl6
15:55 [Coke] I wonder if that iospec branch merge is relying on destructors to clean up resources.
16:11 eternaleye joined #perl6
16:14 Ulti joined #perl6
16:22 raiph joined #perl6
16:22 moritz fwiw the bool.t failure has been there on and off for years
16:23 moritz sometimes it disappears, sometimes it reappears
16:23 moritz and usually the things that trigger it have nothing to do with the underlying problem
16:23 [particle] joined #perl6
16:23 moritz it's probably some weird memory corruption, and then adding a built-in changes the memory layout so the the bug is triggered, or something
16:25 Util r: class AA { multi method new {       AA.bless: * }}; class BB is AA {}; say BB.new.WHAT;
16:25 camelia rakudo 25a0b3: OUTPUT«(AA)␤»
16:25 Util r: class AA { multi method new { ::?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT;
16:25 camelia rakudo 25a0b3: OUTPUT«(AA)␤»
16:25 Util r: class AA { multi method new {     self.bless: * }}; class BB is AA {}; say BB.new.WHAT;
16:25 camelia rakudo 25a0b3: OUTPUT«(BB)␤»
16:25 Util r: class AA { multi method new {  $?CLASS.bless: * }}; class BB is AA {}; say BB.new.WHAT;
16:25 camelia rakudo 25a0b3: OUTPUT«(AA)␤»
16:25 Util Shouldn't the 4th version say BB like the 3rd?
16:26 jnthn No, it's not virtual.
16:26 yoleaux 11:35Z <lizmat> jnthn: that there is already a fix for .exists on typed hashes: it's called https://github.com/rakudo/rakudo/pull/147
16:26 jnthn Use self for that.
16:26 Util jnthn: Thanks!
16:27 bluescreen100 joined #perl6
16:27 dalek perl6-bench: 21eecd0 | (Geoffrey Broadwell)++ | jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js:
16:27 dalek perl6-bench: Add jqPlot plugin needed for rotated axis label rendering
16:27 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/21eecd0561
16:27 jnthn .tell lizmat_ I wonder if the Mu \key shouldn't be TKey \key
16:27 yoleaux jnthn: I'll pass your message to lizmat_.
16:28 nwc10 it's jnthn!
16:29 * jnthn waves hazily
16:30 nwc10 where in the world is jnthn, and is the beer good?
16:31 * arnsholt hopes the beer in Austin will be good
16:31 espadrine joined #perl6
16:31 arnsholt s/hopes/hops/ # =)
16:31 * jnthn is at home, and somewhat sick
16:31 nwc10 oh yay :-(
16:32 jnthn Teaching while sick is...fun.
16:32 arnsholt Not too sick for a trans-atlantic flight, I hope?
16:32 PerlJam jnthn: drink orange juice, get plenty of rest, take vitamins, take medicine, etc.  :)
16:32 jnthn Teaching while sick and having somebody give you full marks in the evaluation is a darn miracle.
16:32 jnthn arnsholt: I highly doubt that is at risk.
16:32 jnthn I have Thu/Fri with nothing to do but rest and prepare for YAPC::NA.
16:33 jnthn Tomorrow I got a couple of evening talks to give.
16:33 jnthn uh, I didn't write one of them yet. oops.
16:33 [Coke] mmhehehe
16:33 jnthn And I only slept 3 hours last night. This will be interesting...
16:34 arnsholt jnthn: Excellent! I was looking forward to beer with you and masak in Austin =)
16:35 arnsholt Am looking forward to, even
16:39 masak hello from a train! \o/
16:39 moritz (wlan on train)++
16:41 masak moritz: well, could've been 3G on le mobile phone, too.
16:57 konundra joined #perl6
16:59 isBEKaml joined #perl6
17:01 masak rn: my %l = foo => 1, bar => 2; my %r = bar => 3, baz => 4; say %l >>+<< %r
17:01 camelia niecza v24-51-g009f999: OUTPUT«Use of uninitialized value in numeric context␤  at /home/p6eval/niecza/lib/CORE.setting line 1355 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 294 (Any.Numeric @ 8) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.s…
17:01 camelia ..rakudo 25a0b3: OUTPUT«use of uninitialized value of type Any in numeric context  in block  at /tmp/OI858EugnG:1␤␤use of uninitialized value of type Any in numeric context  in block  at /tmp/OI858EugnG:1␤␤("foo" => 1, "bar" => 5, "baz" => 4).hash␤»
17:02 masak I must say I don't need that one often... but when I do, it's *very* nice to have.
17:02 masak what's with all the warnings, though?
17:02 isBEKaml heh, what does >>+<< on hashes mean? do we take in keys too?
17:03 masak isBEKaml: do the operation on the values. >>+<< takes the union of the keys; <<+>> takes the intersection.
17:03 masak isBEKaml: in this case I needed the union.
17:03 dmol joined #perl6
17:03 masak which is why I think the undefinedness warnings are unnecessary.
17:03 masak I *know* some keys/values are missing. that's why I did >>+<<
17:04 * masak submits rakudobug
17:05 isBEKaml masak: so, this is one of those cases where both rn got it wrong? (where it's specced ofcourse)
17:05 masak isBEKaml: both rakudo and niecza warn, so that part is wrong.
17:06 masak isBEKaml: niecza warns so much that I can't see if it got the right result. :(
17:06 * masak doesn't think warnings should have stack traces
17:06 isBEKaml masak: ah, overnieczathingamajigging?
17:07 konundra joined #perl6
17:07 * masak fails to understand the question
17:07 masak please try again :)
17:07 isBEKaml masak: so that's what Niecza thinks!
17:09 dmol1 joined #perl6
17:09 * isBEKaml had a funny experience of RT'ing a Mindblown fact only to have Yoda send me a message. (it involves some Star wars characters, though)
17:11 isBEKaml Tweet: https://twitter.com/MindBlowing/status/339077003208716288
17:19 masak most MindBlowing tweets are in fact mundane, clearly false, or misinformed. :/
17:19 masak this one, for example: https://twitter.com/MindBlowing/status/338302761290575872
17:19 masak reply. "no. also, you fail at genetics. thanks for playing."
17:21 isBEKaml masak: I vaguely recall mendel charts. :D
17:25 ajr joined #perl6
17:28 timotimo "People with the highest IQ stay up late at night because their brains have increased mental stimulation."  - wha?
17:32 masak or it could just be a lack of discipline :)
17:32 masak or susceptibility to flattery :)
17:32 masak or those poor folks who seem to have a 28-hour day cycle.
17:32 PerlJam masak, timotimo: clearly the two of you are way too serious today  ;)
17:33 masak PerlJam: someone is Wrong On The Internet!
17:35 [Coke] masak: Unfortunately, it might be you.
17:35 timotimo .o(mind blown!)
17:35 timotimo hashtag epic twist
17:35 masak [Coke]: hehe. I guess that's a risk I'm willing to take.
17:36 konundra joined #perl6
17:37 timotimo as does everybody on the internet, it seems
17:42 denisboyun_ joined #perl6
17:49 arlinius joined #perl6
18:08 btyler joined #perl6
18:09 dalek perl6-roast-data: 00ea812 | coke++ | / (4 files):
18:09 dalek perl6-roast-data: today (automated commit)
18:09 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/00ea812047
18:10 [Coke] if niecza ever cleans up, my "how long has it been failing" script will start running faster. :)
18:10 [Coke] niecza has been dirty for 315 days. pugs has been clean for 11 days. rakudo has been dirty for 24 days.
18:13 [particle] joined #perl6
18:18 pmichaud rakudo's dirtiness is still the bool.t thingy?
18:18 colomon [Coke]: believe it or not, we're being paid by the electric company to waste your computing power...
18:19 [Coke] pmichaud: yes.
18:19 [Coke] there's an RT with gory details and backtraces.
18:19 pmichaud okay.
18:19 [Coke] if someone has the iospec branch someplace, I can see which of those commits triggered it.
18:20 pmichaud since I can reproduce it fairly well on feather, I might be able to provide a couple of extra clues
18:20 [Coke] (I know it's not the root cause, but it's triggering something)
18:20 dalek ecosystem: 257e82c | colomon++ | META.list:
18:20 dalek ecosystem: Move Test-Junkie over to working fork
18:20 dalek ecosystem:
18:20 dalek ecosystem: Temporarily move Test-Junkie module over to my fork which passes all tests.
18:20 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/257e82cf37
18:21 [Coke] pmichaud: also, you fixed R*'s daily test the other day.
18:21 [Coke] it's been clean since then.
18:21 pmichaud oh!
18:21 pmichaud so I can do an R* release, perhaps?
18:21 pmichaud that would be really good before next week.
18:21 pmichaud I'm a bit swamped today, but that could be a good $Wed task.
18:22 [Coke] https://github.com/coke/rakudo-star-daily/blob/master/log/test-modules.log - no fails.
18:23 konundra joined #perl6
18:23 isBEKaml This is more of a packaging question than anything else - Parrot has not marked 5.2 to be a supported release, should R* be basing itself off a Parrot developmental release?
18:24 isBEKaml Or is that merely a convention on Parrot's part?
18:24 [Coke] there is really no difference between those kinds of release.
18:25 pmichaud I can certainly bundle 5.3.0 with Star if there's a good reason to do so.
18:25 timotimo pmichaud: if you can get it before saturday, that would be before my hopefully at least minimally great perl6 talk and i could tell people "we just had a new release" rather than "grab the release from 5 months ago with a lot of bugs and outdated specs, or be crazy and spend an hour downloading and compiling three things!" ;)
18:25 pmichaud timotimo: if it happens, it'll have to be Wed or Thu
18:25 pmichaud Fri and Sat will be busy for me preparing for YAPC::NA
18:26 [Coke] pmichaud: if you bump the req to 5.3.0 it'll run on feather for a few days and you can see if anything errors out.
18:26 timotimo that's fine :)
18:26 timotimo thanks for doing it
18:26 [Coke] ah. so given the timings, I'd say keep whatever is in R*'s repo now.
18:26 [Coke] but I'd bump it soon after for the testing.
18:26 pmichaud oh, it's no problem to test against 5.3.0
18:26 S joined #perl6
18:26 pmichaud it's not like a PARROT_REVISION bump in NQP or Rakudo
18:26 [Coke] ah. I find the testing horrifically slow, which is why I automated it. :)
18:27 pmichaud with star, you just say which version of Parrot you'd like to have bundled.
18:27 masak r: class A {}; my %h{A} = A.new => 2; my %h2{A} = %h >>+>> 40; say %h2
18:27 camelia rakudo 25a0b3: OUTPUT«Nominal type check failed for parameter 'key'; expected A but got Str instead␤  in method STORE_AT_KEY at src/gen/CORE.setting:7031␤  in method STORE at src/gen/CORE.setting:6927␤  in block  at /tmp/mYmQfsTMvo:1␤␤»
18:27 pmichaud i.e., star doesn't change the minimum required version that NQP wants... star just chooses to supply a version of Parrot in the bundled (which should be at least PARROT_REVISION, but doesn't have to be exactly PARROT_REVISION)
18:27 Sorensen_ joined #perl6
18:28 masak how reasonable are my expectations above? I expect that to work.
18:28 isBEKaml pmichaud: I can help building R* this weekend, but no .msiS :-)
18:28 masak (i.e. produce '(A.new() => 42).hash' as output)
18:28 moritz
18:28 moritz ~ .
18:29 pmichaud masak: I suspect that hypering doesn't know about typed hash keys
18:29 masak I suspect so too.
18:29 pmichaud since it was written before we had them :)
18:29 masak but... it's not unreasonable to have that work, is it? :)
18:30 pmichaud on its face it doesn't strike me as unreasonable
18:30 * masak submits rakudobug
18:30 pmichaud the devil may be in the details here, though
18:30 pmichaud I consider it a valid rakudobug for the moment, yes.
18:31 [Coke] anyone looking for some low hanging fruit? I can point you at a ticket to write a ticket for.
18:31 [Coke] to write a *test* for
18:31 rindolf joined #perl6
18:31 * masak .oO( rakudobug status may be revoked at any future time, with no possibility of appeal ) :P
18:32 isBEKaml Speaking of R*, is there any way I can just download a specific branch? I'm not looking forward to cloning a 200 meg repository. :/
18:32 moritz isBEKaml: the R* .git is just 14MB
18:32 pmichaud isBEKaml: ummmmm.... I have trouble following your question.
18:33 pmichaud the R* repo doesn't actually contain copies of Rakudo, Parrot, or NQP
18:33 isBEKaml moritz: No, I didn't mean that. perl Configure.pl step runs gen-parrot, which actually clones a fresh parrot repo, right?
18:33 pmichaud the rakudo/star repo is a toolkit for building R* distributions.  It's not the R* distributions themselves.
18:34 moritz isBEKaml: no. If you download an R* release, and run the Configure.pl, it uses releases of parrot, nqp and rakudo
18:34 pmichaud --gen-parrot in a star tarball uses the bundled copy of Parrot.  No cloning.
18:34 isBEKaml pmichaud: I spoke of building an R* package. :-)
18:35 pmichaud (you spoke of downloading a branch :)
18:35 masak pmichaud: hm. question is, if I %h1 >>+<< $h2, and the hashes are typed with different constraints, what the result ends up being. same question for <<+>>, really.
18:35 masak (typed hashes and hyperoperators! yay, I found a new corner case!)
18:35 pmichaud masak: yes, that's a legitimate question.
18:35 isBEKaml pmichaud: so I can just download a branch manually from Github and place it on the source location for R*? That's nice.
18:35 pmichaud isBEKaml: when building an R* tarball, it actually downloads a Parrot tarball
18:35 pmichaud it doesn't clone the Parrot repo.
18:36 kaare_ joined #perl6
18:36 [Coke] unlike when building rakudo compiler.
18:36 masak pmichaud: I guess the type-theoretical answer is that in one case you'll get the join of the types, and in the other case you'll get the meet of the types :P
18:36 pmichaud masak: I'm thinking the practical answer may be DIHWIDT for a while :)
18:37 pmichaud (building an R* tarball does clone the module repositories at the moment, but we could undoubtedly change/improve that if we want)
18:38 sorear joined #perl6
18:38 isBEKaml pmichaud: thanks, if that's the case - it makes me feel better. :-)
18:40 isBEKaml pmichaud: Right, I see that in star's makefile now. I'm alright with cloning individual module repositories since they are all pretty small on their own.
18:41 lichtkind joined #perl6
18:41 pmichaud Star wants to be created only from actual releases, so it uses the release tarballs instead of github tags.
18:42 pmichaud when/if we get to the level that modules have release tarballs, R* will undoubtedly want to use those as well.  cloning github repos directly is a bit fragile.
18:42 pmichaud (in terms of version maintenance and stability)
18:43 isBEKaml pmichaud: that's quite some distance away since it requires that we have a cpan like storage facility.
18:43 timotimo could the setup be changed to clone only with --shallow when installing an R* release?
18:43 moritz timotimo: there's no cloning when installing an R* release.
18:43 moritz timotimo: it bundles everything
18:44 moritz fwiw I have a few modules that I'd release, if we had the tools to make it not too painful
18:44 moritz (Math::RungeKutta and JSON for example)
18:44 timotimo ah, of course
18:44 timotimo JSON isn't in the R*?
18:45 moritz it is
18:45 timotimo oh, you mean tarball release, duh
18:47 SmokeMachine joined #perl6
18:48 pmichaud isBEKaml: it was less of a distance when github offered file downloads.  Yes, it's a bit farther away.  OTOH, there are groups that are working on being able to upload Perl 6 modules into CPAN
18:48 pmichaud so, we already have a cpan-like storage facility, it's called "CPAN"  :)
18:48 isBEKaml pmichaud: :-)
18:49 PerlJam pmichaud: who is working on being about to upload Perl 6 modules to CPAN?
18:49 PerlJam s/about/able/
18:49 nwc10 http://www.cpan.org/ -- "
18:49 nwc10 CPAN
18:49 nwc10 Comprehensive Perl Archive Network"
18:50 nwc10 naughty copy-paste
18:50 pmichaud PerlJam: I'm not sure I'm at liberty to disclose that atm.
18:50 pmichaud I don't know how public the effort is.
18:50 masak so, I've been playing around with a Perl 6 solution to http://xkcd.com/287/ tonight.
18:50 masak here's my code. it works. https://gist.github.com/masak/5664729
18:51 nwc10 not sure if there's much Perl 4 on CPAN.
18:51 PerlJam nwc10: or Perls 3, 2, and 1
18:51 masak I think I can speed it up somewhat by pruning branches. trying that now.
18:51 PerlJam nwc10: though keep in mind that CPAN didn't exist until Perl 5
18:53 masak hah! down from 183 seconds to 19 seconds! pruning win!
18:54 alester joined #perl6
18:55 SamuraiJack joined #perl6
18:55 masak I'd be very happy to receive comments and suggestions for improvements on the program.
18:55 pmichaud var() seems keywordish to me.
18:56 pmichaud as in: there might be a name conflict or confusion somewhere.
18:56 masak ...with what?
18:56 pmichaud I don't have a better alternative.
18:56 pmichaud I think I initially worried about a conflict with "val".
18:56 masak down to 10.5 seconds. (fixed a logical bug.)
18:56 pmichaud or one of those other recent spec changes that I haven't caught up with yet.
18:57 masak I like "var()". as long as I'm not overwriting anything from the setting, I'm OK with it.
18:58 pmichaud yeah, there's a val() function I was thining of.
18:58 pmichaud *thinking
18:58 btyler joined #perl6
18:59 masak I wrote this program backwards. started by writing out lines 82..89, and then asking myself "what do I need for that to work?"
18:59 pmichaud masak: yeah, that's what I thought when I first read it.
18:59 pmichaud "masak just wanted the bottom part to work"
19:00 masak :)
19:00 PerlJam masak: I have no comments on the code other than I like how readable it is.
19:00 pmichaud I wonder if it becomes more interesting if you can do   %V<mixed fruit>  instead of var("mixed fruit") somehow.
19:00 pmichaud then it looks more like a variable.  :)
19:00 masak (except that that's not how you index a single hash value?)
19:01 pmichaud (yeah, except that :)
19:01 pmichaud or even  V.new('mixed fruit')
19:01 kaleem joined #perl6
19:02 masak maybe I can get rid of the Variable class altogether... trying.
19:02 TimToady for generalized constraint programming it probably wants a declarator of some sort
19:02 yoleaux 26 May 2013 06:53Z <[Coke]> TimToady: if we should switch the names of FIRST and START, maybe.
19:02 pmichaud yeah, maybe CV (for "constrained variable") could be the class name or something.
19:03 pmichaud anyway, all I have are cosmetic suggestions at the moment.
19:03 pmichaud I think it's cool you were able to do this.
19:04 TimToady I think FIRST is fine, but maybe we could rename START to ONCE
19:04 timotimo masak: i'd like to suggest sym instead of var if var turns out not to like
19:05 pmichaud sym might be ickier -- puns with   category:sym<foo>  perhaps, and the <sym> regex rule.
19:05 timotimo alternatively, there could be a prefix operator
19:06 masak shorter version: https://gist.github.com/masak/5664729
19:07 [Coke] r: my @a = gather for 1..100 { say $_; take $_};
19:07 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:07 [Coke] I assume I'm missing some reason why that isn't lazy?
19:08 timotimo r: sub prefix:<The> ($name) is tighter(&infix:<+>) { "'$name'" }; say (The 'mixed fruit' + The 'french fries');
19:08 pmichaud array assignment is always eager.
19:08 camelia rakudo 25a0b3: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏'mixed fruit'' (indicated by ⏏)␤  in method Numeric at src/gen/CORE.setting:10063␤  in sub infix:<+> at src/gen/CORE.setting:2983␤  in sub infix:<+> at src/gen/CORE.setting:298…
19:08 TimToady r: my @a = gather for 1..100 { say take $_};
19:08 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:08 [Coke] pmichaud:danke.
19:08 timotimo r: sub prefix:<The> ($name) is tighter(&infix:<~>) { "'$name'" }; say (The 'mixed fruit' ~ The 'french fries');
19:08 TimToady r: my @a := gather for 1..100 { say take $_};
19:08 camelia rakudo 25a0b3: OUTPUT«'mixed fruit''french fries'␤»
19:08 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:09 TimToady apparently := is also being eager
19:09 pmichaud also, I think that moritz made 'for' eager.
19:09 TimToady boo hiss
19:09 pmichaud r: my @a := gather (1..100).map( { say take $_ } );
19:09 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:09 pmichaud r: my @a := gather (1..100).map( { say take $_ } ); 1;
19:09 camelia rakudo 25a0b3:  ( no output )
19:09 pmichaud also, displaying @a makes it eager.
19:10 flussence rn: [+] $_ X- .pop given 'math`'.ords # http://irclog.perlgeek.de/perl6/2013-05-26#i_7117448
19:10 TimToady r: my @a := gather for 1..100 { say take $_}; 1
19:10 camelia rakudo 25a0b3, niecza v24-51-g009f999:  ( no output )
19:10 camelia rakudo 25a0b3:  ( no output )
19:10 TimToady whew! :)
19:10 [Coke] moritz had changed for, then changed it back because pretty much report from the wild was "eew, this is horrible"
19:10 masak down to 5 seconds.
19:10 flussence rn: say [+] $_ X- .pop given 'math`'.ords
19:10 camelia rakudo 25a0b3, niecza v24-51-g009f999: OUTPUT«42␤»
19:10 pmichaud okay, I didn't see the changeback.
19:10 pmichaud moritz++
19:10 masak and lost one of the solutions, too :(
19:10 flussence (I can make it shorter, but that line is cuter)
19:10 [Coke] pmichaud: ... I don't know which way it is now. ;)
19:11 pmichaud there's still some nastiness involving sink context and array variables, I suspect
19:11 masak ah, logical bug again. :)
19:11 pmichaud so having "my @a :=" as the last line in the mainline may be giving it some forced eagerness.
19:11 [Coke] r: my $a = gather for 1..100 { say $_; take $_};
19:11 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:11 [Coke] r: my $a := gather for 1..100 { say $_; take $_};
19:11 camelia rakudo 25a0b3: OUTPUT«1â�¤2â�¤3â�¤4â�¤5â�¤6â�¤7â�¤8â�¤9â�¤10â�¤11â�¤12â�¤13â�¤14â�¤15â�¤16â�¤17â�¤18â�¤19â�¤20â�¤21â�¤22â�¤23â�¤24â�¤25â�¤26â�¤27â�¤28â�¤29â�¤30â�¤31â�¤32â�¤33â�¤34â�¤35â�¤36â�¤37â�¤38â�¤39â�¤40â�¤41â�¤42â�¤43â�¤44â�¤45â�¤46â�¤47â�¤48â�¤49â�¤50â�¤51â�¤52â�¤53â�¤54â�¤55â�¤56â�¤57â�¤58â�¤59â�¤60â�¤61â�¤62â�¤63â�¤64â�¤65â�¤66â�¤67â�¤68â�¤69â�¤70â�¤71â�¤72â�¤73â�¤74â�¤75â�¤76â�¤77â�¤78â�¤79â�¤80â�¤81â�¤82â�¤83â
19:12 [Coke] so, it's not just array assignment.
19:12 pmichaud add a "1;" there.
19:12 [Coke] r: my $a := gather for 1..100 { say $_; take $_}; 1;
19:12 camelia rakudo 25a0b3:  ( no output )
19:12 TimToady or read the backlog
19:12 [Coke] EW!
19:12 [Coke] so, for is the 'ewwwwww' way, now.
19:12 pmichaud it's because the result of the statement list is $a, which then gets .sink called on it.
19:12 [Coke] ew.
19:12 pmichaud (which I still disagree with, but I haven't had tuits to be able to review the sink changes and fix them)
19:13 TimToady note that gather technically puts its for into sink context as well, but the take should suspend that
19:13 pmichaud right, the .sink in this case is being called on the List containing the GatherIter
19:19 timotimo i'm kind of sad that ::CALLER:<$?LINE> doesn't seem to work :(
19:19 moritz timotimo: callframe().line should
19:20 timotimo thanks :)
19:20 timotimo it even gives the file, that's great :)
19:20 masak current solution down to 7 seconds.
19:21 masak suggestion: rename var() to unknown()
19:22 timotimo masak: your script doesn't run on niecza, because n doesn't seem to like adding multis to +, * and ==
19:22 flussence r: say 'a' ~~ /(.)/ # just doing this to see if the regex quote brackets work on my screen...
19:22 camelia rakudo 25a0b3: OUTPUT«「a」␤ 0 => 「a」␤␤»
19:23 masak timotimo: that's niecza's problem. :)
19:23 timotimo inded
19:27 pmichaud or unk() if you want shorter.
19:27 pmichaud which is surprisingly close to "thunk"  :-)
19:27 pmichaud afk, kid pickups
19:28 [Coke] I have a naive solution to the masak challenge that pretty much times out due to using the combine() from RC on a list of 31 taken 4 at a time.
19:29 lizmat .oO(second time someone mentions unk today)
19:29 masak here's a corresponding MiniZink model: http://www.hakank.org/minizinc/xkcd.mzn
19:30 [Coke] lizmat: you were talking about how you see Any and Mu earlier. I just see them as points in the type hierarchy to control junctions. "use this one to autothread junctions" "use this one to treat junctions as self contained things with no magic powers"
19:31 lizmat yes, I was taught this by jnthn at PLPW
19:31 lizmat I didn't know about that property of Mu when I was thinking about using Mu
19:32 [Coke] ah. alrightee then.
19:32 masak yes, I'm happy with my solution now.
19:32 masak I didn't really expect to arrive at one that runs in < 10 seconds on Rakudo.
19:32 masak even though the searchspace is not enormous.
19:34 Util #ps time
19:36 * moritz doesn't have anything to conribute to #ps these days
19:36 * lizmat is just lurking
19:40 [Coke] adding the gather/take to http://rosettacode.org/wiki/Combinations#Perl_6 seems to have slowed it down a bit.
19:42 [Coke] er, a LOT.
19:43 fhelmberger joined #perl6
19:47 [Coke] huh. or something on feather was killing the CPU there.
19:49 isBEKaml joined #perl6
19:49 isBEKaml joined #perl6
19:54 stevan_ joined #perl6
19:56 isBEKaml joined #perl6
19:56 isBEKaml joined #perl6
19:57 konundra joined #perl6
19:58 lizmat .tell jnthn I did the suggested change and it spectested ok.  I also removed the ::?CLASS:D: as the other methods taking a key didn't have that either
19:58 yoleaux lizmat: I'll pass your message to jnthn.
20:00 dalek rakudo-star-daily: ef7b1f1 | coke++ | log/ (5 files):
20:00 dalek rakudo-star-daily: today (automated commit)
20:00 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/ef7b1f1741
20:00 [Coke] no change on R*
20:13 * lizmat has changed https://github.com/rakudo/rakudo/pull/156 to only change the API of Hash.new and not touch the API of hash()
20:14 * lizmat has removed some Mu's from https://github.com/rakudo/rakudo/pull/156 , because she now realizes that was not really a smart thing to do (even though it spectested ok)
20:14 FROGGS joined #perl6
20:14 lizmat *158
20:15 FROGGS o/
20:15 lizmat FROGGS!
20:15 FROGGS :o)
20:16 * lizmat also killed a Mu in https://github.com/rakudo/rakudo/pull/147
20:21 FROGGS pmichaud / [Coke]: my home-directory on feather has a checked-out iobranch merge, and some local changes...
20:21 FROGGS at this state, the bug hides if you comment out a single line of the test file
20:22 FROGGS the commented-out lines of IO/Spec/Unix.pm will trigger the bug too if commented in (with an unchanged test file)
20:25 * lizmat started https://github.com/perl6/specs/issues/45 (use Foo:version<...>, how to deal with edge cases?), hoping for a resolution in Austin, TX
20:26 zby_home joined #perl6
20:27 diakopter joined #perl6
20:32 sqirrel joined #perl6
20:34 FROGGS joined #perl6
20:34 lizmat seems we have some bad net weather?
20:38 FROGGS might be just me on a train
20:56 dalek specs: ff6e953 | (Elizabeth Mattijsen)++ | S11-modules.pod:
20:56 dalek specs: Revert "Revert "Remove line the was left behind from a previous edit""
20:56 dalek specs:
20:56 dalek specs: This reverts commit 546a9c4322e537f98a71d99f0dc473532b416e10.
20:56 dalek specs: review: https://github.com/perl6/specs/commit/ff6e95324e
20:57 jnthn ...
20:57 yoleaux 19:58Z <lizmat> jnthn: I did the suggested change and it spectested ok.  I also removed the ::?CLASS:D: as the other methods taking a key didn't have that either
20:57 jnthn Somebody in one of my Git classes once asked, "can you revert a revert". Now I've seen it happen in the ild...
20:57 ajr_ I assume dalek is a bot of some kind, perhaps tracking updates?
20:57 jnthn *wild
20:57 lizmat jnthn: I found that I actually had reverted a change that shouldn't have been (afaik)
20:58 tadzik good evening #perl6
20:58 lizmat tadzik!
20:58 jnthn ajr_: Tracks commits, yet. And with a link so you can code review what was commat
20:58 jnthn o/ tadzik
20:58 jnthn *ye
20:58 jnthn *yes
20:58 lizmat how did it go today / yesterday?
20:58 masak jnthn: yes, but a revert of a revert is just a cherry-pick of the original commit. that's why cherry-picks are covariant and reverts are contravariant ;)
20:58 jnthn argh, can't type
20:58 masak tadzik! \o/
20:58 jnthn masak: Huh? Does it actually do it that way, or the effect is just the same?
20:58 ajr_ Np. I got the gist. :-)*
20:59 masak tadzik: the two Ciechans are now safely in my cupboard, to be consumed on some hot summer's day. :)
20:59 masak jnthn: the effect is just the same.
20:59 arlinius joined #perl6
20:59 jnthn Oh, phew :)
20:59 masak jnthn: I'm pretty sure enough information is lost that it doesn't actually go back to the original commit ;)
20:59 jnthn Right, I was pretty sure it didn't actually store enough to implement it that way.
20:59 masak jnthn: just pointing out that you could've just the re-cherry-picked the original commit.
20:59 tadzik masak: do give me a heads-up when you consume them, I'm curious about their contents
21:00 * masak .oO( I have a feeling it's beer... ) :P
21:00 masak tadzik: will do.
21:00 tadzik good, good. Let the beer flow through you.
21:01 masak I'll make sure to invite jnthn, as per agreement.
21:15 espadrine joined #perl6
21:16 timotimo tadzik: i've just made a pullrequest for the test for missing lib/ and the fix i made
21:16 tadzik ossum
21:16 timotimo even more slides procrastinated away! ;)
21:18 tadzik before I merge pull requests, I like to fetch them and test locally
21:18 tadzik github could use a textbox with "git clone this.and.that to test it locally"
21:18 tadzik so I don't have to click on 'timo', look through your repos, find panda, find branches...
21:20 dalek panda: 99ecd04 | (Timo Paulssen)++ | / (2 files):
21:20 dalek panda: don't explode when no lib folder exists +test
21:20 dalek panda: review: https://github.com/tadzik/panda/commit/99ecd04db4
21:20 dalek panda: 1b27a1d | tadzik++ | / (2 files):
21:20 dalek panda: Merge branch 'accept_missing_lib'
21:20 dalek panda: review: https://github.com/tadzik/panda/commit/1b27a1d531
21:21 tadzik timotimo++ # thanks!
21:21 tadzik having contributors is awesome :)
21:21 masak it is. contributors++
21:24 timotimo if you write it like that, masak, it seems like a volunteerment ;)
21:24 * masak hides behind a git branch
21:26 timotimo so, i was hoping to use callframe() to get the filename and line of where i was called from
21:26 timotimo turns out it goes through the core setting for quite a few levels m)
21:28 bluescreen10 joined #perl6
21:32 timotimo r: say callframe(5).file; say callframe(5).file;
21:32 camelia rakudo 25a0b3: OUTPUT«src/stage2/gen/NQPHLL.nqp␤src/stage2/gen/NQPHLL.nqp␤»
21:33 timotimo oh no!
21:33 timotimo i'm introducing new callframes by using "first" to find the first callframe outside of my lib >_<
21:34 timotimo do those frames get invalidated when one gets popped off, but not down to the one i'm holding a reference to?
21:37 jnthn Slides from my talk at Polish Perl Workshop: http://jnthn.net/papers/2013-plpw-rakudo-jvm.pdf
21:40 lizmat jnthn++
21:40 lizmat good to see it again, it was a lot to take in  :-)
21:40 masak oh right, slides.
21:40 masak I'll try to get mine published tomorrow.
21:44 Chillance joined #perl6
21:46 japhb_ joined #perl6
21:47 lizmat given a file A.pm with: module A:version<v1> { sub a is export { say "a" } }; module B:version<v1> { sub b is export { say "b" } }
21:48 lizmat use A; a; b; import B  # currently fails because it tries to import "b", whereas the "use A" already did that also
21:49 lizmat even though they are the same sub
21:49 FOAD joined #perl6
21:50 lizmat is the fact that "use A" exports the subs from module B a rakudobug, or is that a case of "don't do that" ?
21:50 jnthn Well, you're importing the stuff from EXPORT::DEFAULT
21:50 jnthn And "is export" installs the things in there
21:51 lizmat Feels to me that we should maybe disallow more than one module / class etc. at the top level of a UNIT to prevent these type of situations?
21:51 jnthn Nah.
21:51 jnthn It's common to do that. Especially if one of them is a lexical class that you're using as an implementation detail
21:51 lizmat I'm not against that
21:51 lizmat that's lexical inside, and hidden from the outside
21:52 lizmat it's just that there is a difference between "use A" and "import A" in the case of 2 top level modules with exportable subs
21:52 jnthn I thought we didn't complain about importing the same things twice, though...
21:52 jnthn r: use Test; use Test;
21:52 camelia rakudo 25a0b3: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Cannot import the following symbols from Test, because they already exist in this lexical scope:  &skip_rest, &diag, &done_testing, &doneâ�¤at /tmp/zuyxQPOgEB:1â�¤------> [32muse Test; use Test[33mâ��[31m;[0mâ�¤Â»
21:52 jnthn Ah, hm.
21:52 lizmat so maybe that's the rakudobug ?
21:53 jnthn I'm a bit surprised it complains there.
21:53 jnthn Especially as I thought I'd fixed that in the past...
21:53 lizmat ok, then I'll submit a rakudobug for this and we can look at this later
21:53 lizmat is that a plan?
21:54 jnthn Sure
21:55 * lizmat submits rakudobug
21:55 lizmat goodnight #perl6! and sleep&
21:58 timotimo jnthn: how much work do you figure will it take for Rakudo::Debugger to run on the jvm? from my point of view it should range from "works immediately" to "an evening's worth of work" (of course assuming a sufficiently matured rakudo-jvm)
21:59 REPLeffect joined #perl6
21:59 jnthn timotimo: Probably O(day), possible O(evening), but yeah, needs a sufficiently matured rakudo-jvm :)
22:06 * masak .oO( Society Against The Abuse Of Ordo Notation )
22:06 dalek rakudo/nom: be60ebe | dagurval++ | src/core/IO.pm:
22:06 dalek rakudo/nom: fix order of directory/volume used in dir()
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/be60ebe6aa
22:06 dalek rakudo/nom: 2f8ebe1 | (Brent Laabs)++ | t/spectest.data:
22:06 dalek rakudo/nom: add S02-names/bare-sigil.t to spectest
22:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f8ebe1d08
22:06 dalek rakudo/nom: a418e53 | dagurval++ | src/core/Temporal.pm:
22:07 dalek joined #perl6
22:08 stevan_ joined #perl6
22:09 labster that was supposed to be:  Add IO::Handle meth: gist, perl, path (now returns IO::Path), IO (a no-op)
22:32 Juerd What is the user p6eval on feather1? Evalbots must 15399 p6eval    20   0  304m 274m 1928 R  0,4 23,3   1:37.04 perl6
22:32 Juerd 12384 sergot    20   0  499m 182m  684 D  0,0 15,5   4:32.28 perl6
22:32 Juerd Arghhhh
22:32 Juerd Lag + paste fail
22:32 Juerd Evalbots must be on feather3, where they can cause little harm
22:32 Juerd So I'd like to learn what p6eval is on feather1; It's causing problems now.
22:36 sorear Juerd: iirc feather3 doesn't have enough RAM to build rakudo, so we have a cronjob on feather1 which builds rakudo and scps it to feather3
22:36 sorear all user evaluations are done on feather3
22:38 labster *sigh*, now people are trying to pick fights on the YAPC email list.
22:39 sorear labster: is that in the movie night thread I just deleted without reading?
22:40 labster one of them.  title is "dha is the catalog!"
22:42 jnthn I've yet to see a mail on that list that is actually worthwhile.
22:44 labster Me neither.
22:45 PacoAir joined #perl6
22:48 * jnthn wonders how you un-sub...
22:48 jnthn ah, found it
22:49 jnthn (just follow listinfo link at bottom of posts)
22:54 REPLeffect joined #perl6
22:54 masak oh, a good idea.
22:54 * masak follows suit
22:55 masak here's to staunchly refusing to let the YAPC::NA mailing list ruin the YAPC::NA experience! :D
22:56 masak 'night, #perl6
23:00 sorear night masak
23:13 jnthn 'night from me too
23:15 Grrrr joined #perl6
23:16 bbkr joined #perl6
23:50 Juerd joined #perl6

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

Perl 6 | Reference Documentation | Rakudo