Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-06-06

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:07 jercos amusingly that information is actually sent along with every message camelia sends... but most clients don't show that >.>
00:11 timotimo i am glad my client hides that for regular messages
00:14 raydiak geekosaur: ha ha guess I deserved that :)  never really could get in to the social network thing in truth though
00:15 * geekosaur turns out to be too autistic for twitter/facebook/tumblr, so even less able to get into them
00:16 kurahaupo1 joined #perl6
00:17 raydiak near as I can tell they're mostly terrible terrible things so we're probably better off this way :)
00:22 bin_005 joined #perl6
00:28 bin_005 joined #perl6
00:32 bin_005_c joined #perl6
00:40 kurahaupo1 joined #perl6
01:19 BenGoldberg joined #perl6
01:38 bin_005_c_x joined #perl6
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:51 bin_005_c_x joined #perl6
01:56 telex joined #perl6
02:05 hoelzro camelia: whois
02:05 hoelzro er, duh
02:13 dalek evalbot: 4a18f52 | Mouq++ | lib/EvalbotExecuter.pm:
02:13 dalek evalbot: Use the GitHub gist API
02:13 dalek evalbot: review: https://github.com/perl6/evalbot/commit/4a18f52920
02:14 Mouq I brought that up last time camelia was fixed, but figured I'd see if GitHub changed again
02:14 yoleaux 5 Jun 2015 22:13Z <lizmat> Mouq: #125312 can be closed
02:14 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125312
02:14 Mouq Cool
02:20 amurf joined #perl6
02:35 rmgk_ joined #perl6
02:35 noganex joined #perl6
02:35 chenryn joined #perl6
02:39 silug joined #perl6
02:42 gagalicious joined #perl6
02:47 bjz joined #perl6
03:15 hoelzro oh, nice Mouq
03:26 lizmat joined #perl6
03:33 dalek rakudo/nom: 2ea7d3c | Mouq++ | src/Perl6/Optimizer.nqp:
03:33 dalek rakudo/nom: "$foo.bar += 1234" should only call $foo.bar once
03:33 dalek rakudo/nom:
03:33 dalek rakudo/nom: Besides being more correct, is also much faster, since we're calling the
03:33 dalek rakudo/nom: (potentially high-load) function half as often.
03:33 dalek rakudo/nom:
03:33 dalek rakudo/nom: timotimo++ for assistance
03:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ea7d3c222
03:44 lizmat good night, #perl6!
03:44 colomon o/
03:44 lizmat (jet lag is taking its toll)
03:47 jack_rabbit joined #perl6
03:47 Mouq 'night lizmat
03:53 SevenWolf joined #perl6
03:53 chenryn joined #perl6
04:10 amurf joined #perl6
04:12 chenryn joined #perl6
04:17 llfourn joined #perl6
04:28 molaf_ joined #perl6
04:28 skids (and of course, this would be the first day in ages I need camelia to take gists...)
04:30 chenryn_ joined #perl6
04:40 bin_005 joined #perl6
05:08 kaare_ joined #perl6
05:10 chenryn_ joined #perl6
05:46 Patterner joined #perl6
05:57 bin_005_y joined #perl6
06:06 gagalicious if i do... print STDERR "my comment"; other than the current STDoutput on my screen... is it going anywhere else? any specific log file?
06:07 ugexe could if you wanted it to
06:08 ugexe something like $*ERR := class { print { "somefile.err".IO.spurt($_) } }
06:08 ugexe method print^
06:25 diana_olhovik_ joined #perl6
06:28 kurahaupo1 joined #perl6
06:43 maettu1 left #perl6
06:44 maettu joined #perl6
06:50 vendethiel joined #perl6
06:55 cognominal joined #perl6
07:00 bin_005_y_j joined #perl6
07:12 Foxcool joined #perl6
07:20 dolmen joined #perl6
07:25 nebuchadnezzar joined #perl6
07:27 RabidGravy joined #perl6
07:43 rurban joined #perl6
07:46 llfourn joined #perl6
07:47 dalek doc: 118f72b | Mouq++ | bin/p6doc:
07:47 dalek doc: Change $*OS to $*DISTRO.name. Fixes #88
07:47 dalek doc: review: https://github.com/perl6/doc/commit/118f72bc14
07:47 amurf joined #perl6
07:49 espadrine joined #perl6
07:51 domidumont joined #perl6
07:53 tinyblak joined #perl6
08:01 jaffa4 joined #perl6
08:06 espadrine_ joined #perl6
08:11 espadrine joined #perl6
08:15 Ven joined #perl6
08:18 darutoko joined #perl6
08:37 espadrine_ joined #perl6
08:42 rnr joined #perl6
09:08 _itz surely $*DISTRO.is-win should be renamed $*DISTRO.is-fail? :)
09:09 Ven joined #perl6
09:14 gfldex joined #perl6
09:15 jnthn Only if you flip the meaning :P
09:16 * jnthn isn't too fond of all the recent "somebody didn't like zero-arg X so we banned it"
09:17 jnthn It'll mean we end up with a list of things that complain and another bunch that don't
09:18 Mouq m: say [min]
09:18 camelia rakudo-moar c2a57e: OUTPUT«Inf␤»
09:18 jnthn Which is one of those dreaded "lists to remember" that we're trying to avoid in Perl 6.
09:18 Mouq (old camelia)
09:19 jnthn I could only barely buy the argument for await; for take/min/max I'm really not sure
09:19 jnthn Anyway, suspect we need a TimToady++ ruling :)
09:19 * Mouq tries to figure out how to get TextMate to think of .pm files as p6
09:20 Mouq Er
09:20 Mouq s/TextMate/Atom
09:20 Mouq I don't even know how my brain did that
09:20 jnthn Brains are weird. :)
09:21 dalek roast: e225997 | usev6++ | S05-metasyntax/regex.t:
09:21 dalek roast: Add test for RT #125302
09:21 dalek roast: review: https://github.com/perl6/roast/commit/e2259973be
09:21 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125302
09:21 Ven m: say min;
09:21 camelia rakudo-moar c2a57e: OUTPUT«Inf␤»
09:23 Ven Mouq++ # 2ea7d3c
09:29 larion joined #perl6
09:29 Woodi hallo #perl6 :)
09:29 vendethiel joined #perl6
09:30 Woodi I realy do not understand that OS -> DISTRO migration... we are *such* forward looking ? :)
09:32 Woodi how I can instruct my perl6 to say "Linux" ?
09:33 _itz I did think the use of the word DISTRO (which seems quite linux specific) was odd in general OS classification
09:33 bartolin m: say $*KERNEL.name.tc
09:33 camelia rakudo-moar c2a57e: OUTPUT«Linux␤»
09:34 Woodi bartolin: ok. now instructing kernel tu say "Windows" is weird :)
09:34 bartolin *g*
09:35 Woodi and OS is just two, very established letters...
09:36 AlexDaniel joined #perl6
09:36 dalek roast: f4fb60e | jnthn++ | S03-junctions/misc.t:
09:36 dalek roast: Correct tests that could never possibly work.
09:36 dalek roast:
09:36 dalek roast: Resolves RT #124842.
09:36 dalek roast: review: https://github.com/perl6/roast/commit/f4fb60e0ff
09:36 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=124842
09:42 bartolin Woodi: I seem to remember that there was a lengthy discussion about $*DISTRO, $*KERNEL and $*OS quite a while ago. I don't remember any details, though. looking at the logs atm ...
09:43 bartolin Woodi: ah, seems to start here (and continues for a few days): http://irclog.perlgeek.de/​perl6/2014-05-10#i_8705472
09:44 bin_005_y_j_x joined #perl6
09:45 bartolin Woodi: that's my search request http://irclog.perlgeek.de/perl6/s​earch/?nick=timtoady&amp;q=distro
09:45 domidumont joined #perl6
09:45 Woodi checking
09:45 dalek rakudo/nom: 8363bbd | jnthn++ | src/ (2 files):
09:45 dalek rakudo/nom: Don't autothread Junction type object.
09:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8363bbdd38
09:46 dalek roast: 140767b | jnthn++ | S03-junctions/misc.t:
09:46 dalek roast: Tests for not auto-threading Junction type object.
09:46 dalek roast:
09:46 dalek roast: It should just be a regular dispatch fail.
09:46 dalek roast: review: https://github.com/perl6/roast/commit/140767bdc1
09:49 Sqirrel joined #perl6
09:58 Woodi so, hmm... TimToady was trolling us ? :)
09:59 dalek rakudo/nom: 57ab27a | jnthn++ | src/Perl6/ (2 files):
09:59 dalek rakudo/nom: Implement quietly { ... }.
09:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/57ab27ada5
09:59 dalek rakudo/nom: 13af7e3 | jnthn++ | t/spectest.data:
09:59 dalek rakudo/nom: Run S04-statements/quietly.t.
09:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/13af7e3298
09:59 Woodi but things are a bit more complicated then I thinked...
09:59 dalek roast: ad0906b | jnthn++ | S32-basics/warn.t:
09:59 dalek roast: Unfudge RT #124768 (quietly was NYI).
09:59 dalek roast: review: https://github.com/perl6/roast/commit/ad0906b458
09:59 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=124768
10:09 lasse joined #perl6
10:09 lolisa joined #perl6
10:10 Mouq jnthn: That test… "'quietly does not surpress warnings';" wut
10:11 Mouq Oh, looks like a copypasto
10:11 rindolf joined #perl6
10:11 jnthn heh, I didn't read the description, just the code :P
10:11 jnthn You fixing, or should I? :)
10:12 Mouq Go ahead, I'm delving into atom to try to fix something trivial :P
10:12 Mouq Also jnthn++
10:17 dalek roast: eaa9001 | jnthn++ | S32-basics/warn.t:
10:17 dalek roast: Fix thinkos and typos; Mouq++.
10:17 dalek roast: review: https://github.com/perl6/roast/commit/eaa90012b7
10:26 Ven joined #perl6
10:33 smls joined #perl6
10:34 uncleyear joined #perl6
10:40 Mouq Figured it out. If anyone else wants the iffy Perl 6 syntax highlighting on .pm files by default in Atom, add atom.grammars.grammarsByScopeName["​source.perl6"].fileTypes.push("pm")
10:40 Mouq to ~/.atom/init.coffee
10:42 Mouq Actually, going with .push("pm", "t")
10:42 dalek specs: 6e1c9d4 | jnthn++ | / (5 files):
10:42 dalek specs: Update design docs for how Str/NFG has worked out.
10:42 dalek specs:
10:42 dalek specs: Of note, the StrLen and StrPos types are gone, and Str only works at
10:42 dalek specs: grapheme level; as per S15 we have Uni and its subtypes for working
10:42 dalek specs: at codepoint level, and Buf for working at bytes level.
10:42 dalek specs: review: https://github.com/perl6/specs/commit/6e1c9d45c2
10:48 smls joined #perl6
10:51 masak afty, #perl6
10:55 jnthn o/ masak
10:55 spider-mario joined #perl6
10:56 Ven_ joined #perl6
10:57 dalek roast: e54c762 | jnthn++ | S02-types/declare.t:
10:57 dalek roast: Toss StrPos/StrLen type existence tests.
10:57 dalek roast: review: https://github.com/perl6/roast/commit/e54c7628ff
10:57 dalek roast: 70bbf2d | jnthn++ | S32-str/ (3 files):
10:57 dalek roast: Further StrPos/StrLen test cleanup.
10:57 dalek roast:
10:57 dalek roast: This eradicates all mention of them from the spectest suite, now they
10:57 dalek roast: are gone from the design docs.
10:57 dalek roast: review: https://github.com/perl6/roast/commit/70bbf2da44
10:58 tadzik 'evening
10:59 jnthn o/ tadzik
11:00 uncleyear joined #perl6
11:01 smls_ joined #perl6
11:06 dalek roast: 472834a | jnthn++ | S02-types/declare.t:
11:06 dalek roast: Toss tests for now-gone string-related types.
11:06 dalek roast: review: https://github.com/perl6/roast/commit/472834aa05
11:06 smls joined #perl6
11:09 dalek roast: d9ebe60 | jnthn++ | S02-types/declare.t:
11:09 dalek roast: There is no Module type.
11:09 dalek roast:
11:09 dalek roast: This is a confusion of object/meta-object level. Modules get ModuleHOW
11:09 dalek roast: as a meta-object.
11:09 dalek roast: review: https://github.com/perl6/roast/commit/d9ebe60463
11:09 Sqirrel joined #perl6
11:09 masak just as there is no Class type.
11:10 jnthn Yeah, there wasn't a test for that though :)
11:10 * masak .oO( we confuse things, and HOW ) :P
11:10 jnthn :D
11:11 * jnthn clsoed all the RT tickets related to those tests too
11:14 smls_ joined #perl6
11:18 smls joined #perl6
11:25 amurf joined #perl6
11:27 smls joined #perl6
11:27 uncleyear joined #perl6
11:29 masak hey, what's up with the variable names in S02-types/declare.t ?
11:30 vendethiel joined #perl6
11:35 Mouq masak: Looks like some are Lojban?
11:35 Ven_ masak: seems like they're coming from https://github.com/perl6/roast/commit/b​cc6cdfeb8fd66999ca752d37fbf2b36f275978b
11:37 uncleyear joined #perl6
11:37 smls_ joined #perl6
11:39 Mouq Yeah, they're all lojban except for some foos, bars, and "igeda"
11:42 llfourn is there a way of doing MyClass.add_method( $methname, multi method {}) without using EVAL ... It seems I cannot make an anonymous multi method
11:43 llfourn and mutli method $methname() {} doesn't work obviously
11:43 smls_ joined #perl6
11:47 _mg_ joined #perl6
11:49 jnthn Multi methods are added with .^add_multi_method iirc
11:49 smls joined #perl6
11:50 jnthn And you can give it a name, but write "anon multi method foo() { }"
11:50 jnthn To prevent it getting installed anywhere
11:51 llfourn I was just using .add_method(my method foo() {})
11:52 llfourn can't seem to find add_multi_method
11:52 llfourn http://doc.perl6.org/type/Metamode​l::ClassHOW#Routines_supplied_by_r​ole_Metamodel%3A%3AMethodContainer
11:52 smls TimToady: Coming back to the Amb example on rc, it looks like you cheated quite a bit :P, what with relying on the current hyper ordering in Rakudo...
11:52 uncleyear joined #perl6
11:52 smls write-up of the details: https://gist.github.com/smls/1484e13b89490e218ddc
11:53 smls maybe calling next in an Xop used to do something different, so that example used to work even without the cheating reordering?
11:54 smls it doesn't now, though.
11:54 jnthn It's in MultiMethodContainer rather than MethodContainer
11:56 llfourn jnthn: Ahh ok thanks. Taking a look now. Doesn't appear on docs other than in the does section http://doc.perl6.org/type/Metamodel::ClassHOW
11:56 Ven_ m: class A { my method a {1}; }; say A.new.a
11:56 camelia rakudo-moar c2a57e: OUTPUT«Method 'a' not found for invocant of class 'A'␤  in block <unit> at /tmp/V3_TFpMUIe:1␤␤»
11:56 Ven_ m: class A { my method b {1}; method a { self.b } }; say A.new.a
11:56 camelia rakudo-moar c2a57e: OUTPUT«Method 'b' not found for invocant of class 'A'␤  in method a at /tmp/5F4LdVBQoC:1␤  in block <unit> at /tmp/5F4LdVBQoC:1␤␤»
12:03 jaffa4 jnthn: hi jnthn, some nbody test does not perform well
12:03 yoleaux 4 Jun 2015 10:28Z <timotimo> jaffa4: i found it a bit strange that you were using hashes for the bodies in your nbodies translation
12:04 jaffa4 jnthn: do you know about that?
12:05 Mouq m: say "\q:to/obf/wut"␤lol␤obf
12:05 camelia rakudo-moar c2a57e: OUTPUT«lol␤wut␤»
12:09 timotimo o/
12:10 flussence hmm, maybe updating rakudo right before I go travelling offline all day isn't such a good idea... https://gist.github.com/flu​ssence/48610fb98d732b4d1e86
12:14 timotimo jaffa4: did you see the gist where i did a bunch of changes to your nbody file?
12:17 masak lol, I blogged! http://strangelyconsistent.org/blog/w​hen-i-dont-even-feel-like-using-blame
12:17 masak kind of a surprise post. spur of the moment.
12:18 smls_ joined #perl6
12:19 rjbs <3 exhaustive match checking -so- -much-
12:20 masak oh! I meant to include the phrase "barbaric development practices of the 20th century" somewhere... :)
12:20 masak oh well.
12:20 uncleyear joined #perl6
12:28 Ven_ masak: "Don't get me wrong. NaN is there for a reason, and I'm not clamoring for its removal. " I don't think you'd be alone in battle :)
12:28 Ven_ and yeah -- exhaustive pattern matching checks is nice, but impractical in many cases.
12:29 Ven_ One good example is scala: it can check for exhaustiveness, but only if the classes are "sealed" (which means they can't be extended from another *file*)
12:29 masak no arguments about impracticality.
12:30 Ven_ (the reason is that, well, you distribute precompiled JARs. that's also the java/scala compiler can't do full-blown optimization)
12:31 masak mostly just claiming that the situations where it *is* practical are a slowly growing collection (as people understand their domains and the constraints better), and that it's increasingly reckless not to get on this wave and ride it.
12:31 Celelibi joined #perl6
12:33 Ven_ (scalaJS, on the other hand, can do that)
12:37 masak the IEEE 754 case of smaller/equal/larger/NaN *is* a "sealed class".
12:37 Ven_ masak: it definitely is.
12:37 masak so are many other such cases.
12:37 masak there's a wonderful paper about what IntelliJ can do nowadays with nullness analysis: http://meta2014.pereslavl.ru/papers/2014_Klyu​chnikov__Nullness_Analysis_of_Java_Bytecode_v​ia_Supercompilation_over_Abstract_Values.pdf
12:38 Ven_ so, what, should the compiler check for every use of "<" or ">" or "==" and emit a warning if it can't detect a check for "NaN" around it :)?
12:38 masak same kind of idea. run through all the cases, in intelligent ways.
12:38 flussence .oO( use pedantic; )
12:38 diana_olhovik joined #perl6
12:38 masak Ven_: not saying the compiler need to anything. might be an external tool. but yeah, *something* should do some pattern matching and find these things so that we humans don't have to.
12:39 Ven_ masak: considering it's Perl6, the "other tools" need at least as much info as the compiler :)
12:39 masak *nod*
12:41 Ven_ problem is, you'd need to "sacrifice" precompilation to do that, it seems
12:41 Ven_ actually...
12:43 Ven_ say I have Ven::Base, and extending it are classes Ven::A and Ven::B. I "pattern match" on it in my `multi sub f`. but then – *someone* else extends it with Masak::C. what should the compiler do? error on `f`?
12:44 masak I'm not so interested in solving that particular problem, when it's done with subclassing.
12:44 masak actual enums, however...
12:45 masak note that not even Perl 6 has a mechanism to re-open and extend an enumeration. :)
12:45 uncleyear joined #perl6
12:45 masak (I've checked.) :)
12:45 Ven_ (or at least, not a mechanism designed to do that *g*)
12:46 tinyblak joined #perl6
12:47 flussence I tried re-rebuilding rakudo just now, and panda triggered a completely different error to that gist I posted above: «Method 'from' not found for invocant of class 'Mu' in block  at ./rebootstrap.pl:33» ...and that line's only doing a simple split(/\s/).
12:50 ggoebel joined #perl6
12:51 flussence this is on 32-bit FWIW, but I also couldn't install Linenoise on 64-bit just now either. guess it's just one of those days...
13:00 jaffa4 timotimo: yes
13:07 ggoebel joined #perl6
13:10 uncleyear joined #perl6
13:14 khisanth_ joined #perl6
13:14 amurf joined #perl6
13:15 smls joined #perl6
13:20 smls_ joined #perl6
13:24 Ven joined #perl6
13:33 smls_ joined #perl6
13:33 smls_ What would I have to change the 'return' statement to here, to make it not blow up? https://gist.github.com/smls/1d6cf6af547f7f7cfba5
13:34 smls_ Or is parsing using custom non-regex grammar methods not properly supported yet?
13:34 Emeric joined #perl6
13:39 uncleyear joined #perl6
13:40 smls joined #perl6
13:46 tinyblak joined #perl6
13:47 smls_ joined #perl6
13:48 timotimo it's sooo waaarm here
13:57 masak heh. I wanted to write a tweet about how Perl more than any other language I know offers the developer unparalleled freedom in how to lay out code to enhance the *message* and *purpose* of the program.
13:58 smls joined #perl6
13:58 masak but I couldn't fit that into a tweet in a way that didn't sound like random fanboi squealing.
13:58 moritz masak: maybe it is random fanboi squealing :-)
13:59 moritz masak: maybe it is *thoughtful* fanboi squealing :-)
14:00 masak I guess so :)
14:00 masak the feeling was brought on by looking at this snippet of code that I wrote a while back: https://github.com/masak/maze-making/​blob/master/rendering/draw-em#L16-L35
14:01 masak I can't think of another language that can express the same thing as nicely.
14:01 masak Perl 5, kind of. with s///ge. gets a bit noisier.
14:03 masak the code takes a 24-bit bitstring, and turns it into a string depicting a maze, with walls present where there are 1s in the bitstring, and absent where there are 0s.
14:03 jaffa4 joined #perl6
14:03 uncleyear joined #perl6
14:04 smls_ joined #perl6
14:05 masak heredocs, and then .=subst (with a block arg), allow me to write the code as *the picture of an actual labyrinth* such that it will be printed.
14:06 masak as opposied to, say, lots of small fragments of labyrinth scattered throughout the code that then get concatenated according to some rules.
14:07 masak ooh, though I see a simplification that I missed back then. I could have made the wall a parameter of a lexical sub, and then made `$pos` a `state` variable.
14:08 masak I do believe `state` things reset at outer block re-entry, yes?
14:08 masak m: for ^3 { sub foo { say $++ }; foo; foo }
14:08 camelia rakudo-moar c2a57e: OUTPUT«0␤1␤0␤1␤0␤1␤»
14:08 masak yep.
14:09 masak TimToady++ # thought of this years ago :)
14:09 masak haha, now I suddenly remember when I first came across the last section of S04, "When is a closure not a closure"...
14:10 masak I read it, and went "o...kay..."
14:10 masak :P
14:11 masak nowadays it doesn't feel all that bad. but that just means I've been fairly thoroughly corrupted by the compiler writer's mindset.
14:11 * masak .oO( "we go slightly mad so you won't have to!" ) :P
14:15 smls_ Is there a behavrioral difference between a 'state' variable declared inside a scope, and a 'my' variable declared in its parent scope?
14:15 smls_ pretty much the same, no?
14:16 smls_ plus the "is only initialized once per clone"
14:16 geekosaur behavioral should be the same, but visibility/encapsulation of functionality differs
14:16 smls_ how?
14:16 masak smls_: you can't see the `state` variable outside the function.
14:17 geekosaur because the my is visible in the parent scope?
14:17 smls_ right
14:17 masak smls_: but implementation-wise, you're spot on. that's close to how it is implemented.
14:17 geekosaur so you have a namespace leak and potential bug if somehting uses the my inappropriately
14:17 geekosaur in the parent scope
14:18 geekosaur (the encapsulation part being based on this: you are leaking an internal state and opening yourself to something poking it from outside)
14:18 masak right. it's all about scope and intent.
14:29 domidumont joined #perl6
14:35 skids joined #perl6
14:35 uncleyear joined #perl6
14:40 timotimo Mouq: thank you for going ahead and pushing the patch; i was going to +1 it for you, but i was tired and distracted and everything yesterday
14:42 lizmat good *, #perl6!
14:42 masak m: say (NaN .. NaN)[1024]
14:42 camelia rakudo-moar c2a57e: OUTPUT«NaN␤»
14:42 timotimo hello, lizmat
14:42 lizmat m: say @*INC[0]
14:42 camelia rakudo-moar c2a57e: OUTPUT«file#/home/camelia/.pe​rl6/2015.05-29-gc2a57ec/lib␤»
14:42 masak m: say (NaN .. NaN)[2000]
14:42 camelia rakudo-moar c2a57e: OUTPUT«NaN␤»
14:42 lizmat ok, so camelia is still not updated
14:42 masak \o, lizmat
14:43 FROGGS joined #perl6
14:44 lizmat masak o/
14:48 timotimo i can try to figure out what's wrong with camelia
14:48 timotimo i have access to the server
14:48 timotimo but i don't know why there's rakudo1 and rakudo2 checkouts
14:48 dalek rakudo/nom: 1c068dd | lizmat++ | src/core/Any.pm:
14:48 dalek rakudo/nom: Revert "Make bare min/max/minmax fail"
14:48 dalek rakudo/nom:
14:48 dalek rakudo/nom: Un-ban bare min/max/minmax.  After having slept on it, I had my
14:48 dalek rakudo/nom: doubts about it as well.  Mind you, a bare take/take-rw as a
14:48 dalek rakudo/nom: shortcut for taking Mu, still does not make sense to me, so I've
14:48 dalek rakudo/nom: kept them banned.
14:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1c068dda79
14:48 timotimo and i'm not allowed to fetch there
14:52 timotimo ah, it swaps between rakudo1 and rakudo2 every time
14:54 timotimo uh oh
14:54 lizmat .tell jnthn having tossed StrPos/StrLen, shouldn't StrPosRef be tossed as well from core ?
14:54 yoleaux lizmat: I'll pass your message to jnthn.
14:55 skids FWIW, I *intentionally* do non-exhaustive case statements more often than trying to do exhaustive things, so I'd probably end up ignoring the output of a tool that looked at all my given/where statements or whatnot.
14:57 smls_ .oO( use strict 'given'; )
14:57 skids It would be more useful on a per-given basis.
14:57 skids But might be the halting problem in any case.
14:57 smls_ well, you can always add   default {die}   on a per-given basis ;)
14:58 uncleyear joined #perl6
14:58 Ven joined #perl6
14:58 smls_ but I think masak's concerm was more about cases where the programmer did *not* think of the fact that there might be additional edge cases.
14:59 timotimo nine: by doing stuff in camelia's home as timo, i may have broken some stuff, can you give me the rights to sudo to camelia or perhaps put my public key in there?
15:04 dalek rakudo/nom: 2807e85 | lizmat++ | docs/ChangeLog:
15:04 dalek rakudo/nom: Mention quietly, jnthn++
15:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2807e85ce4
15:05 timotimo lizmat: take without an argument makes sense if you're just using gather/take for coroutines
15:06 lizmat timotimo: could you elaborate, because I don't see it right now  :-)
15:06 timotimo if you just don't care about the values that get put into the resulting list
15:06 timotimo though in that case you may want to take Empty instead
15:06 timotimo so that it doesn't grow the resulting list
15:07 skids One coud 'take ()' for that though.
15:07 skids Oh, I type too slow.
15:07 timotimo probably?
15:08 rindolf joined #perl6
15:08 lizmat yeah, something like that  :-)
15:09 timotimo taking Mu, though ... not terribly sure about that
15:09 lizmat perhaps a bare take should be a take () then
15:09 skids Well, take is close to next, so there's a possibility for similar interactions with labels if it ever gets respecced.
15:09 timotimo in general, if your target list is being iterated, wouldn't "take ()" cause reify to immediately resume your iterator, though?
15:10 skids Though I guess it is dynamic.
15:12 RabidGravy joined #perl6
15:15 skids timitimo: ()-collapse happens during flatten.
15:16 timotimo OK
15:17 skids I'm actually not clear on how that impacts iteration.
15:21 PotatoGim^Home joined #perl6
15:22 PotatoGim^Home joined #perl6
15:23 skids m: .perl.say for ((),1); my @f <== ((),1); .perl.say for @f;
15:23 camelia rakudo-moar c2a57e: OUTPUT«()␤1␤1␤»
15:26 wollmers joined #perl6
15:27 dalek doc: 2ed40df | paultcochrane++ | lib/Type/Hash.pod:
15:27 dalek doc: Descripe looping over hash keys and values
15:27 dalek doc: review: https://github.com/perl6/doc/commit/2ed40df95d
15:27 uncleyear joined #perl6
15:27 wollmers m: $v = 0 +| (1 +< 2);sprintf("%08b",$v);
15:27 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F7sJ12aokv␤Variable '$v' is not declared␤at /tmp/F7sJ12aokv:1␤------> 3<BOL>7⏏5$v = 0 +| (1 +< 2);sprintf("%08b",$v);␤»
15:28 wollmers m: my $v = 0 +| (1 +< 2);sprintf("%08b",$v);
15:28 camelia rakudo-moar c2a57e: ( no output )
15:28 telex joined #perl6
15:28 wollmers m: my $v = 0 +| (1 +< 2);say sprintf("%08b",$v);
15:28 camelia rakudo-moar c2a57e: OUTPUT«00000100␤»
15:29 wollmers m: my $v = 0; $v = $v +| (1 +< 2);say sprintf("%08b",$v);
15:29 camelia rakudo-moar c2a57e: OUTPUT«00000100␤»
15:31 AndChat|228864 joined #perl6
15:34 JimmyZ_ joined #perl6
15:35 uncleyear joined #perl6
15:36 lizmat jnthn++ masak++  # blog posts
15:44 xinming joined #perl6
15:46 lizmat breakfast and sightseeing&
15:49 raydiak g'morning #perl6
15:52 uncleyear joined #perl6
15:53 timotimo o/
15:54 raydiak how's it going timo?
15:54 timotimo it's going all right
15:55 dalek ecosystem: 6c17537 | (David Farrell)++ | META.list:
15:55 dalek ecosystem: Added App-jsonv
15:55 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/6c17537796
15:58 espadrine_ joined #perl6
16:06 Ven joined #perl6
16:16 wollmers joined #perl6
16:17 timotimo just very distracted
16:17 timotimo how are you, raydiak?
16:17 timotimo aside from your car getting damaged again?
16:18 uncleyear joined #perl6
16:19 Sqirrel joined #perl6
16:28 raydiak heh well I thought that was the bad part, but the worse part was it turns out I lost my wallet in the process of wrangling with tires at a gas station air pump
16:29 raydiak someone returned it last night, it had no money in it by then, but I was mostly just thankful to get my ID and stuff like that back
16:31 raydiak thinking today I might not leave home and fix the bitrot in my corner of the ecosystem, less likely to lose or destroy something :)
16:31 moritz and if you do, you can always git revert or git reset --hard :-)
16:34 raydiak heh yes that's exactly what's called for today, I think :)
16:34 wollmers m: my uint64 $z = +^0;say $z.lsb,' ',$z.msb;
16:34 camelia rakudo-moar c2a57e: OUTPUT«0 0␤»
16:35 wollmers m: my uint64 $z = +^0;say sprintf("%064b",$z);
16:35 camelia rakudo-moar c2a57e: OUTPUT«000000000000000000000000000000​00000000000000000000000000000000-1␤»
16:35 Emeric joined #perl6
16:36 wollmers Does the 'u' in uint mean unsigned?
16:36 wollmers It's not defined in the specs.
16:37 raydiak yes it does
16:38 wollmers But it does not behave so.
16:41 TimToady it behaves as if it's defined in the specs but has bugs :)
16:42 TimToady m: my uint64 $z = +^0; say $z
16:42 camelia rakudo-moar c2a57e: OUTPUT«-1␤»
16:42 TimToady that's just a bug
16:43 raydiak it's at http://design.perl6.org/S02.html#Native_types
16:43 TimToady m: my uint64 $z = 2**64 - 1; say $z
16:43 camelia rakudo-moar c2a57e: OUTPUT«-1␤»
16:44 TimToady looks like on the boxing side
16:44 FROGGS when assigning to a native we loose the information about (un)signedness
16:44 TimToady m: my uint8 $z = 255; say $z
16:44 camelia rakudo-moar c2a57e: OUTPUT«-1␤»
16:44 TimToady FROGGS: the compiler knows it's unsigned, so it should unbox to unsigned
16:45 TimToady er, box
16:45 uncleyear joined #perl6
16:51 FROGGS TimToady: http://irclog.perlgeek.de/p​erl6/2015-04-09#i_10414425
16:52 amurf joined #perl6
16:52 FROGGS both issues are connected to each other...
16:52 FROGGS m: my num32 $a = 42e0; say $a # as a reference
16:52 camelia rakudo-moar c2a57e: OUTPUT«0␤»
16:52 wollmers TimToady: So it's not recommended to use integers as bitvectors?
16:53 TimToady smls_: X is not a hyper, and is completely ordered because it handles lazy lists
16:54 smls_ TimToady: I was refering to the  >>  in  sub amb
16:54 smls_ replace it with a .map() and the code no longer prints the correct result
16:54 smls_ same when switching some words
16:55 TimToady okay, >> is a hyper, I'll grant you :)
16:56 smls_ :P
16:56 * TimToady is just doing a cursory backlog before driving off toward Utah...
16:56 diana_olhovik_ joined #perl6
16:56 TimToady after driving to LA and back over the last two days, so a bit strange in the head
16:57 TimToady well, the arrow of causation might be reversed there...
16:58 raydiak it's a strange place, to be sure...
17:09 uncleyear joined #perl6
17:20 rindolf joined #perl6
17:22 espadrine_ joined #perl6
17:22 Peter_R joined #perl6
17:36 uncleyear joined #perl6
17:43 Sqirrel joined #perl6
17:44 davido_ joined #perl6
17:48 Ven joined #perl6
17:56 * masak finds the http://irclog.perlgeek.de/p​erl6/2015-06-05#i_10709045 discussion
17:57 masak I don't know if anyone's expressed this wish before, but I would be very OK with 1/0 (two Ints) giving the "Division by zero" error, whereas any introduction of Num would yield Inf as a result instead.
17:57 masak (as per IEEE 754)
17:57 masak that's the way Java has it. I used to be annoyed by the inconsistency, but that was before I understood that Inf is an IEEE 754 value.
18:00 TimToady P6 tends to err on the side of preserving the concept, and determining the outcome of the concept's use lazily
18:00 TimToady arguably 1/0 is how you write Inf in Rat
18:00 masak since Inf is meant to be, um, polyamorous^Wamphibian^WI don't remember the word, there's even an argument that 1/0 as Ints should yield Inf, instead of an error.
18:02 uncleyear joined #perl6
18:02 rindolf joined #perl6
18:04 moritz but what can we do with a Rat.new(1, 0) that we can't with an X::Math::DivideByZero.new(1) ?
18:05 masak m: say 1/0 * 0
18:05 camelia rakudo-moar c2a57e: OUTPUT«Earlier failure:␤ Divide by zero␤  in block <unit> at /tmp/t4rZ2vZSMx:1␤␤Final error:␤ Type check failed in binding; expected 'Int' but got 'Failure'␤  in any bind_error at src/vm/moar/Perl6/Ops.nqp:224␤  in block <unit> at /tmp/t4rZ2vZSMx:1…»
18:05 masak m: say Rat.new(1, 0) * 0
18:05 camelia rakudo-moar c2a57e: OUTPUT«Earlier failure:␤ Divide by zero␤  in block <unit> at /tmp/ddy42o2cKR:1␤␤Final error:␤ Type check failed in binding; expected 'Int' but got 'Failure'␤  in any bind_error at src/vm/moar/Perl6/Ops.nqp:224␤  in block <unit> at /tmp/ddy42o2cKR:1…»
18:06 TimToady moritz: dispatch to a Rat operation
18:06 TimToady m: say Rat.new(1,0).nude
18:06 camelia rakudo-moar c2a57e: OUTPUT«1 0␤»
18:06 TimToady like that one :)
18:08 TimToady as I said, I prefer to preserve concepts as long as possible, because overall it produces better error messages to understand why something went wrong
18:09 TimToady for instance, maybe the failure here would be improved by "Attempt to divide 1 by 0", since the numerator might actually be useful information
18:09 masak +1
18:10 masak also, "Attempt to divide 1 by -0", when applicable.
18:12 masak m: min
18:12 camelia rakudo-moar c2a57e: ( no output )
18:19 masak jnthn++ # https://6guts.wordpress.com/2015/06/05/that-week​-concurrency-fixes-control-exceptions-and-more/
18:19 TimToady masak: Rat is unsigned in the denominator though
18:19 chansen_ joined #perl6
18:19 masak jnthn: "auto-geneated" -> "auto-generated" typo
18:19 masak TimToady: oh, right.
18:20 FROGGS joined #perl6
18:22 uncleyear joined #perl6
18:22 masak re http://irclog.perlgeek.de/p​erl6/2015-06-06#i_10710194
18:22 masak I realized on the way home from the train station
18:23 masak that `state` is what you get if you (a) realize that functions are kind of object-like and closure semantics is kind of encapsulation-like and (b) observe people using closures for encapsulation, and take pity in them.
18:25 geekosaur pretty much, yes
18:26 masak put differently, class : sub :: has : state
18:27 dalek rakudo/nom: ac720ed | lizmat++ | src/core/Exception.pm:
18:27 dalek rakudo/nom: Put in plumbing to mention denominator in N/0 fail
18:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac720edaf6
18:27 lizmat this breaks some tests in t/spec/S03-operators/arith.t that are overeager in testing message
18:27 lizmat wil fix those when I get back from some more sightseeing (unless someone beats me to it)
18:27 lizmat &
18:29 ggherdov joined #perl6
18:30 pnu joined #perl6
18:30 uncleyear joined #perl6
18:31 uncleyear joined #perl6
18:32 yqt joined #perl6
18:33 nwc10 jnthn: auto-geneated method
18:33 nwc10 :-)
18:33 Timbus joined #perl6
18:34 moritz a method that's automatically made neat?
18:34 moritz I like that.
18:36 jnthn Typos. They're in my genes...
18:36 yoleaux 14:54Z <lizmat> jnthn: having tossed StrPos/StrLen, shouldn't StrPosRef be tossed as well from core ?
18:36 jnthn .tell lizmat No, despite the name overlap, that's something completely different
18:36 yoleaux jnthn: I'll pass your message to lizmat.
18:37 SevenWolf joined #perl6
18:37 bin_005 joined #perl6
18:37 jnthn Fixed the typo, thanks :)
18:43 bartolin good evening, #perl6
18:44 bartolin I've found some NullPointerExceptions:
18:44 bartolin j: Match.new.perl
18:44 camelia rakudo-jvm c2a57e: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/XmJDyQAHeY:1␤␤»
18:44 bartolin j: Match.new eqv 42
18:44 camelia rakudo-jvm c2a57e: OUTPUT«java.lang.NullPointerException␤  in block <unit> at /tmp/KXIN8_NQto:1␤␤»
18:45 bartolin do you think, the following patch is sensible?
18:45 bartolin https://github.com/usev6/rakudo/commit/5​5fba33224248987365bef9de781387d35689efc
18:45 bartolin (it gave me a clean spectest)
18:48 bartolin or would it be better to introduce a special case for jvm with '#?if jvm', maybe?
18:49 jnthn I'd prefer that patch as is
18:49 jnthn Rather than #?if
18:49 bartolin great, I'll create a PR then
18:53 bin_005 joined #perl6
18:55 uncleyear joined #perl6
18:55 uncleyear joined #perl6
19:08 nys joined #perl6
19:24 AlexDaniel joined #perl6
19:27 vendethiel TimToady: wanted to ask you if you commented on the "sub f(:$a(match)){}" form to match on named parameters values?
19:28 uncleyear joined #perl6
19:36 TimToady I think I wondered at the time whether it'd make more sense to have a Pair ($a,$b) kind of form that could also apply to Rat or Complex
19:36 vendethiel ah, interesting
19:37 TimToady otoh that wouldn't make the argument non-named, so there's a disconnect
19:38 diana_olhovik_ joined #perl6
19:38 TimToady anyway, I don't see why :a(42) shouldn't work
19:39 vendethiel nice :)
19:39 TimToady basically, the inside is just another parameter, with optional type and variable, I think
19:40 TimToady where "42" is just one of those very skinny types I keep mentioning :)
19:47 larion joined #perl6
19:48 uncleyear joined #perl6
19:49 kaare__ joined #perl6
19:57 AlexDaniel m: my $x = 5; my $y = 0; my $z = 6; say 1/$x + 2/$y + 3/$z;
19:57 camelia rakudo-moar c2a57e: OUTPUT«Divide by zero␤  in block <unit> at /tmp/T916zvMn45:1␤␤»
19:57 AlexDaniel what is "block <unit>" ?
19:58 AlexDaniel is it possible to make it generate more precise error messages in this case?
19:59 jschulz "Divide by zero" is very precise in my opinion
20:00 jnthn And unit is the outermost scope of the program, which is addressable through the pseudo-package UNIT too.
20:00 jnthn So it's precise in that way too.
20:01 AlexDaniel jschulz: sure, but where did it happen?
20:01 quester joined #perl6
20:01 jnthn It told you a file name and line number too.
20:01 AlexDaniel sure! But sometimes calculations are longer than something divided by something
20:02 AlexDaniel maybe I'm asking for too much, that's possible :)
20:02 jschulz AlexDaniel: you should validate the data before you divide
20:03 jschulz if $y > 0 then ... ;-)
20:03 AlexDaniel :)
20:05 AlexDaniel hm, what if I write it across many lines
20:05 AlexDaniel say 1/$x
20:05 AlexDaniel + 2/$y
20:05 AlexDaniel + 3/$z;
20:06 AlexDaniel arguably it says a wrong line number...
20:08 quester Hi.  After I updated rakudo-m and panda this morning and rebootstrapped panda, $ panda --version failed with "Missing or wrong version of dependency 'INTERNAL ERROR: Execution of block eliminated by optimizer' (from 'Tiny.pm')"...
20:08 TimToady masak: arguably, the error is considering NaN to match the :D there
20:09 quester The fix turned out to be to recompiled the two .pm files in JSON/Tiny, cd rakudo/install/share/perl6/lib/JSON; perl6 --optimize=3 --target=mbc --output=Grammar.pm.moarvm Grammar.pm; same thing for Actions.pm...
20:09 quester Would anyone know if this just me, or is there a bug somewhere in the panda installation scripts?
20:10 * moritz wonders if panda using JSON::Tiny for bootstrapping, and then installing JSON::Tiny again might be a cause of problems
20:10 jnthn TimToady: You're not going to win that argument. :P
20:10 rurban joined #perl6
20:10 jnthn quester: That error should never show up, so something's certainly wrong.
20:11 jnthn oh wait, what...
20:11 jnthn That error is totally bogus too
20:11 jnthn As in, it shows a random string rather than the filename it's meant to
20:11 jnthn What on earth...
20:12 jnthn quester: There's likely some buy somewhere in installation stuff, but the error reporting there is off too
20:12 quester <jnthn>:  The "Missing or wrong..." error only appears if I use perl6 --optimize-3... and not for levels 0 through 2.
20:14 * quester is thinking of blowing away rakudo and panda and rebuilding both from scratch to see if that helps
20:15 davido_ joined #perl6
20:15 jnthn Worth a try...
20:15 smls joined #perl6
20:16 * quester is rebuilding
20:17 * jnthn gets some rest &
20:18 uncleyear joined #perl6
20:28 cognominal joined #perl6
20:29 amurf joined #perl6
20:37 _mg_ joined #perl6
20:39 * quester notices that on a clean reinstall site/lib/JSON/Tiny/Actions.pm.moarvm and Grammar.moarvm are automatically created, fixing my original problem
20:39 uncleyear joined #perl6
20:40 quester .tell jnthn Nevermind, a clean install did fix it.  (Although that was a pretty weird error message...)  Thank you very much.
20:40 yoleaux quester: I'll pass your message to jnthn.
20:41 llfourn joined #perl6
20:52 flussence m: say 59632/73188
20:52 camelia rakudo-moar c2a57e: OUTPUT«0.814778␤»
20:53 masak 'night, #perl6
20:53 flussence I found an old 2015.03 installation on one of my boxes, that 73188 is its peak RSS for -e 'say $*VM'. 20% less RAM in 2 months, not bad :)
20:54 quester .tell lizmat Hi, I just did a panda install Inline::Perl5 and all of the tests failed with "Can't locate Filter/Simple.pm".  Installing the perl5 module Filter::Simple fixed the tests.  Perhaps it should be documented as a prerequisite?  -- BTW, thanks lizmat++ FROGGS++ niner++!
20:54 yoleaux quester: I'll pass your message to lizmat.
21:06 diana_olhovik joined #perl6
21:13 uncleyear joined #perl6
21:14 uncleyear joined #perl6
21:20 bin_005 joined #perl6
21:25 flussence m: say 46964/59632 # and ooc, here's current HEAD 32b vs 64b numbers for the above one-liner too
21:25 camelia rakudo-moar c2a57e: OUTPUT«0.787564␤»
21:35 dolmen joined #perl6
21:41 uncleyear joined #perl6
21:43 cognominal m: say Nil.[0]
21:43 camelia rakudo-moar c2a57e: OUTPUT«Nil␤»
21:43 cognominal m: say Nil[0]
21:43 camelia rakudo-moar c2a57e: OUTPUT«===SORRY!===␤Cannot find method 'parameterize'␤»
21:43 cognominal ok. makes sense
21:45 uncleyear joined #perl6
21:48 timotimo po/
21:48 timotimo er
21:48 timotimo i meant to
21:48 timotimo o/
21:49 raydiak \o
21:50 quester left #perl6
21:54 timotimo o/
21:57 * smls created another rosetta task to show off Perl 6's awesomeness: http://rosettacode.org/wiki/Convert_​seconds_to_compound_duration#Perl_6
22:00 raydiak neat... smls++
22:01 timotimo looks good
22:02 timotimo http://rosettacode.org/wiki/Rosetta_Co​de/Rank_languages_by_popularity#Perl_6 - someone could maybe ... ? :)
22:05 uncleyear joined #perl6
22:12 itz joined #perl6
22:15 rurban joined #perl6
22:19 amurf joined #perl6
22:20 uncleyear joined #perl6
22:29 smls TimToady++ for this humorous entry: http://rosettacode.org/wiki/Respon​d_to_an_unknown_method_call#Perl_6
22:30 smls ;)
22:30 llfourn joined #perl6
22:32 uncleyear joined #perl6
22:36 btyler joined #perl6
22:45 uncleyear joined #perl6
22:55 cognominal joined #perl6
22:59 mr-foobar joined #perl6
23:12 tinyblak_ joined #perl6
23:17 tinyblak joined #perl6
23:18 tinyblak_ joined #perl6
23:19 timotimo cannot invoke all these null objects ...
23:20 timotimo and the stack trace is super unhelpful, too
23:40 ShimmerFairy joined #perl6
23:41 TimToady .tell jnthn I'm not worried about that particular list-to-remember, because nobody will bother to remember which functions will tell me I'm an idiot right off the bat, and which will let me flail about and figure out I'm an idiot slowly.  It's really just another "this can't possible work, and we can tell so at compile time".
23:41 yoleaux TimToady: I'll pass your message to jnthn.
23:45 BenGoldberg joined #perl6
23:49 timotimo TimToady: last time i checked the rc-forest-fire benchmark didn't burn down trees properly; right now it's failing with "cannot invoke null object", but do you remember it working recently at all?
23:58 TimToady I had it working a month or so ago, but my copy doesn't work now either
23:58 timotimo same error output?

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

Perl 6 | Reference Documentation | Rakudo