Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-09-05

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 n0tjack joined #perl6
00:11 ShimmerFairy timotimo: you could go with Net::Socks -> NetSocks:: -> KnitSocks::    :P
00:11 timotimo %)
00:13 timotimo grondilu: could you invest a bit of time into making libdigest-perl6 aka Digest post-glr-compatible?
00:13 flussence timotimo: I tried starting a Websockets.pm a few months ago, but it never got anywhere (kept hitting rakudobugs). I'd be willing to help out if you get anywhere with it, I kinda want that module to exist... :)
00:14 timotimo ah
00:14 timotimo it seems like i'll be sent to bed really soon, though …
00:15 flussence no hurry :)
00:34 n0tjack joined #perl6
00:42 tadzik joined #perl6
01:05 aborazmeh joined #perl6
01:05 aborazmeh joined #perl6
01:20 n0tjack joined #perl6
01:43 colomon joined #perl6
01:45 geekosaur joined #perl6
01:53 mprelude joined #perl6
01:58 rangerprice joined #perl6
01:59 rangerprice There is someone that have one million ? i just want to him to give 100 000 $ to the Perl Foundation
02:07 noganex joined #perl6
02:27 rangerprice joined #perl6
02:47 colomon joined #perl6
02:58 colomon joined #perl6
03:31 khw joined #perl6
03:33 danaj joined #perl6
03:56 xinming_ joined #perl6
04:15 lizmat joined #perl6
04:27 lizmat joined #perl6
04:31 laouji joined #perl6
04:33 lizmat joined #perl6
04:34 vic__ joined #perl6
04:37 Averna joined #perl6
04:44 laouji joined #perl6
04:45 _itz joined #perl6
04:46 lizmat joined #perl6
04:50 lizmat joined #perl6
05:11 laouji joined #perl6
05:17 abaugher joined #perl6
05:23 lizmat_ joined #perl6
05:38 lizmat joined #perl6
05:48 lizmat joined #perl6
05:48 Loren_ joined #perl6
05:58 tm joined #perl6
06:01 RabidGravy joined #perl6
06:03 RabidGravy morning!
06:04 timotimo hello, mister gravy
06:07 lizmat joined #perl6
06:09 * _itz whimpers pathetically with his last night ypac sherry/beer hangover
06:12 RabidGravy _itz that old dangerous combo :-O
06:14 virtualsue joined #perl6
06:17 lizmat joined #perl6
06:30 kaare_ joined #perl6
06:32 lizmat_ joined #perl6
06:35 cognominal joined #perl6
06:42 RabidGravy the question top of my mind this morning is "is it glr or is it just bit-rot"
06:44 lizmat joined #perl6
06:46 [TuxCM] joined #perl6
06:53 lizmat_ joined #perl6
07:02 timotimo you can figure out easily by running nom before trying to fix things, eh?
07:12 lizmat joined #perl6
07:26 lizmat joined #perl6
07:26 darutoko joined #perl6
07:28 rindolf joined #perl6
07:34 virtualsue joined #perl6
07:46 lizmat joined #perl6
07:52 virtualsue joined #perl6
07:57 lizmat joined #perl6
08:00 aborazmeh joined #perl6
08:00 aborazmeh joined #perl6
08:04 lizmat joined #perl6
08:06 RabidGravy or maybe I just shouldn't be allowed to use git before 10 in the morning
08:08 xfix joined #perl6
08:08 xfix joined #perl6
08:11 lizmat joined #perl6
08:13 jdv79 only after caffeine
08:21 RabidGravy at this juncture I think a hot towel shave from the guy who looks like the previous president of Iran is the only answer
08:23 TEttinger joined #perl6
08:24 zacts joined #perl6
08:30 mj41 joined #perl6
08:30 [TuxCM] joined #perl6
08:34 lizmat joined #perl6
08:35 * lizmat waves from the YAPC::EU hackathon
08:35 timotimo o/ lizmat
08:35 lizmat timotimo o/
08:37 mauke joined #perl6
08:38 mj41 hola form the hackathon
08:39 mj41 panda install Bailador
08:39 mj41 ...
08:39 mj41 Files=8, Tests=22,  9 wallclock secs ( 0.03 usr  0.02 sys +  8.99 cusr  0.30 csys =  9.34 CPU)
08:39 mj41 Result: FAIL
08:39 mj41 test stage failed for Template::Mustache: Tests failed
08:39 mj41 probably glr merge issue
08:41 mj41 no any pull request there https://github.com/softmoth/p6-Template-Mustache/
08:41 mj41 yet
08:47 ab5tract_ joined #perl6
08:47 ab5tract_ o/
08:47 TimToady \o
08:48 Loren_ o/
08:49 ab5tract_ Are YAPC folks already at the Uni hacking?
08:50 n0tjack joined #perl6
08:50 TimToady yup
08:51 ShimmerFairy I'm guessing that's "Uni" as in the type, right?
08:51 TimToady well, we're here, dunno about the hacking part...
08:51 ab5tract_ hehehe
08:51 ab5tract_ ShimmerFairy: :)
08:51 * TimToady sends ShimmerFairy the graphemes that spell "university"
08:51 lizmat it feels it's more about waking up slowly
08:51 * ab5tract_ goes downstairs for some breakfast
08:52 ShimmerFairy I figured the alternate interpretation was "university" :)
08:52 mauke UNIVERSAL RECYCLING SYMBOL [♲]
08:57 mj41 the basic test is not working https://github.com/softmoth/p6-Templat​e-Mustache/blob/master/t/01-basic.t#L5 ... so probably this should be fixed somehow https://github.com/softmoth/p6-Template-Musta​che/blob/master/lib/Template/Mustache.pm#L140 ... any ideas? :)
09:00 lizmat m: my @a = 10 xx False; dd @a
09:00 camelia rakudo-moar e6f360: OUTPUT«@a = []<>␤»
09:00 lizmat m: dd EVAL '[]<>'
09:00 camelia rakudo-moar e6f360: OUTPUT«[]<>␤»
09:01 lizmat m: dd EVAL '[]'
09:01 camelia rakudo-moar e6f360: OUTPUT«[]␤»
09:01 spider-mario joined #perl6
09:02 TimToady m: my @a = 10 xx False; say @a
09:02 camelia rakudo-moar e6f360: OUTPUT«␤»
09:03 TimToady m: my @a = 42 xx 10; say @a
09:03 camelia rakudo-moar e6f360: OUTPUT«42 42 42 42 42 42 42 42 42 42␤»
09:03 TimToady m: my @a = 42 xx 10; say @a,42
09:03 camelia rakudo-moar e6f360: OUTPUT«42 42 42 42 42 42 42 42 42 4242␤»
09:03 lizmat $ 6 'dd EVAL "[]<>"'
09:03 lizmat []
09:06 * RabidGravy returns with a pine fresh shaved head
09:07 RabidGravy now for my next trick we will convince the kitty that she really does want to go to the kitty gitmo
09:07 mj41 anybody with rakudo commit bit?
09:07 mj41 git tag pre-grl e6f36021abf17d4fca
09:07 mj41 git push origin pre-glr
09:07 dayangkun joined #perl6
09:07 lizmat https://gist.github.com/li​zmat/de3ad4f47c12a8c2c860   # JVM build fail
09:08 moritz mj41: willdo
09:08 mj41 thx
09:08 lizmat pre-glr  I would hope
09:08 lizmat not pre-grl
09:09 moritz done
09:10 mj41 thx, From git://github.com/rakudo/rakudo
09:10 mj41 * [new tag]         pre-glr    -> pre-glr
09:13 FROGGS Ven: I merged moar/cpp3 into moar/master
09:13 FROGGS Ven: so you'd need moar/master, nqp/master and rakudo/cpp3
09:14 FROGGS Ven: NativeCall should attempt to build the test libs with clang++ first, then g++ if it had failed
09:14 FROGGS Ven: and since both default to GNU name mangling it should Just Work™
09:17 perl6_newbee joined #perl6
09:20 ab5tract_ joined #perl6
09:29 ab5tract_ are type conversions in signatures still NYI?
09:29 ab5tract_ s/conversions/coercions/
09:29 moritz no
09:29 moritz m: sub f(Int() $x) { say $x.^name }; f '42'
09:29 camelia rakudo-moar e6f360: OUTPUT«Int␤»
09:30 ab5tract_ ooo :)
09:30 ab5tract_ looks like I have something cool to add to an upcoming pull request :)
09:31 lizmat m: class A { method Str { "foo" } }; sub bar(Str() $a) { dd $a }; bar A
09:31 camelia rakudo-moar e6f360: OUTPUT«$a = "foo"␤»
09:32 lizmat m: class A { method Str { "foo" } }; sub bar(Str $a) { dd $a }; bar A  # without coercion
09:32 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BslxyXq0OW␤Calling bar(A) will never work with declared signature (Str $a)␤at /tmp/BslxyXq0OW:1␤------> 3{ "foo" } }; sub bar(Str $a) { dd $a }; 7⏏5bar A  # without coercion␤»
09:32 ab5tract_ I remember also some Int[Str] sort of syntax? but that's clearly something else
09:32 lizmat FWIW, looks like the JVM build failure is caused by not being able to set $=pod
09:33 lizmat around line 404 in World.nqp.  I tried several things, but none of them worked out
09:34 lizmat seems we need to fix the underlying issue of |$*POD_BLOCKS being nqpMu
09:34 ShimmerFairy ab5tract_: that's parametric syntax, like    class Foo does Bar[Int, Int] { }    for example
09:35 lizmat m: say Nil.[0]
09:35 camelia rakudo-moar e6f360: OUTPUT«Nil␤»
09:35 ab5tract_ ShimmerFairy: thanks
09:35 lizmat m: say Nil[0]  # funny
09:35 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/pi1VCuFpUH␤Any cannot be parameterized␤at /tmp/pi1VCuFpUH:1␤------> 3say Nil[0]7⏏5  # funny␤»
09:35 ShimmerFairy m: say Nil.new[0]
09:35 camelia rakudo-moar e6f360: OUTPUT«Nil␤»
09:35 ShimmerFairy there we go :)
09:36 mj41 m: say $*PERL.perl
09:36 camelia rakudo-moar e6f360: OUTPUT«Perl.new(compiler => Compiler.new(release => "", codename => "", name => "rakudo", auth => "The Perl Foundation", version => Version.new('2015.7.1.215.ge.6.f.3602'), signature => Blob, desc => Str), name => "Perl 6", auth => "The Perl Foundation", version …»
09:36 mj41 how to get sha1 of rakudo commit?
09:36 lizmat $ git describe
09:36 lizmat 2015.07.1-732-g03b5a0a
09:36 lizmat so camelia is about 500 commits behind ...  :-(]
09:36 mj41 but I'm switching with rakudobrew
09:37 ShimmerFairy mj41: the part after the 'g' in that Version.new is the sha1, but it's been broken up for some strange reason
09:38 mj41 ShimmerFairy: ok
09:39 lizmat m: say Version.new("21abc42")   # that's how Version supposed to work, split on numeric / alphanumeric boundaries
09:39 camelia rakudo-moar e6f360: OUTPUT«v21.abc.42␤»
09:39 lizmat m: say Version.new("21abc42").perl
09:39 camelia rakudo-moar e6f360: OUTPUT«Version.new('21.abc.42')␤»
09:39 ShimmerFairy it's pretty wrong for hashes, though :)
09:40 lizmat FSVO wrong  :-)
09:40 moritz lizmat: rakudo-j build fails for camelia
09:40 lizmat moritz: that's why I was looking at it
09:41 moritz lizmat: does it work for you?
09:41 lizmat nope
09:42 ShimmerFairy lizmat: of course, something with no real sort order probably shouldn't be in a Version in the first place :P
09:42 moritz ShimmerFairy: I disagree. A version should uniquely identify a build or source snapshort; ordering is secondary
09:43 lizmat don't shoot the messenger...  I only implemented the speculation here  :-)
09:43 ShimmerFairy moritz: in that case, the Version type needs some way of knowing what a sha1 hash is, and other similar "informational but useless to sorting" components
09:44 rmgk_ joined #perl6
09:45 cschwenz_hackath joined #perl6
09:47 cschwenz_hackath does perl6 have multi dispatch based on what is wanted on return?  that is, "if $foo.found($bar) { ... }" returns boolean while "@list = $foo.found($bar)" returns a list.
09:50 TimToady no, that would require time travel
09:50 ShimmerFairy no, there isn't. You'd have to have separate functions for that, or return a type that can behave the way you want in particular places
09:51 lizmat m: class A { method Bool { True }; method Str { "foo" }; method Numeric { 42 } }; dd A, ?A, ~A, +A
09:51 camelia rakudo-moar e6f360: OUTPUT«A␤Bool::True␤"foo"␤42␤»
09:51 cschwenz_hackath ah, ok.
09:52 ab5tract_ cschwenz_hackath: fwiw, an empty list would be false in boolean context, and a non-empty true
09:52 ab5tract_ so you would get those semantics for free :)
09:52 ab5tract_ but generally you would write the boolean is 'is-found' and the list as 'found' or so
09:53 ab5tract_ 'wantarray' was an early casualty
09:53 ab5tract_ and few mourned at the funeral ;)
09:54 lizmat fwiw, TheDamian now does not support using context for Perl 5 anymore either
09:54 diana_olhovik_ joined #perl6
09:54 lizmat in a new PBP, he would advocate returning an object that would do the right thing in the right context
09:55 ab5tract_ lizmat: yup, it's considered bad form across the Perliverse, afiact
09:56 ShimmerFairy Now that I think about it, if you returned really different things from a function, and needed to discern when to return which one, then you really want two functions (since a different name is the least error-prone way to state what you want, AFAIK) :)
09:56 mauke that applies to overloaded functions in general
09:58 FROGGS ShimmerFairy: you could also use adverbs to indicate you want to get something else returned instead
09:59 FROGGS like having an :exists adverb that does a cheap check to return a Bool instead of returning/gathering values seems better than creating an object that has weird behaviour
10:00 ShimmerFairy FROGGS: yeah, I consider adverbs and overloading to be the right way to ask for the same result with different starting info. Asking for different results should rightly require different functions :)
10:01 FROGGS ShimmerFairy: but the adverb in @foo[42]:exists is about a different return value
10:01 ShimmerFairy FROGGS: fwiw, the .found example given seemed to me to be like  @foo[$idx]:exists  and  @foo.grep($bar)
10:02 ShimmerFairy FROGGS: I don't think I'm being clear. I'm speaking in terms of 'wantarray' and all that other P5 stuff. It's better for the user to state what kind of thing they want, instead of trying to make a magical function
10:02 mj41 my glr regressions debugging script https://gist.github.com/mj41/55e6121e3b0380f66fec
10:05 ab5tract_ ShimmerFairy: indeed. but really the issue with wantarray, at least as far as it has bitten me, is that the "magic" in the function is about invisible side effects that (in Perl 5) all too often bite you in the face
10:05 ab5tract_ I think the decision between using adverbs and separate functions is stylistic, and perhaps will become the subject of some future best practices deiscussion
10:05 FROGGS ShimmerFairy: I agree that P5's wantarray should be implemented as two different functions usually
10:06 ab5tract_ but neither presents the issues of wantarray, because both involve explicit declarations from the POV of the user
10:07 ShimmerFairy Yeah, at least in P6 you'll have to write the encapsulating type that does the magic you want, if you _really_ want it. And then people will be able to see what your return value is going to do by poking at it :)
10:09 dalek rakudo/nom: 0e67b32 | TimToady++ | src/core/Array.pm:
10:09 dalek rakudo/nom: partly unbreak the java build
10:09 dalek rakudo/nom:
10:09 dalek rakudo/nom: Apparently **@values is rw is producing a Null somehow.  For now
10:09 dalek rakudo/nom: just interrogate the capture directly.
10:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0e67b32470
10:11 TimToady now we blow up in the jast stage with a NQPMu in compile_all_the_stmts
10:12 ab5tract_ :(
10:20 FROGGS ups
10:25 FROGGS I didn't even know the build was broken...
10:25 lizmat m: dd <<a b c d>>'   # seems wrong
10:25 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6Lk4OsJdu9␤Two terms in a row␤at /tmp/6Lk4OsJdu9:1␤------> 3dd <<a b c d>>7⏏5'   # seems wrong␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement e…»
10:25 lizmat m: dd <<a b c d>>   # seems wrong
10:25 camelia rakudo-moar e6f360: OUTPUT«"a"␤"b"␤"c"␤"d"␤»
10:26 lizmat m: dd <a b c d>  # this seems ok
10:26 camelia rakudo-moar e6f360: OUTPUT«("a", "b", "c", "d")␤»
10:26 FROGGS TimToady: I try to hunt that down now
10:27 lizmat ++FROGGS
10:27 TimToady FROGGS: I'm testing a patch in nqp right now
10:27 FROGGS cool
10:27 jdv79 so, i just realized there's a problem with the current pause approach.  does anyone have a problem with not automatically translating the existence of META6.json to a Perl6 subdir to just explicitly specifying that subdir?
10:27 TimToady well, it's just null-proofing, probably doesn't fix whatever is producing the NQPMu
10:27 vendethiel joined #perl6
10:29 FROGGS TimToady: that NQPMu-check can potentially get a .node from its parent? so we'd know what source code causes trouble
10:30 ShimmerFairy jdv79: I don't know, I think the best approach would really be for PAUSE/CPAN to recognize a P6 module and hand it off to the appropriate handler as soon as possible (preferably the very first thing done to a package)
10:30 lizmat jdv79: could you elaborate ?
10:30 lizmat ShimmerFairy jdv79 : you should realize that PAUSE is really just a dropbox
10:30 TimToady FROGGS: could, but I'm just trying to unbreak the build right now so we can have camelia under glr
10:30 lizmat with some P5 specific handling on top of it
10:31 FROGGS TimToady: *nod*
10:31 ShimmerFairy lizmat: sure, but the P5 handler gets to processing a P6 module before the check happens. That's the issue
10:31 lizmat yes, that's a bug that should be fixed
10:31 jdv79 upon initial insertion (insert into the uris table) the dist uniqueness is enforced
10:31 ShimmerFairy lizmat: so you can't upload a P6 module if you've got a same-named P5 package, for instance, because the "duplicate uploaded name" check is done before the "is it P6" check
10:32 lizmat yeah, and we only tried it before with modules that would not collide with existing P5 modules  :-(
10:32 jdv79 that's the bug i originally fixed.  and that works fine for the http upload method where we can dig into the dist before inserting
10:32 FROGGS ShimmerFairy / lizmat: though it is not about package names, it is about tarball names per author
10:32 jdv79 but pause also supports fetching later after insertion so we have no way to handle that
10:33 ShimmerFairy lizmat: and that's what I mean by having the P5/P6 check be the _very first_ thing the file goes through, so that the wrong handler doesn't get in the way when something's uploaded :)
10:33 jdv79 a solution would be to detect a user spec'd Perl6 top level subdir as the p6 flag instead of the META6.json file
10:33 jdv79 that way its fine for http upload and ftp and http fetch
10:34 lizmat well, as a temporary solution, I could see that work (apart from needing to create the Perl6 top level subdir first)
10:34 ShimmerFairy I don't see how that'd work (but I'm not familiar with CPAN, admittedly)
10:35 lizmat but I see that as a temporary fix
10:35 lizmat the authoritative flag for P6'ness would have to be META6.json
10:35 lizmat as we don't want to limit ourselves to the limitations of PAUSE
10:36 lizmat so if there would be a PAUSE alternative, then the alternative would not need to create a Perl6 subdir
10:36 ShimmerFairy lizmat: I think the best temporary solution would be a manual "Yes, this is P6" checkbox everywhere you can upload P6 stuff from
10:36 lizmat and would lose the flag meaning then:
10:36 mj41 so I'm stuck https://github.com/softmoth/p​6-Template-Mustache/issues/10
10:38 jdv79 pause handles the Perl6 dir creation just fine as we get it in its path early enough
10:39 jdv79 The indexer would use META6.json still so i don't see this change as temporary.
10:39 ShimmerFairy Hypothetical question: would it be difficult to have a separate "PAUSE6" program handling P6 stuff, and then something in front that decides whether to hand off to PAUSE or PAUSE6? (I'm guessing the answer is "very, very difficult")
10:40 jdv79 anything is possible but part, most?, of the point here it to do leverage existing stuff
10:41 ab5tract_ joined #perl6
10:45 * FROGGS now tries to output the AST of the setting
10:48 FROGGS "Cannot stringify this" :o(
10:50 TimToady note($qast.dump) or so
10:51 ShimmerFairy or --target=ast if you want the whole setting :)
10:52 TimToady or is the problem internal to that?
10:52 ShimmerFairy FROGGS: I've run into unstringifiable stuff a bunch lately (mostly with "Undeclared" error objects not being available for construction, and their nameds being dump). I wonder if it would be unreasonable for nqp's printing functions to support printing arrays and hashes
10:53 ShimmerFairy *dumped
10:53 moritz https://twitter.com/OvidPer​l/status/640098739168890880 has anybody told Ovid where the hackathon is?
10:53 jdv79 or we could just say p6 dists only go through http upload.  that would be easier:)
10:53 TimToady moritz: yes, he found us
10:54 * [ptc] waves from Madrid airport
10:55 * moritz waves to Madrid airport
10:56 lizmat [ptc] safe travels!
10:59 dalek Heuristic branch merge: pushed 54 commits to rakudo/cu_load by lizmat
10:59 lizmat FROGGS: starting to look at cu_load now
11:00 FROGGS nice :o)
11:00 ShimmerFairy I think I'll finally push my allomorphic changes as a branch now :)   (some updates since I tried merging, didn't pull in the changes that were made before the revert to make the eventual re-merge less of a headache)
11:00 pink_mist hmm, Parcel is still mentioned in S02 on http://design.perl6.org/S02.html .. thought that was removed
11:01 pink_mist I don't really fancy trying to learn perl6 from an outdated document =(
11:01 FROGGS pink_mist: yes, the design docs and implementation(s) do not cover each other to 100%
11:01 FROGGS pink_mist: the design docs are not meant as a guide to learn the language
11:02 FROGGS they are meant to guide implementors
11:02 * ab5tract_ feels he is being too annoying about consistency issues, but cannot stop trying to resolve them anyway
11:02 ShimmerFairy pink_mist: yes, I find the synopses are in need of some modernization in general. I've been toying with the idea of setting up a "modernization" branch lately to sweep through all the synopses and update them.
11:02 pink_mist ShimmerFairy++ # that would be awesome
11:03 ShimmerFairy The high 20s are some of the worst-kept parts of the synopses, in my opinion :)
11:03 pink_mist FROGGS: they seem a very nice source to learn from imo though
11:04 ab5tract_ pink_mist: they certainly comprise the most text written on the language, that's for sure
11:04 dalek rakudo/allomorphs: 4a05124 | ShimmerFairy++ | src/core/Str.pm:
11:04 dalek rakudo/allomorphs: Make empty string numify to zero
11:04 dalek rakudo/allomorphs:
11:04 dalek rakudo/allomorphs: As explained by TimToady++, not as weird and unusual as I thought to
11:04 dalek rakudo/allomorphs: have this behavior.
11:05 dalek joined #perl6
11:05 ShimmerFairy FROGGS: they may not be meant as a learning aid, but I'm so used to learning from them that the concept seems foreign to me :P
11:05 dalek joined #perl6
11:07 mj41 ok, maybe this one is going to be easier https://github.com/tadzik/Bailador/issues/32
11:09 dalek specs: 1ec7ab1 | moritz++ | S02-bits.pod:
11:09 dalek specs: Start to remove Parcel from S02
11:09 dalek specs: review: https://github.com/perl6/specs/commit/1ec7ab1ec9
11:10 pink_mist yay, moritz++ =)
11:10 [ptc] lizmat: thanks!
11:11 [ptc] moritz: :-)
11:13 TimToady FROGGS: I have had no luck de-nulling compile_all_the_stmts, just moves the error around, so you can look at it if you like (we're going to lunch)
11:14 dalek specs: 650f008 | moritz++ | S03-operators.pod:
11:14 dalek specs: De-Parcel-ify S03
11:14 dalek specs: review: https://github.com/perl6/specs/commit/650f0088de
11:14 ab5tract_ [ptc]: your comments welcome on https://github.com/rakudo/rakudo/pull/525 :)
11:15 ab5tract_ I replied via email but my comment does not appear yet
11:16 dalek specs: 558155b | moritz++ | S04-control.pod:
11:16 dalek specs: De-Parcel-ify S04
11:16 dalek specs: review: https://github.com/perl6/specs/commit/558155b811
11:17 moritz TimToady: we need a new name for "Parcel parameters", I think
11:17 n0tjack joined #perl6
11:17 FROGGS TimToady: yes, I'm still at it
11:17 moritz m: sub f(|c) { say c.perl }; f(|(1..2, 3))
11:18 camelia rakudo-moar e6f360: OUTPUT«\(1..2, 3)␤»
11:18 moritz m: sub f(|c) { say c.perl }; f(|(1..2))
11:18 camelia rakudo-moar e6f360: OUTPUT«\(1, 2)␤»
11:18 ShimmerFairy Captures? Slips?
11:19 rindolf joined #perl6
11:19 dalek specs: 4c49844 | moritz++ | S0 (2 files):
11:19 dalek specs: A bit more more De-Parcel-ification
11:19 dalek specs: review: https://github.com/perl6/specs/commit/4c498440d7
11:20 telex joined #perl6
11:20 [ptc] ab5tract_: ok, I'll have a look
11:22 [ptc] ab5tract_: did we not discuss this at yapc?  Or did I only discuss the issue with masak?
11:22 ab5tract_ we had a brief WTF moment about it
11:22 ab5tract_ or at least, acknowledged the cognitive dissonance
11:22 ab5tract_ is there a strong reason for keeping it as is?
11:22 [ptc] ab5tract_: anyway, I think since 'until' is used elsewhere in the language for another concept, that it's a good idea to use 'sleep-till' rather than 'sleep-until' to avoid confusion
11:23 ab5tract_ oof
11:23 [ptc] ab5tract_: agreed, I definitely had a wtf moment though, however managed to rationalise why it'd be ok to keep as-is
11:25 ab5tract_ what does `until` do again? it is missing from p6doc
11:25 [ptc] hrm, something else missing.  Let me check
11:25 ab5tract_ loop { } until $condition; right?
11:26 [ptc] it's in the while {} until $condition
11:26 [ptc] ab5tract_: yup :-)
11:26 [ptc] you got in before me :-)
11:26 ShimmerFairy until is the unless of while, to put it tersely :)
11:26 ab5tract_ I personally don't think that's a strong enough reason for the cognitive dissonance
11:27 * [ptc] ponders the syntax: sleep until $Instant;  .... (not seriously though)
11:27 ab5tract_ but I guess I should learn to ignore all these annoying (to me) language things in core
11:28 ab5tract_ since I'm batting at exactly 0 so far
11:28 ShimmerFairy I think I would prefer 'sleep-until' in this case, it feels more expected
11:28 [ptc] ab5tract_: http://doc.perl6.org/language/contr​ol#repeat%2Fwhile%2C_repeat%2Funtil
11:28 [ptc] it just doesn't turn up in the search since it's a keyword (a known issue with the docs processing)
11:28 ab5tract_ ShimmerFairy: a +1 on the issue is always appreciated :)
11:29 ShimmerFairy (and because I spell 'til with just the one "l", and a prefixed apostrophe, so I'd write it as sleep'til probably :P)
11:29 ab5tract_ ShimmerFairy: :)
11:29 * [ptc] grins
11:30 ShimmerFairy ab5tract_: IIRC you have different opinions on naming things than I do, but in this case I agree. We ain't tilling anything, so why name it with the 'till' verb? :)
11:30 [ptc] how about: have-a-snooze-until-later ?
11:30 ShimmerFairy wake-me-up-at()
11:30 dalek joined #perl6
11:30 * [ptc] lacks too much sleep to provide sensible comments
11:30 ab5tract_ sleep-while-not-yet
11:31 [ptc] nap-until ?
11:31 cognominal seems safe to remove &capture_and_parcel in src/Perl/Actions.nqp. Passes make test.  https://github.com/rakudo/rakudo/pull/526
11:31 ShimmerFairy ab5tract_: I don't think "until" has a conflict issue between the keyword and sleep-until, because it both cases the word "until" is stood to mean "go until stop condition"
11:31 ShimmerFairy *in both cases
11:31 ab5tract_ this is the problem with having so many ops/keywords.. English doesn't have that many ways to write these things, and I don't see how we can get around it by randomly slang-fying things
11:31 ShimmerFairy *understood (gah!)
11:33 ab5tract_ sleep-whilst-not-yet
11:33 ab5tract_ (by which I mean, I hate this approach)
11:35 [ptc] maybe we need to go to a higher authority?
11:35 [ptc] s/go/defer/
11:35 cognominal not sure if SIG_ELEM_IS_PARCEL should be renamed SIG_ELEM_IS_LIST or SIG_ELEM_IS_SEQ
11:36 cschwenz_hackath how do i use http://docs.perl6.org/type/Match#method_hash ?   (could anyone here please give an example)
11:36 ab5tract_ Since I have the rare opportunity to try puppy dog eyes at TimToady, I'll schedule that for later today ;)
11:39 [ptc] ab5tract_: :-D
11:40 ShimmerFairy m: "123foo" ~~ /<digit>+ $<stuff>=[foo]/; say $/.hash.keys  # cschwenz_hackath
11:40 camelia rakudo-moar e6f360: OUTPUT«digit stuff␤»
11:40 smash masak: hello sir, do you have the slides for you talk somewhere already?
11:40 cschwenz_hackath ah, thanks ShimmerFairy!  :-)
11:40 ShimmerFairy cschwenz_hackath: no problem :)  also:
11:41 ShimmerFairy m: "12" ~~ /<digit> <.digit>/; say $/.hash.kv;
11:41 camelia rakudo-moar e6f360: OUTPUT«digit 「1」␤»
11:41 lizmat .tell TimToady https://github.com/rakudo/rakudo/pull/525 is what everybody is talking about
11:41 yoleaux lizmat: I'll pass your message to TimToady.
11:41 [ptc] smash: masak is somewhere in the air over Europe at present.  I recommend asking hime via .tell
11:42 [ptc] s/hime/him
11:42 ShimmerFairy that . lets you avoid capturing (which is why you always see <.ws> instead of <ws>). Capturing is avoided whenever the first character isn't alphanumeric, so <?foo> wouldn't capture either
11:42 smash [ptc]: roger that, thank you
11:43 smash .tell masak do you have the slides for you talk somewhere online? thank you
11:43 yoleaux smash: I'll pass your message to masak.
11:43 cschwenz_hackath ShimmerFairy++
11:43 laouji joined #perl6
11:45 lizmat mj41: just commented on https://github.com/tadzik/Bailador/issues/32
11:45 mj41 lizmat: ok, thx
11:47 [ptc] smash: np
11:48 [ptc] afk &
11:48 ShimmerFairy cschwenz_hackath: oh, one more thing: you can use hash subscripting to access named captures, so you don't need to use .hash unless you want all those named captures :)  (that is, $/<stuff>, which can be shortened to $<stuff>)
11:51 FROGGS TimToady: the problem seems to be this:
11:51 FROGGS - QAST::Regex(:rxtype(charrange) :subtype() (negated)) <-[\\c32..\\c126]>
11:51 FROGGS -
11:51 FROGGS - QAST::IVal(32)
11:51 FROGGS - QAST::IVal(126)
11:51 FROGGS several charrange ops have such an NQPMu child
11:52 skaji joined #perl6
11:54 xinming joined #perl6
11:55 FROGGS hmmm, though that does not trip up in nqp, even that NQPMu shows up there...
11:56 ShimmerFairy couldn't hurt to get rid of it anyway though, right? :)
11:58 FROGGS I, I think so too
11:59 skaji left #perl6
12:00 FROGGS ohh wait, that's not it :o(
12:01 dalek rakudo/nom: a47a9ef | lizmat++ | src/core/Temporal.pm:
12:01 dalek rakudo/nom: Coerce some in Temporal
12:01 dalek rakudo/nom:
12:01 dalek rakudo/nom: Inspired by https://github.com/rakudo/rakudo/pull/525, ab6stract++
12:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a47a9efc18
12:10 muraiki joined #perl6
12:14 dalek roast: 8a79f11 | lizmat++ | S29-context/sleep.t:
12:14 dalek roast: Add test for sleep-timer arg coercion
12:14 dalek roast: review: https://github.com/perl6/roast/commit/8a79f115fc
12:15 mj41 m: my %h = 11 => 61; %h = %h, 12 => 62; say %h.perl;
12:15 camelia rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>␤»
12:17 mj41 this is pre-glr, but on nom I got {"12" => 62}
12:18 mj41 lizmat: ^^^
12:18 ab5tract_ m: my %h = 11 => 61; %h = %h.kv, 12 => 62; say %h.perl;
12:18 camelia rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>␤»
12:19 lizmat note that camelia is still at lesst a few hundred commits behind
12:20 ab5tract_ mj41: not that your example shouldn't work as expected
12:20 lizmat $ 6 'my %h = 11 => 61; %h = |%h, 12 => 62; say %h.perl'
12:20 lizmat {"11" => 61, "12" => 62}
12:20 ab5tract_ but generally %h.push would be the way to go
12:20 laouji joined #perl6
12:20 lizmat the %h is not flattened
12:21 lizmat (anymore, post-glr)
12:21 lizmat that's the rule now
12:21 FROGGS ~$ perl6-m -e 'my %h = 11 => 61; %h = |%h, 12 => 62; say %h.perl'
12:21 FROGGS {"11" => 61, "12" => 62}
12:21 FROGGS mj41: ^^
12:22 mj41 ok, just asking to be sure that this part of https://github.com/mj41/Bailador/commit/​2e056ec07f205904d7fe86f9ffa9c63e244c688d is ok
12:22 laouji joined #perl6
12:23 lizmat $ 6 'my %h = a => 42; my @a = %h; my @b = %h, %h; dd @a, @b'
12:23 lizmat @a = [:a(42)]
12:23 lizmat @b = [{:a(42)}, {:a(42)}]
12:23 TimToady what is everyone talking about?
12:23 yoleaux 11:41Z <lizmat> TimToady: https://github.com/rakudo/rakudo/pull/525 is what everybody is talking about
12:23 lizmat mj42: in the first case, the %h was flattened because it was the only arg
12:24 lizmat in the second case, neither %h was flattened, because they were not just a single arg
12:25 ab5tract_ TimToady: I've been stirring the pot again :)
12:25 smash TimToady: now that perl 6 is annouced it's time to start thinking about the new dialect in the Perl family of languages ;-)
12:26 dayangkun joined #perl6
12:26 TimToady I've already been thinking about it for 15 years :P
12:26 ab5tract_ mj41: I would personally have written that as %ret.push: self.params('body')
12:27 smash TimToady: I propose a strogly typed, purely functional language, and to call it Perl 7 ;-)
12:27 ab5tract_ not sure why the assignment form was there in the first place, but tadzik++ is a smart cookie so...
12:28 ab5tract_ smash: you could write a Slang and call it NAAP -- Not At All Perl ;)
12:28 TimToady smash: you could just call it 'Paskell' :)
12:28 ab5tract_ lol
12:28 smash TimToady: that would be awesome, I like
12:29 TimToady or Hasperl
12:29 pink_mist Paskerl
12:30 smash also cool
12:31 smash ab5tract_: hehe, nice
12:31 ShimmerFairy TimToady: On a related note, I can't help but wonder what Perl 6.1 would look like. I'm of course more concerned with 6.0.0 atm, but it's still an interesting thing to consider.  :)  .oO(will we have Moar RFCs?)
12:32 laouji joined #perl6
12:33 ab5tract_ ah.. it was not written via .push because " # Dancer2 also mixes GET and POST params and overwrites the GET params by the POST params"
12:33 ab5tract_ which seems... odd.
12:34 * _itz reads scrollback and kills GLRelia for good
12:35 colomon joined #perl6
12:36 mj41 ab5tract: maybe, but I want to fix it without changing behaviour not ok 9 - echo with text
12:36 mj41 # Failed test 'echo with text'
12:36 mj41 # at t/01-route-existance.t line 23
12:36 mj41 # expected: [200, [:Content-Type("text/html")], "Echo3: foo-zorg-zorg-bar"]
12:36 mj41 #      got: [200, [:Content-Type("text/html")], "Echo3: foo-bar zorg-zorg-bar"]
12:36 ShimmerFairy _itz++ for setting it up though, turned out to be more than a temporary solution :)   .oO(itz been nice knowing 'er)
12:37 ab5tract_ mj41: indeed! I agree that fixing it makes more sense than changing it. There's a lot I would change about Bailador, enough that writing something different probably makes a lot more sense)
12:38 pink_mist who's in charge of getting camelia running GLR btw? :P
12:39 virtualsue joined #perl6
12:43 ab5tract_ pink_mist: well-volunteered ;)
12:43 pink_mist hah, as if I had access to upgrade camelia :P
12:44 laouji joined #perl6
12:45 _itz m: say (1,2).WHAT
12:45 camelia rakudo-moar e6f360: OUTPUT«(Parcel)␤»
12:45 _itz oh
12:45 lizmat m: say "a" ~~ / <![.]> /   # is this correct, sorta expected 「a」 here
12:45 camelia rakudo-moar e6f360: OUTPUT«「」␤»
12:46 TimToady huh, . is not a metachar there
12:47 TimToady you'd need - instead of ! to traverse a char
12:47 lizmat TimToady: that was the intent
12:47 lizmat anything that is not a literal period
12:47 TimToady ! is 0-width
12:47 Ven joined #perl6
12:47 lizmat we want to match anything that's *not* a literal '.'
12:48 Ven FROGGS: recompiled, spectesting now
12:48 TimToady m: say "a" ~~ / <-[.]> /
12:48 camelia rakudo-moar e6f360: OUTPUT«「a」␤»
12:48 TimToady then use -
12:48 FROGGS Ven: \o/
12:48 lizmat ah duh  :-)
12:48 _itz camelia is still running premerge?
12:48 lizmat TimToady++  :-)
12:48 pink_mist _itz: that's what all evidence points to
12:49 ab5tract_ pink_mist, _itz: IIUC, this is because nom is broken on JVM and this interferes with getting Camelia up to date
12:49 pink_mist ahhh
12:51 pink_mist _itz: maybe bring back GLRelia :P
12:52 _itz :)
12:52 ab5tract_ so... TimToady, any thoughts on sleep-until ?
12:53 ab5tract_ or should I have waited to ask until (hehe) I can flash a face of desperation in person? ;)
12:53 ab5tract_ s/desperation/puppy dog/
12:57 TimToady I'm fine with sleep-until as long as the types are tight enough to reject sleep-until($x == $y) and such
12:58 * pink_mist liked ShimmerFairy's sleep'til
12:58 ab5tract_ \o.
12:58 ab5tract_ \o/
12:58 Ven FROGGS: I can gist you a m-coretest
12:59 mauke sleep-till($brooklyn);
12:59 Ven FROGGS: https://gist.github.com/vend​ethiel/b9b5eaf1361f03efc576
12:59 ab5tract_ mauke: that's doing it all wrong :P
13:00 mauke sleep-while($brooklyn);
13:01 ab5tract_ m: True.Instant
13:01 camelia rakudo-moar e6f360: OUTPUT«Method 'Instant' not found for invocant of class 'Bool'␤  in block <unit> at /tmp/mbAfSmDygD:1␤␤»
13:01 pink_mist .oO( vende'til )
13:01 FROGGS Ven: can I get the output of: perl6-m t/04-nativecall/11-cpp.t
13:01 ab5tract_ m: False.Instant
13:01 camelia rakudo-moar e6f360: OUTPUT«Method 'Instant' not found for invocant of class 'Bool'␤  in block <unit> at /tmp/2tklCe_V0L:1␤␤»
13:01 ab5tract_ TimToady: so the existing coerce should be fine, right?
13:02 FROGGS ab5tract: you could also be more specific by turning it into Instant(Numeric) or so
13:02 Ven FROGGS: uh. Lookup by name of unknown REPR: CPPStruct. Something tells me that's not quite the kind of output you expected...
13:02 FROGGS Ven: aye
13:02 FROGGS Ven: means you did not rebuild nqp+rakudo after installing moar/cpp3
13:03 ab5tract_ FROGGS: I think it makes sense for it also transparently handle DateTime
13:03 cognominal lizmat, what do you think of https://github.com/rakudo/rakudo/pull/526?
13:03 ab5tract_ cognominal: didn't lizmat respond to that PR?
13:04 lizmat cognominal: I already commented on that
13:04 cognominal oops
13:04 Ven FROGGS: *sigh* I always expect --gen-moar to pull and.. gen moar
13:04 cognominal lizmat, that's a remark I made earlier
13:05 cognominal the said remark  http://irclog.perlgeek.de/p​erl6/2015-09-05#i_11173014
13:07 lizmat ah, I'm going to leave that up to jnthn
13:08 mj41 http://www.perl6.org/compilers/features up-to-date last change 7 months ago
13:08 cognominal thx, lizmat++
13:09 FROGGS Ven: --gen-moar checks the revisions, and I did not bump the nqp revision in rakudo
13:10 FROGGS :S
13:12 Ven joined #perl6
13:13 lizmat ab5tract_: are you working on adapting the PR for sleep-until ?
13:13 lizmat or shall I just do it ?
13:13 pink_mist http://design.perl6.org/S02.html#Native_types <-- hmm, what's the default value for a bool? I'd assume False, but I have no real clue
13:14 lizmat ab5tract_: also, why did you put the coercer for Instant in anyway?  Do you have a class with an Instant method ??
13:14 skids joined #perl6
13:15 ab5tract_ lizmat: sorry?
13:15 ab5tract_ m: DateTime.now.Instant
13:15 camelia rakudo-moar e6f360: ( no output )
13:15 ab5tract_ m: DateTime.now.Instant.say
13:15 camelia rakudo-moar e6f360: OUTPUT«Instant:1441458956.782095␤»
13:15 nine %FILETEST-HASH in src/core/IO.pm has no entry for "!s". Is this on purpose or a bug?
13:15 n0tjack joined #perl6
13:16 lizmat ab5tract: https://github.com/rakudo/rakudo/pull/525/fil​es#diff-2ae2877aad72a39ac3da638b840d05b8R724
13:16 ab5tract_ lizmat: I added that for the sake of DateTime, which seems like a perfectly reasonably argument for sleep-until ?
13:17 ShimmerFairy nine: maybe it has to do with the fact that .s doesn't return a boolean? That'd be my guess.
13:18 lizmat ab5tract_: gotcha
13:19 ab5tract_ lizmat: by adapting, do you mean removing the DEPRECATED?
13:19 lizmat ab5tract_: so shall I do the honours?
13:19 lizmat yes
13:19 ab5tract_ uno minuto :)
13:19 lizmat oki
13:21 lizmat I've added a test already, waiting for you
13:22 ab5tract_ lizmat: PR should have all the changes no
13:22 ab5tract_ *now
13:22 Ven joined #perl6
13:22 Ven FROGGS: Undefined symbols for architecture x86_64:  "_MVMCPPStruct_initialize", referenced from:      _MVM_repr_initialize_registry in reprs.o
13:22 mprelude joined #perl6
13:23 FROGGS huh, weird
13:23 ab5tract_ not sure if it conflicts with your push in between though?
13:23 FROGGS Ven: you reconfigured moarvm, right?
13:24 FROGGS Ven: if you just pulled and did 'make install', you might want to do --gen-moar=master --gen-nqp=master in rakudo instead
13:25 lizmat ab5tract_: yeah, it does...   will do it now, mention your PR and close it, ok ?
13:28 mj41 Charts from 15 years of Perl 6 updated https://github.com/mj41/Perl6-Analytics-resu​lts/blob/master/slides/mj41-brnopm-prev2.md
13:33 dalek rakudo/nom: 781c02c | lizmat++ | src/core/Temporal.pm:
13:33 dalek rakudo/nom: PR #525, ab5stract++
13:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/781c02cf4c
13:34 dalek roast: 42cf639 | lizmat++ | S29-context/sleep.t:
13:34 dalek roast: Handle s/sleep-till/sleep-until/ and test coercion
13:34 dalek roast:
13:34 dalek roast: ab5tract++
13:34 dalek roast: review: https://github.com/perl6/roast/commit/42cf639c70
13:40 timotimo flussence: do i see it correctly that there's not yet an RFC for interleaved message streams over websockets?
13:46 aborazmeh joined #perl6
13:46 aborazmeh joined #perl6
14:00 khw joined #perl6
14:04 cschwenz_YAPC joined #perl6
14:05 cschwenz_YAPC in perl6, how would you write a regex enumerated character class which matches any printable character except whitespace?
14:07 lizmat <[enumerated]-[\s]>
14:07 * garu waves and hugs everybody
14:08 jnthn afternoon, #perl6
14:08 timotimo o/
14:08 ShimmerFairy cschwenz_YAPC: for your specific case, there's \S (the opposite of \s, which matches a space of any kind). In general, you have a negated character class with  <-[stufhere]>
14:08 garu can I just say... **THANK YOU** for all the amazing work that everyone's been doing on Perl 6. I'm playing with it and it's just so much fun
14:08 ShimmerFairy (which is equivalent to the P5-y [^stufhere] )
14:09 lizmat garu o/
14:09 FROGGS_ joined #perl6
14:09 garu lizmat: \o
14:09 timotimo do we want something like "read a file into an 8bit Buf" vs "... 16bit Buf" vs "... 32bit Buf" vs "... 64bit Buf"?
14:09 timotimo slurp($filename, :bin(64))?
14:09 abaugher garu: Agreed. I'm having trouble figuring out what to do with it first, there are so many cool new things.
14:09 cschwenz_YAPC ahh, ShimmerFairy++ (again)  :-)
14:09 timotimo though that'll give us potential trouble if the size of the file isn't divisible by the entry size
14:10 lizmat timotimo: feels like a worthwhile addition
14:10 lizmat timotimo: in which case it should die die die
14:10 nine Where can I find the code that generates a Pair from a => 1 or :a(1) in contrast to 'a' => 1?
14:11 dalek rakudo/nom: c4cff9f | lizmat++ | src/core/Supply.pm:
14:11 dalek rakudo/nom: Remove deprecated Supply stuff
14:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c4cff9ff89
14:11 ShimmerFairy timotimo: Yeah, dieing seems the safest choice there (unless there were some sort of  :0pad  style option one could use to say they want padding)
14:11 ShimmerFairy with :0pad saying to pad the buf with zeroes, if that wasn't clear :)
14:11 timotimo die die die. hmm.
14:11 lizmat or not with :pad(0)  :-)
14:12 lizmat or just :pad with -1  :-)
14:12 timotimo as soon as we have that, though, we'll want endianness control, too
14:12 cschwenz_YAPC another regex question:  are regexes in perl6 greedy (like in perl5) or non-greedy?
14:12 lizmat timotimo: multi's as cheap  :-)
14:12 timotimo cschwenz_YAPC: you can decide for yourself, just like in perl5
14:12 lizmat are they not ?
14:13 ShimmerFairy timotimo: I've been drafting my ideas on binary grammars, and endianness is interesting (I've gone with going on "written order" for binary grammars)
14:13 timotimo cschwenz_YAPC: but greedy vs non-greedy is about quantifiers "only"
14:13 cschwenz_YAPC so, <[asdf]>+ is greedy and <[asdf]>+? is non-greedy?
14:13 timotimo that's correct
14:13 timotimo the opposite of greedy is often called "frugal"
14:13 ShimmerFairy m: say "aaaba" ~~ /a+ b/
14:13 camelia rakudo-moar e6f360: OUTPUT«「aaab」␤»
14:13 ShimmerFairy I didn't think that through, +? wouldn't change things there :P
14:14 timotimo yeah
14:14 cschwenz_YAPC ah, okay.  enough has changed in perl6 that i'm not sure what will and will not work.
14:14 timotimo m: say "aaaba" ~~ /a+ b?/
14:14 camelia rakudo-moar e6f360: OUTPUT«「aaab」␤»
14:14 timotimo m: say "aaaba" ~~ /a+? b?/
14:14 camelia rakudo-moar e6f360: OUTPUT«「a」␤»
14:14 dalek rakudo/gmr: 5af3079 | (Stefan Seifert)++ | / (22 files):
14:14 dalek rakudo/gmr: Rename EnumMap to Map
14:14 dalek rakudo/gmr:
14:14 dalek rakudo/gmr: Suggested by jnthn++
14:14 dalek rakudo/gmr: review: https://github.com/rakudo/rakudo/commit/5af30794b9
14:14 dalek rakudo/gmr: bd2a29e | (Stefan Seifert)++ | / (17 files):
14:14 dalek rakudo/gmr: Merge Enum into Pair
14:14 dalek rakudo/gmr:
14:14 dalek rakudo/gmr: This should reduce the confusion around enum, Enum an Enumeration.
14:14 dalek rakudo/gmr: Pair now implements shallow immutability like List. Pairs themselves are
14:14 dalek rakudo/gmr: immutable, but containers used as values can be assigned to.
14:14 dalek rakudo/gmr: review: https://github.com/rakudo/rakudo/commit/bd2a29e957
14:14 timotimo cschwenz_YAPC: a good heuristic is: "was it shitty?" if yes, it has probably been changed :D
14:14 ShimmerFairy m: say "aaaa" ~~ /(a*) $<foo>=(a+)/
14:14 camelia rakudo-moar e6f360: OUTPUT«「aaaa」␤ 0 => 「aaa」␤ foo => 「a」␤»
14:14 ShimmerFairy m: say "aaaa" ~~ /(a*?) $<foo>=(a+)/
14:14 camelia rakudo-moar e6f360: OUTPUT«「aaaa」␤ 0 => 「」␤ foo => 「aaaa」␤»
14:15 nine Public service announcement: the gmr branch implements the "Great Map Refactor" as suggested at http://postcircumfix.com/2015-08-29-untan​gling-the-perl-6-hashpair-type-hierarchy
14:15 timotimo cool
14:15 lizmat nine++ # as always
14:16 nine Though only a couple of days old the blog post seems to be outdated in some places. For example, I cannot find any evidence of Hashes doing Positional
14:16 flussence timotimo: afaik, websockets work on a 1-connection-per-stream basis, but people tend to layer hacks on top to support that kind of thing
14:17 timotimo flussence: the RFC explicitly states that there can be an extension that does multiplexing
14:17 timotimo but you can't really write an extension for websockets in javascript and have the browser use it
14:17 nine But renaming EnumMap and merging Enum and Pair makes very much sense as far as I can tell
14:17 jnthn timotimo: You probably just pass the type of buf you want
14:18 timotimo jnthn: okay, and then slurp decides by the element size how many bits it noms into a single slot?
14:18 timotimo or ... it doesn't concern itself with slots at all
14:18 timotimo and just read()'s the data into the array memory
14:19 smash [ptc]: have you used Template6 recently?
14:19 jnthn timotimo: Well, you can get the size from the type that is passed
14:20 timotimo right. slurp will want to set the correct number of elements so that the buf object can properly resize itself
14:21 flussence timotimo: people seem to use the socket.io library for that, it emulates multiplexing in "userspace" on client/server. It's a slang, basically. The websocket RFC specs a way to negotiate that kind of extension at connect-time which I think is what they're getting at.
14:21 timotimo jnthn: how do you feel about letting users rebless a VMArray of natives ints into a VMArray of a different size of native ints? (only if the numbers are compatible, of course)
14:21 jnthn timotimo: Would ratehr not
14:21 timotimo jnthn: some other operation to achieve the same effect?
14:21 jnthn timotimo: I'm trying to make VMArray's guts less mutable, not more.
14:21 timotimo fair enough
14:21 jnthn timotimo: Let's just create a correct size buffer in the first place :)
14:21 jnthn (On the "why less mutable", because thread safety)
14:22 timotimo sure
14:22 * timotimo is currently implementing a tiny bit of websockets
14:22 timotimo flussence: do you already have some code up that i could have a look at?
14:23 vendethiel FROGGS_: doing that now that I got some charge
14:23 flussence I've got a mess but there's half a file here I was hacking on, one sec...
14:24 timotimo i'd be most interested in a few tests to run my frame decoding stuff against
14:24 flussence yeah, that's the part I gave up at :(
14:25 flussence I'd started on length decoding and that's about it
14:26 timotimo let me show you what i've got so far
14:26 timotimo https://gist.github.com/timo/8a08025ae983feae80aa
14:26 timotimo (now with syntax highlightin)
14:27 flussence oh, that looks familiar... you're slightly ahead of me :)
14:27 timotimo i've been working terribly slowly
14:28 timotimo much distracted, very headache
14:28 flussence https://github.com/flussence/WebSockets take anything you find useful, I know it's not much
14:30 timotimo mhm
14:30 timotimo i'll be taking your encode-payload-length for sure
14:30 flussence \o/
14:30 timotimo the RFC has a few example bufs that mean something; i'll probably put them into a short test sub
14:31 timotimo o  A single-frame unmasked text message
14:31 timotimo *  0x81 0x05 0x48 0x65 0x6c 0x6c 0x6f (contains "Hello")
14:32 brrt joined #perl6
14:32 timotimo hm.
14:32 timotimo can i perhaps ask you to contribute a tiny amount of code? :)
14:32 flussence sure thing
14:32 timotimo cool
14:32 timotimo because i'll be AFK for a bit
14:33 timotimo anything you'd like to do? the next thing i'd be doing is track a bit of state inside the websocket class
14:33 flussence I guess I could pull examples out of the spec and turn them into tests
14:33 timotimo that'd be nice, but there's not really wiring set up yet to put data into the test method
14:34 timotimo i'll go ahead and put this into a proper git repository up on github and make you a contributor
14:34 nine Ah, it _is_ make_pair
14:35 kaare_ joined #perl6
14:35 flussence I've tried this approach with other RFC-based code, getting the stuff out of the spec is long and tedious compared to the part where you do something with it :)
14:36 Ven joined #perl6
14:36 Ven FROGGS: test #18: Cannot locate symbol '_ZN8Derived214All_The_ThingsEcsilfd' in native library './11-cpp.dylib'
14:36 timotimo https://github.com/timo/perl6-websocket <- flussence
14:36 timotimo thank you for helping me out :)
14:37 flussence no problem :)
14:37 dalek joined #perl6
14:40 nine m: say (:a(1) :b(2)).perl;
14:40 camelia rakudo-moar e6f360: OUTPUT«(:a(1), :b(2))␤»
14:42 aborazmeh joined #perl6
14:42 aborazmeh joined #perl6
14:43 FROGGS_ Ven: can I get the entire output of test 11-cpp.t and 13-cpp...?
14:44 jnthn m: sub a(@x) { say @x.perl }; a << a b >>
14:44 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ceAd611xY5␤Calling a(Str, Str) will never work with declared signature (@x)␤at /tmp/ceAd611xY5:1␤------> 3sub a(@x) { say @x.perl }; 7⏏5a << a b >>␤»
14:44 jnthn m: say Seq
14:44 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X3fSlotgQI␤Undeclared name:␤    Seq used at line 1. Did you mean 'Set'?␤␤»
14:44 jnthn Ah, that'n ain't a GLR regression
14:44 FROGGS garu: \o/
14:44 FROGGS garu: have fun in here, and let us know if you have questions :o)
14:47 Ven FROGGS: https://gist.github.com/vend​ethiel/48c875fa0e35d66b53c4
14:49 dalek rakudo/gmr: 1db79d4 | (Stefan Seifert)++ | src/Perl6/Actions.nqp:
14:49 dalek rakudo/gmr: Make :a($i) and a => $i mutable like 'a' => $i
14:49 dalek rakudo/gmr: review: https://github.com/rakudo/rakudo/commit/1db79d44a2
14:49 FROGGS Ven: can you also gist the output of `nm 11-cpp.dylib; nm 13-cpp-mangling.dylib`?
14:49 brrt \o #perl6
14:49 FROGGS hi brrt
14:49 brrt i have a bit twiddling question
14:49 brrt hi FROGGS
14:49 cschwenz_YAPC p6: my %foo = bar => {}; my %baz = %{%foo{"bar"}};
14:49 * jnthn spectest a fix for RT #125995
14:49 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Unsupported use of %{%foo{"bar"}; in Perl 6 please use %(%foo{"bar")␤at /tmp/tmpfile:1␤------> 3foo = bar => {}; my %baz = %{%foo{"bar"}7⏏5};␤»
14:50 cschwenz_YAPC ^^^ typo in error message
14:50 cschwenz_YAPC should read "please use %(%foo{"bar"}) at"
14:50 FROGGS ohh
14:51 mauke the other one has { { }
14:52 lizmat jnthn: camelia is still pre glr merge
14:52 nine lizmat: oh, why's that?
14:52 jnthn lizmat: Yes, was asserting that with my Seq test :)
14:52 lizmat because the jvm build is broken and somehow they're tied
14:53 jnthn lizmat: The bug I've fixing existed pre and post GLR
14:53 lizmat ah, misread the error message
14:53 jnthn m: use Test; sub a(*@a) { @a.elems }; my $res = a << a b >>; is $res, 1, '<< a b >> does not accidentally flatten into arg list';
14:53 camelia rakudo-moar e6f360: OUTPUT«not ok 1 - << a b >> does not accidentally flatten into arg list␤␤# Failed test '<< a b >> does not accidentally flatten into arg list'␤# at /tmp/EeU8UNVl8p line 1␤# expected: '1'␤#      got: '2'␤»
14:53 lizmat jnthn: we just didn't notice before because of flattening
14:53 Ven FROGGS: https://gist.github.com/vend​ethiel/03c11f217dcb0ec58599
14:53 jnthn oops, I got the test wrong
14:54 jnthn m: use Test; sub a(**@a) { @a.elems }; my $res = a << a b >>; is $res, 1, '<< a b >> does not accidentally flatten into arg list';
14:54 camelia rakudo-moar e6f360: OUTPUT«not ok 1 - << a b >> does not accidentally flatten into arg list␤␤# Failed test '<< a b >> does not accidentally flatten into arg list'␤# at /tmp/rVJxAo4oX3 line 1␤# expected: '1'␤#      got: '2'␤»
14:54 jnthn Good, that's what I wanted.
14:54 brrt how does one get a binary NOT in rakudo
14:54 brrt m: say ~1
14:54 camelia rakudo-moar e6f360: OUTPUT«1␤»
14:54 brrt does obviously not do the c-like thing
14:54 brrt m: say +~1
14:54 camelia rakudo-moar e6f360: OUTPUT«1␤»
14:54 flussence m: +^1
14:55 camelia rakudo-moar e6f360: OUTPUT«WARNINGS:␤Useless use of "+^" in expression "+^1" in sink context (line 1)␤»
14:55 brrt hmmm
14:55 brrt but ^ is XOR
14:55 pink_mist brrt: ~ in unary context makes it into a string
14:55 lizmat m: say ?1
14:55 camelia joined #perl6
14:55 lizmat m: say ?1
14:55 brrt m: say +^1
14:55 ShimmerFairy lizmat: in case you didn't see it, I pushed my 'allomorphs' branch earlier :) . Tomorrow I'll plan on merging it into nom, but it'd be nice to hear if the speed issue remains for others (I see my optimizations take the null program from .343s to .242s, pre-glr was .226s)
14:56 ShimmerFairy brrt: the idea is that bit inversion is just XORing against a series of 1s
14:56 lizmat that's still a 10% hit  :-(
14:56 camelia rakudo-moar e6f360: OUTPUT«True␤»
14:56 camelia rakudo-moar e6f360: OUTPUT«-2␤»
14:56 jnthn +^ I think
14:56 brrt hmm
14:57 brrt ok, then i have another question
14:57 ShimmerFairy lizmat: and the sorting line I used for testing went from 90s to around 10s (which is twice as bad as the control's 5s, but still much better)
14:57 jnthn ShimmerFairy: I'm quite disappointed you wrote japhb++'s carefully considered and optimized code.
14:57 jnthn *rewrote
14:57 brrt aside from the fact that the rakudo codebase doesn't use the bnot_i moarvm provides
14:58 brrt in case of a bigint, how do we even define it's binary negation
14:58 jnthn ShimmerFairy: I'd really rather you just go back and figure out how to make that do allomorphs instead.
14:58 jdv79 is the version string prefix of v required?
14:58 brrt because a bigint extends poteintially forever
14:58 brrt m: say 2**100;
14:58 camelia rakudo-moar e6f360: OUTPUT«1267650600228229401496703205376␤»
14:58 jnthn ShimmerFairy: Which, since it's mostly just constructing a different type, should give us the same cost.
14:58 flussence m: say my int32 $ = 1 + int32.Range.max
14:58 camelia rakudo-moar e6f360: OUTPUT«2147483648␤»
14:58 brrt m: say +^ 2**100;
14:58 camelia rakudo-moar e6f360: OUTPUT«-1267650600228229401496703205377␤»
14:58 FROGGS Ven: interesting... so it is "_ZN3Foo9TakeAVoidEv" vs "__ZN3Foo9TakeAVoidEv"
14:59 jnthn ShimmerFairy: If you'd like me to accept your re-write and a slowdown, I need a much better reason than "figuring out the existing code was hard"
14:59 ShimmerFairy jnthn: yeah, I was thinking about that. Like I said in backlog, I was more excited about writing a mini-parser than understanding the existing code. (And I still think it'd be cool if we could switch to grammars in core someday ☺)
14:59 brrt that's... just negating and subtracting one
14:59 pink_mist brrt: that's 2's complement or something isn't it?
14:59 jnthn ShimmerFairy: Well, *ideally* we'd just call into Rakudo's own grammar for it...
14:59 jnthn ShimmerFairy: e.g. the <value> rule
14:59 brrt hmm yeah
14:59 brrt i can see how that works out
14:59 brrt conceptually, at least
14:59 ShimmerFairy jnthn: that was my other thought, making use of $~MAIN if/when it's usable enough for that (I'm not sure on that)
15:00 jnthn ShimmerFairy: Well, it'd mean .Numeric and val would automatically respect slangs that extend value I guess
15:00 FROGGS Ven: the other symbol also just has an additional underscore at front... I wonder if this is about visibility, and the defaults of symbol visibility of linux vs osx
15:00 jnthn ShimmerFairy: Granted it's non-trivial to make that work out
15:00 vendethiel FROGGS: no clue :(. I never looked at this, honestly
15:01 FROGGS vendethiel: sure, nobody does usually :o)
15:01 FROGGS vendethiel: but I'll find out, now that I got the wanted output
15:01 FROGGS vendethiel: thank you :o)
15:01 jdv79 i'll assume yes since "use 6" fails
15:01 ShimmerFairy jnthn: the only major change I'd have to make to japhb's code is that what val() covers isn't the same as what Str.Numeric does (there's a passing mention of Versions and enums), but even my code doesn't do that yet.
15:02 ambs joined #perl6
15:02 jnthn ShimmerFairy: BTW, did you try using the profiler (--profile-compile -e "") to figure out where the slowdown at startup is?
15:02 jnthn It'll probably give a pretty good hint.
15:03 ShimmerFairy jnthn: no, I did use --profile though, which showed me the sorting line I tested on ( 0.^methods.sort ) was slowed down by calls to the warning mechanism using a bunch of <> key lookups, so the slowdown added up in there
15:03 ShimmerFairy jnthn: does --profile replace that kcachegrind stuff I played with once a while back? The HTML output is pretty nifty anyway :)
15:03 jnthn ah
15:04 jnthn ShimmerFairy: The kcachegrind stuff was from Parrot, iirc.
15:04 ShimmerFairy Really? I used it fairly recently (definitely after Parrot... I think?). So huh.
15:04 jnthn ShimmerFairy: We've never got MoarVM to spit out that format; everyone has a browser so spitting out HTML and writing a web-app to browse the results seemed easier.
15:05 jnthn Well, of course we still use cachegrind, but for VM-level profiling.
15:05 FROGGS ShimmerFairy: I know the file spat out by --profile was on parrot backend
15:05 jnthn So maybe it was that.
15:05 jnthn Method 'devnull' not found for invocant of class 'IO::Spec' in block <unit> at t\spec\S32-io\io-spec-win.t:299
15:05 jnthn Does anybody know about ^^?
15:06 ShimmerFairy jnthn: I'll definitely put japhb++ 's code back in tomorrow (getting late for me tonight). I'd have to optimize my version down quite a bit to get it working without issue, and I get the feeling there are better uses of my time in this area than that :)
15:06 FROGGS jnthn: no idea
15:06 dalek rakudo/nom: a395666 | jnthn++ | src/Perl6/Actions.nqp:
15:06 dalek rakudo/nom: Stop << a b >> flattening into an arg list.
15:06 dalek rakudo/nom:
15:06 dalek rakudo/nom: Fixes RT #125995.
15:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a395666436
15:06 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125995
15:06 jnthn ShimmerFairy++
15:06 jnthn ShimmerFairy: Yeah, that's probably the most efficient way to go
15:07 FROGGS jnthn: ohh, IO::Spec.devnull was deprecated and potentially removed
15:07 jnthn FROGGS: ah
15:07 ShimmerFairy jnthn: I think when I started writing val() I wasn't aware just how much Str.Numeric was already val(), and that's why I decided to go write my own.
15:07 jdv79 ok, pause bungle probably fixed now.
15:07 FROGGS jnthn: should be $*SPEC.devnull or so
15:07 jnthn ShimmerFairy: Sometimes the only way to find out how gnarly a problem is is to try solving it :)
15:07 tadzik computer, messages?
15:08 brrt computer says no
15:08 FROGGS tadzik: :D
15:08 dalek roast: 87f9d89 | jnthn++ | S02-literals/quoting.t:
15:08 dalek roast: Test for RT #125995.
15:08 dalek roast: review: https://github.com/perl6/roast/commit/87f9d89f81
15:08 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125995
15:08 tadzik heh, community bugreporteth, community fixeth away
15:10 ShimmerFairy jnthn: Yeah, I've had that happen plenty o' times :) . By the way, about those passing mentions of stuff val() might do: VersionStr doesn't seem too much different, at least on the surface, but could there be any sane way to do an EnumStr ?
15:11 nine I don't get it. How can a colon pair chain like :a(1) :b(2) lead to a "Default constructor for 'Pair' only takes named arguments" when Pair does have a method new that takes positionals?
15:11 jnthn ShimmerFairy: EnumStr sounds...odd-ish
15:11 jnthn ShimmerFairy: TimToady++ might have had something in mind
15:12 rindolf joined #perl6
15:12 ShimmerFairy jnthn: that's not mentioned in the spec, but that's what I've extrapolated based on what val() does so far :)  val() does seem to want to understand Bool::True and the like, at least
15:12 dalek rakudo/nom: 891d9ad | lizmat++ | src/core/ (4 files):
15:12 dalek rakudo/nom: Remove some more Supply/async related deprecations
15:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/891d9adb31
15:12 lizmat nine: :D ?
15:13 lizmat m: class A { multi method new(A:D: $a) { } }; A.new(25)
15:13 camelia rakudo-moar e6f360: OUTPUT«Default constructor for 'A' only takes named arguments␤  in block <unit> at /tmp/CFdmmo2gdX:1␤␤»
15:13 nine lizmat: I added a multi method new($key, Mu \value) to Pair.pm and it works just like it should, except for this weird :a(1) b(2) case (without comma)
15:13 lizmat m: class A { multi method new(A: $a) { } }; A.new(25)
15:13 camelia rakudo-moar e6f360: ( no output )
15:14 lizmat nine: perhaps you need to add the type of self to the sig
15:14 lizmat multi method new(Pair ... )  ??
15:15 flussence some repl-screwiness I just encountered:
15:15 flussence ~ $ perl6␤ > my uint32 $ = 1;␤ 1␤ > my uint32 $ = 1;␤ Unhandled lexical type in lexprimspec for '$ANON_VAR__1'␤
15:15 lizmat nine: multi method new(Pair: ... )  # oops, with the colon
15:15 nine lizmat: multi method new(Pair: $key, Mu \value)?
15:15 lizmat yes?
15:15 nine compiling
15:16 nine got time for this one shot before I have to exit the tram
15:16 nine nope :(
15:16 lizmat because without it, even though it lives in Pair.pm, the sig would be (Any: $key, Mu \value )
15:16 lizmat jnthn: or am I wrong ?
15:17 * jnthn writes a hopefully helpful answer/rejection to https://rt.perl.org/Ticket/Display.html?id=126000
15:18 jnthn lizmat: lemme backlog a bit :)
15:19 TimToady from a first quick pass, we're failing about 1/4 of rosettacode entries currently
15:19 jnthn nine: Can you show me the code that fails to do what you expect?
15:20 jnthn TimToady: From reading https://rt.perl.org/Ticket/Display.html?id=125927 I think the NFG algo will have to be tweaked; my "simplest possible extension of NFC" is a bit too simple :/
15:20 zakharyas joined #perl6
15:20 jnthn TimToady: But also if I do fix that I think we'll end up with \r\n being a single grapheme under NFG
15:20 jnthn TimToady: At least, if I do the other most likely correct thing :)
15:20 lizmat jnthn: I think that would be excellent, really
15:20 jnthn TimToady: Does that strike you as problematic?
15:21 jnthn lizmat: Note that this synthetic would not automatically be equal to \n :)
15:21 lizmat ah...  :-(
15:21 jnthn s/automatically// :)
15:21 lizmat but why not ?
15:21 jnthn Why would it be?
15:21 nine jnthn: walking homebfrom tram right now. Failure is due to latest commit in gmr branch. Reproduce: (:a(1) :b(2))
15:21 lizmat to make checking for newlines system independent ?
15:22 lizmat you could use \n in your strings
15:22 jnthn lizmat: That's perhaps a bit too much magic...or the wrong place to do it
15:22 lizmat and it would write out \r\n on Win systems
15:22 lizmat and \n on others
15:22 TimToady I though the UC defined \r\n as a grapheme already
15:22 ShimmerFairy lizmat: it does mean that you can't find a regex pointing in the middle of a \r\n , among other niceties
15:22 lizmat and perhaps \r on old Apples
15:22 jnthn TimToady: Seems so...
15:23 TimToady it wouldn't be equal to \n, but /\n/ could still match it
15:23 ShimmerFairy jnthn: could this possibly be a bug with the Unicode data, and not a rakudobug? Or does this bug hint at deeper problems in the algorithm?
15:23 TimToady the only real difficulty is trying to translate files from other systems
15:24 jnthn ShimmerFairy: Well, my algo was based on Canonical_Combining_Order
15:24 jnthn ShimmerFairy: Which is how NFC is defined
15:24 FROGGS TimToady / jnthn: my gut feeling is that the jvm breakage is about SLURPY_LOL param handling...
15:25 TimToady probably, I worked around one of 'em with |values, but there's probably more
15:25 FROGGS which might had a bug since forever, and is just discovered nowadays
15:25 FROGGS TimToady: I replaced all of them but the NQPMu.as_jast blowup does not go away
15:25 TimToady I thought it was just a .jast
15:25 * ShimmerFairy should read more on how Unicode itself talks about grapheme clusters sometime :)
15:26 FROGGS ahh, true
15:26 FROGGS I tried bisecting it but that was not very enlightening either
15:27 jnthn The NQPMu.as_jast can occasionally be a non-mapped op...
15:27 FROGGS hmmm
15:28 jnthn Were the with/without ops ported to JVM? Could that be it? Do we know it was since GLR?
15:29 dalek roast: ac7fc16 | lizmat++ | S02-literals/quoting.t:
15:29 dalek roast: Fix the last victim of 17411ef9f20215f5c2f38
15:29 dalek roast: review: https://github.com/perl6/roast/commit/ac7fc160c8
15:29 jnthn m: say 't' ~~ /<{'a'...'z'}>/
15:29 camelia rakudo-moar e6f360: OUTPUT«「t」␤»
15:30 * jnthn will work on unregressing this one
15:31 El_Che jnthn: great slides you put out there
15:32 jnthn El_Che: Which ones? :)
15:32 jnthn El_Che: But thanks, whichever ones you enjoyed :)
15:32 ugexe i think jvm stopped building around aug 3rd from what i can see in my travis tests
15:35 El_Che jnthn: http://jnthn.net/papers/2015-spw-perl6-course.pdf
15:35 El_Che that one
15:35 jnthn aha :)
15:35 El_Che a good pilot episode :)
15:35 ugexe ah i take that back, it started compiling again later on. but the error on aug 3rd was the NQPmu thing
15:35 El_Che now I'm waiting for the "why you *really* want to use perl6 now that you know the basics" :)
15:36 dakkar joined #perl6
15:37 dakkar jnthn: hello!
15:37 yoleaux 3 Mar 2015 23:29Z <Ulti> dakkar: re: http://irclog.perlgeek.de/p​erl6/2015-03-03#i_10215189 is this the sort of thing you wanted? sub foo(@list where Int ~~ all(@list.map({.WHAT}))) { say "YAY" }
15:37 yoleaux 3 Mar 2015 23:37Z <Ulti> dakkar: or maybe a bit simpler and efficient sub foo(@list where @list.grep({.WHAT !~~ Int}).elems == 0) { say "YAY"}
15:38 dakkar jnthn: I suspect that I should have explained my use case for eqv a bit more in depth
15:38 FROGGS bbi1h # will then look into ops
15:39 jdv79 moritz: do you maintain the syn highlighting for pygments?
15:39 dakkar I was using Test::is-deeply to check that a data structure returned by something I'm writing is correct
15:39 dakkar is-deeply calls eqv
15:39 dakkar my data structure contains IO::Path objects
15:39 jnthn dakkar: Ah, is-deeply maybe should be using the CALLER's eqv
15:40 lizmat .oO( maybe we should have a PREGLRia soon :-)
15:40 dakkar maybe
15:41 lizmat .oO( or eqv should do a dynamic lookup )
15:41 dakkar but, as jnthn commented on the RT, that argument can be extended to all the multis
15:42 dakkar thing is, if I import/define a new multi candidate, my code will use it
15:42 dakkar but any other code I call won't
15:42 dakkar (if it was defined elsewhere)
15:42 dalek nqp: da1c95d | timotimo++ | src/QAST/Var.nqp:
15:42 dalek nqp: don't display :decl() in qast dumps
15:42 dalek nqp: review: https://github.com/perl6/nqp/commit/da1c95d85c
15:42 ugexe star: say "very preglria"
15:42 camelia star-m 2015.03: OUTPUT«very preglria␤»
15:43 dakkar and I'm probably thinking about multis the wrong way…
15:43 jnthn dakkar: Well, lexical scoping does come with these kinds of trade-offs...
15:43 dakkar very true
15:44 jnthn fwiw, you can also make packages lexical in Perl 6 too, such that the visibility of a type is also the places it's lexically imported.
15:44 jnthn It wouldn't surprise me if that's a best practice in a decade...
15:45 timotimo oh btw, if we want one-liners to be non-strict by default, we may want to look into the performance of our-scoped variables a bit more
15:45 cognominal joined #perl6
15:45 dakkar "visibily of a type"? what happens if I pass an object of such a type into code that does not import it?
15:46 jnthn That'll work, and of course you can get the type object with .WHAT; you just don't have the type name in scope
15:46 dakkar I thought that was the current behaviour
15:46 ShimmerFairy timotimo: we don't, for the most part :)
15:46 jnthn m: { class Foo { } }; say Foo
15:46 camelia rakudo-moar e6f360: OUTPUT«(Foo)␤»
15:46 jnthn m: { my class Foo { } }; say Foo
15:46 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dLdDBO2Gux␤Undeclared name:␤    Foo used at line 1␤␤»
15:46 jnthn Packages are our-scoped by default
15:47 dakkar which implies that I don't know what "our-scoped" means
15:47 jnthn Does "package-scoped" help?
15:47 dakkar yes
15:48 dakkar ("our" in perl5 is weird)
15:48 dalek roast: e0dda18 | lizmat++ | S (2 files):
15:48 dalek roast: Fix 2 skip_rest deprecations
15:48 dalek roast: review: https://github.com/perl6/roast/commit/e0dda18690
15:48 dakkar ok, now I see the difference
15:48 dalek rakudo/nom: 37118f1 | jnthn++ | src/core/Cursor.pm:
15:48 dalek rakudo/nom: Un-bust 't' ~~ /<{'a'...'z'}>/ post-GLR.
15:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/37118f1937
15:49 abaugher joined #perl6
15:49 FROGGS jnthn: with/without arn't ops afaics
15:49 TimToady the statement control versions are
15:49 RabidGravy I think of it as allowing "class B { class C { } }; B::C.new" work nicely ;-)_
15:50 dalek rakudo/nom: ea295e3 | lizmat++ | lib/Test.pm:
15:50 dalek rakudo/nom: Remove deprecations from Test.pm
15:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ea295e3657
15:51 dalek roast: eab6cac | jnthn++ | S05-metasyntax/interpolating-closure.t:
15:51 dalek roast: Test for RT #125973.
15:51 dalek roast: review: https://github.com/perl6/roast/commit/eab6cac238
15:51 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125973
15:51 lizmat m: class B { class C { } }; B::C.new.WHAT.say   # minor nit, RabidGravy
15:51 camelia rakudo-moar e6f360: OUTPUT«(C)␤»
15:51 RabidGravy yaw
15:52 TimToady there are several uses of with/without in core
15:53 TimToady including statement controls
15:54 jnthn TimToady: Were there new nqp::ops?
15:54 jnthn iirc yes...but my brane is a bit hazy :)
15:54 timotimo only desugars, iirc
15:54 timotimo or rather, things added to the compiler object
15:54 timotimo the ones that take the compiler and the operation and build mast and stuff from that
15:54 jnthn Desugars may need adding per-backend dependong on where they're added
15:54 Ven joined #perl6
15:55 TimToady ./src/vm/moar/QAST/QASTOperationsMAST.nqp:        my $is_withy := $op_name eq 'with' || $op_name eq 'without';
15:55 TimToady ./src/vm/jvm/QAST/Compiler.nqp:    my $is_withy := $op_name eq 'with' || $op_name eq 'without';
15:55 FROGGS[mobile] joined #perl6
15:55 * timotimo hits the dependgong
15:56 RabidGravy BONG
15:56 TimToady we was gonna work on the with/without code at SPW, but that didn't happen
15:56 jnthn oops, yes
15:56 jnthn Why are hackathons so short... :)
15:57 Ven because great things die early
16:03 lizmat should I revert the with/without in core ?
16:03 lizmat for the time being ?
16:03 jnthn lizmat: I don't think we know that's to blame yet
16:03 lizmat lemme check
16:04 jnthn lizmat: Given TimToady++ just showed there's code for it in JVM too
16:04 lizmat ah
16:06 dalek roast: 1776c94 | jnthn++ | S32-exceptions/misc.t:
16:06 dalek roast: Tests for RT #125812.
16:06 dalek roast: review: https://github.com/perl6/roast/commit/1776c946e7
16:06 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=125812
16:06 dalek rakudo/nom: 876eb48 | jnthn++ | src/Perl6/Grammar.nqp:
16:06 dalek rakudo/nom: Better errors for with(1){}/without(1){}.
16:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/876eb48b3d
16:06 jnthn lizmat: Could still be the issue of course...so worth checking
16:07 lizmat I think it's basically 42e19ee5be55d7e3d4d47
16:08 lizmat jnthn: re 876eb48, maybe "whenever" and "react" and "supply" should be added to that list as well ?
16:08 lizmat and "start" ?
16:08 TimToady I didn't do the jvm with/without
16:09 TimToady looks like hoelzro did it
16:09 moritz m: for <a b c> -> $x { LAST say $x }
16:09 camelia rakudo-moar e6f360: OUTPUT«(Mu)␤»
16:09 moritz m: for <a b c> -> $x { LAST { say $x } }
16:09 camelia rakudo-moar e6f360: OUTPUT«c␤»
16:10 moritz is this a known bug?
16:10 TimToady I dunno, moar uses $is_withy in 2 places, while jvm uses it in 1, so maybe there's a problem there
16:10 jnthn lizmat: Feel free :)
16:10 jnthn moritz: I didn't know about it :)
16:11 TimToady hmm, jvm is calling isconcrete, not .defined
16:11 TimToady that's probably not gonna work right with Failures
16:12 TimToady I suppose the 1 place instead of 2 places is because moarvm has to have a temporary, while jvm can keep it on the stack?
16:13 TimToady in any case, it's not simply that it's unimplemented
16:13 moritz don't we have a builtin function that takes $N elements, skips $k, takes $N again etc?
16:13 moritz or List method
16:13 moritz if yes, what's that method called?
16:13 TimToady .rotor?
16:13 moritz ah yes
16:14 jnthn TimToady: Possibly
16:14 jnthn Hm, think those few patches are what energy I have for today. Back to resting... o/
16:15 TimToady take care o' yerself
16:15 jnthn Thanks :)
16:18 spider-mario joined #perl6
16:22 timotimo good rest, jnthn!
16:24 AlexDaniel joined #perl6
16:29 timotimo ah
16:29 timotimo turns out we have a $flattened flag in the optimizer that ends up never being set to 1
16:30 dalek rakudo/nom: 8da5c45 | lizmat++ | src/Perl6/Grammar.nqp:
16:30 dalek rakudo/nom: Better errors for supply/whenever/react(1){}
16:30 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8da5c45c08
16:31 lizmat so we're not optimizing ?
16:32 timotimo flattening an inner block is supposed to make an outer block more likely to be flattenable itself
16:33 timotimo we've apparently been only flattening innermost blocks into their containing blocks
16:34 n0tjack joined #perl6
16:36 ugexe what is flatmap anyway?
16:37 smash ugexe: a map that can deal with list of lists?
16:38 mr-foobar joined #perl6
16:38 timotimo the obvious fix i just applied leads to compilation problems
16:39 timotimo but i'll be looking further into that
16:39 ugexe smash: try it
16:39 dalek rakudo/nom: 3d4deee | lizmat++ | src/core/Any.pm:
16:39 dalek rakudo/nom: Remove deprecated at_key and friends
16:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d4deeebe3
16:42 smash m: ((1,2),(3,4)).flatmap({$_})
16:42 camelia rakudo-moar e6f360: ( no output )
16:42 dalek rakudo/nom: 4b4aa9f | ugexe++ | src/core/CompUnitRepo/Local/Installation.pm:
16:42 dalek rakudo/nom: fix post-glr install /bin wrapper
16:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b4aa9fe14
16:42 dalek rakudo/nom: 13f829c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm:
16:42 dalek rakudo/nom: Merge pull request #527 from ugexe/patch-4
16:42 dalek rakudo/nom:
16:42 dalek rakudo/nom: fix post-glr install /bin wrapper
16:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/13f829c4a7
16:45 smash ugexe: well, it seems to work here in my local rakudo
16:46 ugexe it works differently than map?
16:46 smash yes
16:47 TimToady https://gist.github.com/Tim​Toady/3c238e672d3c9e8210de is (most of) the failing RC tests; the names are duped because I was using ingy++'s RC database
16:47 ugexe m: my @a = ([1,2],[3,4]); say @a.flatmap({ $_.perl }); say @a.map({ $_.perl });
16:47 camelia rakudo-moar e6f360: OUTPUT«[1, 2] [3, 4]␤[1, 2] [3, 4]␤»
16:47 smash nope, that's not correct
16:48 flussence lizmat++ # that was quick!
16:50 RabidGravy has panda stopped compiling stuff?
16:50 flussence yeah, a week or two ago...
16:51 lizmat RabidGravy flussence : that puts the whole installing precomp files onto my plate  :-)
16:51 RabidGravy cool, just checking it wasn't me
16:52 RabidGravy lizmat yep ;-@
16:52 lizmat it was at the SPW, afair, which would put it at a week ago exactly
16:52 lizmat in a way, I'm glad that it doesn't precomp anymore, because it was causing all sorts of issues
16:52 * flussence just found out about "git subtree", which doesn't have a manpage...
16:53 lizmat now with FROGGS' work on cu_load branch, I'm more or less unblocked there
16:53 lizmat now all I need is tuits  :-)
16:53 RabidGravy in the interim there may be a slight problem with previously compiled versions of modules hanging arpund
16:53 lizmat flussence++  # PRing fixes for my breakage
16:53 flussence RabidGravy: for that I just used a `find $rakudo_install -name '*.moarvm' -delete`
16:54 RabidGravy flussence, yeah that's what I did :)
16:54 nine SPW was only a week ago? Feels like a month
16:54 lizmat only a week, afaik
16:55 Ven joined #perl6
16:56 davido_ joined #perl6
16:56 lizmat only 76 commits to rakudo in that week
17:02 nine Practically nothing
17:07 pmurias joined #perl6
17:10 dalek nqp/js: 17fbff3 | (Pawel Murias)++ | TODO:
17:10 dalek nqp/js: Update TODO
17:10 dalek nqp/js: review: https://github.com/perl6/nqp/commit/17fbff33ba
17:15 dalek nqp/js: ba5a6ad | (Pawel Murias)++ | TODO:
17:15 dalek nqp/js: Update the TODO file more
17:15 dalek nqp/js: review: https://github.com/perl6/nqp/commit/ba5a6adf2a
17:16 flussence bah, I screwed up a pull request. I've got a working panda though!
17:16 timotimo i didn't know panda doesn't work
17:16 lizmat and I just merged it :-(
17:17 flussence nah, it's just the commit message sucks
17:17 lizmat ah, ok
17:17 flussence the commit itself *should* be fine...
17:17 lizmat ok, well, I merged it  :-)
17:17 flussence yay
17:18 flussence timotimo: it was failing a test in File::Find because the s/_/-/ thing is going to be final next release
17:18 flussence (of rakudo)
17:18 shlomif joined #perl6
17:24 lizmat TimToady: http://rosettacode.org/wiki/Y_combinator#Perl_6    s/&^arg/$^arg/ seems to fix it
17:24 lizmat I guess before GLR, it didn't enforce the type check ?
17:27 * masak is back home
17:27 yoleaux 11:43Z <smash> masak: do you have the slides for you talk somewhere online? thank you
17:28 masak smash: http://masak.org/carl/yapc-eu-2​015-interesting-times/talk.pdf
17:28 smash masak: gerat, thank you
17:29 smash s/gerat/great/
17:31 TimToady m: multi sub foo(@array) { say @array }; foo("abc".comb)
17:31 camelia rakudo-moar e6f360: OUTPUT«a b c␤»
17:31 TimToady this fails under GLR
17:31 * masak .oO( Gerät, thank you )
17:31 TimToady without the multi it succeeds
17:33 baest_ joined #perl6
17:39 mj41 joined #perl6
17:40 Ven joined #perl6
17:43 _itz use File::Find; my @files := find( :dir("."), :type('file'))
17:44 _itz post-GLR I get Type check failed in binding; expected 'Positional' but got 'Seq'
17:44 _itz is this a bug or changed behaviour?
17:45 moritz _itz: changed behavior; use assignment instead
17:45 moritz my @files = ...;
17:45 _itz thats eager isn't it?
17:45 TimToady is it a := or is it a call to a multi?
17:46 TimToady .tell jnthn multi sub foo(@array) { say @array }; foo("abc".comb) fails under GLR unles you remove the multi; not sure what we should do about that
17:46 yoleaux TimToady: I'll pass your message to jnthn.
17:46 moritz _itz: no
17:47 _itz ok ty
17:52 lizmat shutting down&
17:53 flussence argh, the main bit of panda works fine but anything metadata-ish like "panda list" causes it to barf
17:54 TimToady dehackathoning &
17:54 flussence oh dear, I see what it is. the state file is getting pretty-printed and it expects it to be more CSV-like...
17:57 baest joined #perl6
18:01 AlexDaniel joined #perl6
18:02 kaare_ joined #perl6
18:09 masak flussence: and GLR broke that expectation?
18:09 flussence nope, this is a separate thing...
18:10 flussence I threw a bug report at it for the time being: https://github.com/tadzik/panda/issues/212
18:13 vendethiel- joined #perl6
18:15 dalek perl6-roast-data: 8ba1737 | coke++ | / (10 files):
18:15 dalek perl6-roast-data: today (automated commit)
18:15 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/8ba17376fb
18:24 mprelude joined #perl6
18:24 mj41 joined #perl6
18:25 mj41 m: my $s; say $s.WHAT; say $s.VAR.WHAT;
18:25 camelia rakudo-moar e6f360: OUTPUT«(Any)␤(Scalar)␤»
18:25 mj41 m: my $s; say $s.WHAT ~ "  " ~ $s.VAR.WHAT;
18:25 camelia rakudo-moar e6f360: OUTPUT«Use of uninitialized value of type Any in string context  in block <unit> at /tmp/wzoGKk1VAZ:1␤Cannot look up attributes in a type object␤  in block <unit> at /tmp/wzoGKk1VAZ:1␤␤»
18:27 AlexDaniel m: my $x = 5; say 'hello' if $x = 5;
18:27 camelia rakudo-moar e6f360: OUTPUT«hello␤»
18:27 AlexDaniel whoops…
18:46 raiph joined #perl6
18:47 n0tjack joined #perl6
18:49 timotimo o/
18:49 timotimo i had some dinner
18:49 jnthn .oO( '... if $x = 5' is assign of madness... )
18:49 yoleaux 17:46Z <TimToady> jnthn: multi sub foo(@array) { say @array }; foo("abc".comb) fails under GLR unles you remove the multi; not sure what we should do about that
18:50 vendethiel- m: my @a = 1, @a; say @a[^3]; # how did this end up, post-glr?
18:50 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZFuFk7xQsT␤Cannot use variable @a in declaration to initialize itself␤at /tmp/ZFuFk7xQsT:1␤------> 3my @a = 1, @7⏏5a; say @a[^3]; # how did this end up, po␤    expecting any of:␤        term␤»
18:50 jnthn .tell TimToady I suspect the multi-dispatcher was somehow not fixed up, but then I don't understand how the unpacking spectest was made to pass...will have to have a look. Please RT it or something. :)
18:50 yoleaux jnthn: I'll pass your message to TimToady.
18:51 nine jnthn: indeed, I've suspected there to be an open issue in the dispatcher, but without failing spec tests, I couldn't remember what it was
18:52 jnthn nine: I wonder how the spectest got fixed...
18:52 * jnthn doesn't have the brane for it at the moment, alas
18:52 jnthn Tomorrow...or Monday. :)
18:52 nine me neither :)
18:52 * jnthn away again
18:54 AlexDaniel GLRelia disappeared, does it mean that GLR was merged?
18:54 nine AlexDaniel: zes
18:54 nine yes
18:55 AlexDaniel nine: what keyboard layout is that?
18:55 timotimo the main difference between de and us/uk is y and z being switched
18:55 nine And KDE loves to forget that I want US layout for konsole
18:56 AlexDaniel timotimo: oh right!
18:56 AlexDaniel timotimo: I was like .oO(Dvorak? No… Colemak? No… Workman? No…)
18:56 AlexDaniel and somehow forgot about de…
18:56 timotimo and basically every non-alpha non-numeral character is moved around the keyboard
18:57 timotimo if i type the "yes" keys on my current keyboard i get üli
18:58 AlexDaniel timotimo: custom?
18:58 timotimo depends on what you call custom
18:58 AlexDaniel timotimo: what is it? :)
18:58 timotimo it's neo2, which comes pre-installed on pretty much every linux system
18:58 AlexDaniel oh neo, okay
19:00 AlexDaniel timotimo: but why ü? :)
19:00 timotimo because german
19:00 timotimo the y key on my physical keyboard is where the english layout has the z
19:01 AlexDaniel right!
19:07 AlexDaniel There are a couple of great ideas in neo layout, but I've always felt that it misses the point… The biggest problem is not the layout, it is the keyboard. Since I only use laptops, I had to figure out how to get a better keyboard without having to use external one. So I kinda came up with japanese keyboard + dvorak + remapped everything besides a-zA-Z thing. Here, if anybody is interested:
19:07 AlexDaniel https://files.progarm.org/2015-​09-05-220556_1068x332_scrot.png (still working on it though)
19:07 raiph star: if ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';};
19:07 camelia star-m 2015.03: OUTPUT«1␤done␤»
19:08 raiph star: while ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';};
19:08 camelia star-m 2015.03: OUTPUT«1␤done␤undo␤»
19:08 raiph m: with ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';};
19:08 camelia rakudo-moar e6f360: OUTPUT«1␤done␤undo␤»
19:11 Sqirrel joined #perl6
19:11 raiph ^^ is this a bug? if so, I'll file an rt / clog tomorrow
19:12 raiph (ie it's a bug but has it already been filed; I didn't find it when I searched RT)
19:14 timotimo star: my $result = do { say 'done' }; say $result.perl
19:14 camelia star-m 2015.03: OUTPUT«done␤Bool::True␤»
19:14 timotimo m: my $result = do { say 'done' }; say $result.perl
19:14 camelia rakudo-moar e6f360: OUTPUT«done␤Bool::True␤»
19:14 timotimo that's kinda weird
19:16 timotimo linux is great: plugging in my logitech mouse receiver dongle resets the keyboard to de and i have to setxkbmap de enw again
19:17 masak raiph: I don't see why UNDO should trigger in either of those cases.
19:17 masak (so yes, I think that's a bug)
19:23 raiph masak: i searched in rt for 'undo' and got just rt#111866 (by you)
19:23 synbot6 Link:  https://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=111866
19:27 masak raiph: that RT ticket seems to be about UNDO not running often enough.
19:27 masak your discovery is about it running too often.
19:27 masak so I'd say they're distinct :)
19:32 zakharyas joined #perl6
19:37 AlexDaniel m: say [xx] 0..9
19:37 camelia rakudo-moar e6f360: OUTPUT«0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 …»
19:38 AlexDaniel m: 1 while 1
19:38 AlexDaniel what is the shortest program that will hang?
19:38 camelia rakudo-moar e6f360: OUTPUT«(timeout)»
19:38 AlexDaniel or at least execute for long enough
19:39 FROGGS m: loop {}
19:39 camelia rakudo-moar e6f360: OUTPUT«(timeout)»
19:42 moritz m: + 1 xx *
19:42 camelia rakudo-moar e6f360: ( no output )
19:42 virtualsue joined #perl6
19:42 moritz m: so 1 xx *
19:42 camelia rakudo-moar e6f360: OUTPUT«WARNINGS:␤Useless use of "so " in expression "so 1 xx" in sink context (line 1)␤»
19:42 * [Coke] hurls http://blogs.perl.org/users/coke/2015/09​/swiss-perl-workshop-2015---perl-6.html
19:43 [Coke] backlogs and reads "strongly typed and purely fictional"
19:43 AlexDaniel if infinity symbol is ever added, then sleep ∞ (which is as long as loop {})
19:45 AlexDaniel .oO(or even 1 for ^∞)
19:49 vendethiel- m: constant \∞ = Inf; .say for ∞;
19:49 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rLvr_I_dfk␤Missing initializer on constant declaration␤at /tmp/rLvr_I_dfk:1␤------> 3constant7⏏5 \∞ = Inf; .say for ∞;␤»
19:49 vendethiel- m: my constant \∞ = Inf; .say for ^∞;
19:49 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PuEQSXBbWO␤Missing initializer on constant declaration␤at /tmp/PuEQSXBbWO:1␤------> 3my constant7⏏5 \∞ = Inf; .say for ^∞;␤»
19:49 AlexDaniel vendethiel-: it was a bit trickier than that
19:49 vendethiel- AlexDaniel: I guess it can be a term :)
19:50 vendethiel- m: sub term:<∞>(){ Inf }; .say for ^∞;
19:50 camelia rakudo-moar e6f360: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11​␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤2​5␤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…»
19:50 vendethiel- AlexDaniel: :P
19:52 AlexDaniel vendethiel-: but that tricks adds up about 800ms to the execution time
19:52 RabidGravy I was quite impressed with the idea of term a while back but haven't yet found my reason for actually using it
19:52 AlexDaniel or any other number of ms, but it is significant
19:52 virtualsue joined #perl6
19:56 masak RabidGravy: you mean compared to using just a regular sub? the difference is that you can go `foo();` or `foo;` with a sub, but only the latter form with a term.
20:01 darutoko- joined #perl6
20:02 telex joined #perl6
20:02 virtualsue joined #perl6
20:04 moritz or rephrased: after a term, the parser expects an operator; after a sub, it expects a term (for the argument list)
20:05 Khisanth joined #perl6
20:05 RabidGravy yeah, I haven't found a pattern where that comes into play for me
20:08 _itz http://catpad.net/michael/apl/
20:11 timotimo vimdiff-ing between the --target=ast and the --target=optimize of the core setting
20:11 timotimo yay, fun!
20:12 yqt joined #perl6
20:14 masak 'night, #perl6
20:15 timotimo gnite masak!
20:15 RabidGravy toodlepip
20:19 timotimo the diff hath finished!
20:24 timotimo i cannot identify why the mast compiler would complain about not being able to find this local ... it really does seem to be available everywhere it's referenced
20:48 grondilu timotimo: I did not know it was not GLR-compatible.  I'll have a look.
20:51 FROGGS TimToady / jnthn: what I don't understand about the jvm breakage is this: the exploding node (the current elem of @stmts) is an QAST::Op(call), that calls a single thing... a block, which appears to be the setting itself
20:56 z448 joined #perl6
21:03 jdv79 the jvm is still broke?
21:05 FROGGS jdv79: sadly, yes
21:12 jdv79 i an not saddened but that is mildly disturbing.
21:16 grondilu m: say my @ = Blob.new.list, 1;
21:16 camelia rakudo-moar e6f360: OUTPUT«1␤»
21:16 grondilu m: say .perl given my @ = Blob.new.list, 1;
21:16 camelia rakudo-moar e6f360: OUTPUT«[1]<>␤»
21:17 grondilu m: say my @ = Blob.new.list, 1;
21:17 camelia rakudo-moar e6f360: OUTPUT«1␤»
21:17 grondilu weird.  I get [[] 1] locally
21:18 grondilu This is perl6 version 2015.07.1-745-g13f829c built on MoarVM version 2015.07-108-g7e9f29e
21:19 FROGGS grondilu: camelia here is not up to dat
21:19 FROGGS e
21:19 virtualsue joined #perl6
21:20 grondilu ok
21:20 virtualsue_ joined #perl6
21:21 grondilu [1] seemed to make more sense though.   Possibly a regression.
21:21 grondilu I mean Blob.new.list should be Nil, not []
21:21 grondilu IMHO
21:26 grondilu or not.  I don't know the GLR well enough I'm afraid.
21:29 grondilu I suspect most digest on rosettacode are broken.  Checking it.
21:29 FROGGS one rule of thumb is that it does less flattening now
21:30 FROGGS I guess the behaviour you see is correct
21:30 raiph m: say 1,(),2,(((1,))),3
21:30 camelia rakudo-moar e6f360: OUTPUT«1213␤»
21:30 FROGGS m: say .perl given my @ = |Blob.new.list, 1;
21:30 camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/aJaIMX5549␤Arg-flattening | is only valid in an argument list␤at /tmp/aJaIMX5549:1␤------> 3say .perl given my @ = |7⏏5Blob.new.list, 1;␤»
21:30 FROGGS $ perl6 -e 'say .perl given my @ = |Blob.new.list, 1;'
21:30 FROGGS [1]
21:31 FROGGS m: say (1,(),2,(((1,))),3).perl
21:31 camelia rakudo-moar e6f360: OUTPUT«(1, (), 2, (1,), 3)␤»
21:32 grondilu http://rosettacode.org/wiki/SHA-1#Perl_6 is broken indeed
21:33 raiph grondilu: TimToady has commented here today with some rosettacode pass/fail analysis comments
21:34 grondilu ok
21:35 grondilu still worth marking them as broken on RC I suppose
21:36 raiph he's using ingy++s code for handling rosetta en masse and I think he said hundreds were broken
21:37 virtualsue joined #perl6
21:37 RabidGravy that's unfortunate
21:40 Ven joined #perl6
21:48 Peter_R joined #perl6
21:54 z448 joined #perl6
21:55 grondilu hum, never seen that before:
21:55 grondilu « This Seq has already been iterated, and its values consumed. »
21:55 ugexe you must have been gone for a month :)
21:55 ugexe i dont think ive seen any other message more from perl6
21:57 RabidGravy right bed time.  toodlepip
21:57 rurban joined #perl6
22:00 grondilu m: constant primes = grep *.is-prime, 2 .. *; say (map 2 * *, primes)[^3]; say (map 3 * *, primes)[^3];
22:00 camelia rakudo-moar e6f360: OUTPUT«4 6 10␤6 9 15␤»
22:00 grondilu ^this reproduces the "values consumed" error locally
22:09 TimToady use @primes instead, maybe
22:09 yoleaux 18:50Z <jnthn> TimToady: I suspect the multi-dispatcher was somehow not fixed up, but then I don't understand how the unpacking spectest was made to pass...will have to have a look. Please RT it or something. :)
22:10 * timotimo just learned about :right in vim; wow!
22:10 ugexe m: constant primes = grep *.is-prime, 2 .. *; say (map 2 * *, @(primes))[^3]; say (map 3 * *, @(primes))[^3];
22:10 camelia rakudo-moar e6f360: OUTPUT«4 6 10␤6 9 15␤»
22:14 abaugher joined #perl6
22:25 vendethiel- timotimo: don't leave us hanging!
22:34 timotimo hm?
22:36 TEttinger joined #perl6
22:37 vendethiel- timotimo: googling "vim right" doesn't help much
22:43 dalek rakudo-star-daily: 5a69178 | coke++ | log/ (8 files):
22:43 dalek rakudo-star-daily: today (automated commit)
22:43 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/5a69178e7e
22:48 abaugher joined #perl6
23:06 Ven joined #perl6
23:33 lizmat joined #perl6
23:36 aborazmeh joined #perl6
23:36 aborazmeh joined #perl6
23:43 ifim joined #perl6
23:43 timotimo well, yeah, why not just run vim and :help :right ?
23:53 dayangkun joined #perl6

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

Perl 6 | Reference Documentation | Rakudo