»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:07 n0tjack joined
ShimmerFairy timotimo: you could go with Net::Socks -> NetSocks:: -> KnitSocks:: :P 00:11
timotimo %)
00:12 n0tjack left
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... :)
timotimo ah 00:14
it seems like i'll be sent to bed really soon, though …
flussence no hurry :) 00:15
00:21 laouji left 00:34 n0tjack joined 00:38 n0tjack left 00:42 tadzik left, tadzik joined 00:58 colomon left 01:05 aborazmeh joined, aborazmeh left, aborazmeh joined 01:20 n0tjack joined 01:21 cognominal_ left 01:27 shmibs_ is now known as shmibs 01:42 geekosaur left 01:43 colomon joined 01:44 geekosaur joined 01:45 aborazmeh left 01:47 sufrostico left 01:53 mprelude joined 01:58 rangerprice joined
rangerprice There is someone that have one million ? i just want to him to give 100 000 $ to the Perl Foundation 01:59
02:07 noganex joined 02:10 noganex_ left 02:25 rangerprice left 02:27 rangerprice joined 02:28 rangerprice left 02:42 colomon left, yqt left 02:47 colomon joined 02:57 colomon left 02:58 colomon joined 03:24 dwarring left 03:30 khw left 03:31 khw joined 03:33 danaj joined 03:40 n0tjack left 03:48 mprelude left 03:56 xinming_ joined 03:59 xinming left 04:11 BenGoldberg left 04:14 lizmat left, khw left 04:15 lizmat joined 04:16 skids left 04:27 lizmat left, lizmat joined 04:31 laouji joined 04:33 lizmat left, lizmat joined 04:34 vic__ joined 04:36 vic__ left 04:37 Averna joined 04:43 lizmat left, laouji left 04:44 laouji joined 04:45 _itz joined 04:46 lizmat joined 04:47 _itz_ left 04:48 laouji left 04:50 lizmat left, lizmat joined 05:03 Averna left 05:11 laouji joined 05:16 abaugher left 05:17 abaugher joined 05:23 lizmat left, lizmat_ joined 05:31 lizmat_ left 05:32 laouji left 05:38 lizmat joined 05:46 lizmat left 05:48 lizmat joined, Loren_ joined 05:58 tm joined 06:01 RabidGravy joined
RabidGravy morning! 06:03
timotimo hello, mister gravy 06:04
06:06 lizmat left 06:07 lizmat joined
_itz whimpers pathetically with his last night ypac sherry/beer hangover 06:09
RabidGravy _itz that old dangerous combo :-O 06:12
06:14 lizmat left, virtualsue joined 06:17 lizmat joined 06:30 kaare_ joined 06:32 lizmat_ joined 06:33 lizmat left 06:35 cognominal joined 06:42 lizmat_ left
RabidGravy the question top of my mind this morning is "is it glr or is it just bit-rot" 06:42
06:44 lizmat joined 06:46 [TuxCM] joined 06:53 lizmat_ joined 06:54 lizmat left
timotimo you can figure out easily by running nom before trying to fix things, eh? 07:02
07:07 virtualsue left 07:10 lizmat_ left 07:12 lizmat joined 07:18 TEttinger left 07:19 lizmat left 07:26 lizmat joined, darutoko joined 07:28 rindolf joined 07:31 lizmat left 07:34 virtualsue joined 07:46 lizmat joined 07:50 virtualsue left 07:51 lizmat left 07:52 virtualsue joined 07:57 lizmat joined 08:01 aborazmeh joined, aborazmeh left, aborazmeh joined, lizmat left, virtualsue left 08:04 lizmat joined
RabidGravy or maybe I just shouldn't be allowed to use git before 10 in the morning 08:06
08:07 lizmat left 08:08 xfix joined 08:10 [TuxCM] left 08:11 lizmat joined
jdv79 only after caffeine 08:13
08:15 lizmat left
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:21
08:23 TEttinger joined 08:24 zacts left, zacts joined 08:30 mj41 joined, [TuxCM] joined 08:34 lizmat joined
lizmat waves from the YAPC::EU hackathon 08:35
timotimo o/ lizmat
lizmat timotimo o/
08:37 mauke joined
mj41 hola form the hackathon 08:38
panda install Bailador 08:39
...
Files=8, Tests=22, 9 wallclock secs ( 0.03 usr 0.02 sys + 8.99 cusr 0.30 csys = 9.34 CPU)
Result: FAIL
test stage failed for Template::Mustache: Tests failed
probably glr merge issue
no any pull request there github.com/softmoth/p6-Template-Mustache/ 08:41
yet 08:42
08:47 ab5tract_ joined
ab5tract_ o/ 08:47
TimToady \o
Loren_ o/ 08:48
ab5tract_ Are YAPC folks already at the Uni hacking? 08:49
08:50 n0tjack joined
TimToady yup 08:50
ShimmerFairy I'm guessing that's "Uni" as in the type, right? 08:51
TimToady well, we're here, dunno about the hacking part...
ab5tract_ hehehe
08:51 rindolf left
ab5tract_ ShimmerFairy: :) 08:51
TimToady sends ShimmerFairy the graphemes that spell "university"
lizmat it feels it's more about waking up slowly
ab5tract_ goes downstairs for some breakfast 08:52
ShimmerFairy I figured the alternate interpretation was "university" :)
mauke UNIVERSAL RECYCLING SYMBOL [♲]
08:55 n0tjack left, [TuxCM] left
mj41 the basic test is not working github.com/softmoth/p6-Template-Mu...basic.t#L5 ... so probably this should be fixed somehow github.com/softmoth/p6-Template-Mu...he.pm#L140 ... any ideas? :) 08:57
lizmat m: my @a = 10 xx False; dd @a 09:00
camelia rakudo-moar e6f360: OUTPUT«@a = []<>␤»
lizmat m: dd EVAL '[]<>'
camelia rakudo-moar e6f360: OUTPUT«[]<>␤»
lizmat m: dd EVAL '[]' 09:01
camelia rakudo-moar e6f360: OUTPUT«[]␤»
09:01 spider-mario joined
TimToady m: my @a = 10 xx False; say @a 09:02
camelia rakudo-moar e6f360: OUTPUT«␤»
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␤»
TimToady m: my @a = 42 xx 10; say @a,42
camelia rakudo-moar e6f360: OUTPUT«42 42 42 42 42 42 42 42 42 4242␤»
lizmat $ 6 'dd EVAL "[]<>"'
[]
RabidGravy returns with a pine fresh shaved head 09:06
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?
git tag pre-grl e6f36021abf17d4fca
git push origin pre-glr
09:07 dayangkun joined
lizmat gist.github.com/lizmat/de3ad4f47c12a8c2c860 # JVM build fail 09:07
moritz mj41: willdo 09:08
mj41 thx
lizmat pre-glr I would hope
not pre-grl
moritz done 09:09
mj41 thx, From git://github.com/rakudo/rakudo 09:10
* [new tag] pre-glr -> pre-glr
09:12 ab5tract_ left
FROGGS Ven: I merged moar/cpp3 into moar/master 09:13
Ven: so you'd need moar/master, nqp/master and rakudo/cpp3
Ven: NativeCall should attempt to build the test libs with clang++ first, then g++ if it had failed 09:14
Ven: and since both default to GNU name mangling it should Just Work™
09:17 perl6_newbee joined 09:20 ab5tract_ joined
ab5tract_ are type conversions in signatures still NYI? 09:29
s/conversions/coercions/
moritz no
m: sub f(Int() $x) { say $x.^name }; f '42'
camelia rakudo-moar e6f360: OUTPUT«Int␤»
ab5tract_ ooo :) 09:30
looks like I have something cool to add to an upcoming pull request :)
lizmat m: class A { method Str { "foo" } }; sub bar(Str() $a) { dd $a }; bar A 09:31
camelia rakudo-moar e6f360: OUTPUT«$a = "foo"␤»
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␤»
ab5tract_ I remember also some Int[Str] sort of syntax? but that's clearly something else
lizmat FWIW, looks like the JVM build failure is caused by not being able to set $=pod
around line 404 in World.nqp. I tried several things, but none of them worked out 09:33
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
lizmat m: say Nil.[0] 09:35
camelia rakudo-moar e6f360: OUTPUT«Nil␤»
ab5tract_ ShimmerFairy: thanks
lizmat m: say Nil[0] # funny
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␤»
ShimmerFairy m: say Nil.new[0]
camelia rakudo-moar e6f360: OUTPUT«Nil␤»
ShimmerFairy there we go :)
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 …»
mj41 how to get sha1 of rakudo commit?
lizmat $ git describe
2015.07.1-732-g03b5a0a
so camelia is about 500 commits behind ... :-(]
mj41 but I'm switching with rakudobrew
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:37
mj41 ShimmerFairy: ok 09:38
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␤»
lizmat m: say Version.new("21abc42").perl
camelia rakudo-moar e6f360: OUTPUT«Version.new('21.abc.42')␤»
ShimmerFairy it's pretty wrong for hashes, though :)
lizmat FSVO wrong :-) 09:40
moritz lizmat: rakudo-j build fails for camelia
lizmat moritz: that's why I was looking at it
moritz lizmat: does it work for you? 09:41
lizmat nope
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
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 left, rmgk_ joined, rmgk_ is now known as rmgk 09:45 cschwenz_hackath joined
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:47
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
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␤»
cschwenz_hackath ah, ok.
ab5tract_ cschwenz_hackath: fwiw, an empty list would be false in boolean context, and a non-empty true 09:52
so you would get those semantics for free :)
but generally you would write the boolean is 'is-found' and the list as 'found' or so
'wantarray' was an early casualty 09:53
and few mourned at the funeral ;)
lizmat fwiw, TheDamian now does not support using context for Perl 5 anymore either 09:54
09:54 diana_olhovik_ joined
lizmat in a new PBP, he would advocate returning an object that would do the right thing in the right context 09:54
ab5tract_ lizmat: yup, it's considered bad form across the Perliverse, afiact 09:55
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
FROGGS ShimmerFairy: you could also use adverbs to indicate you want to get something else returned instead 09:58
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 09:59
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:00
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)
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 gist.github.com/mj41/55e6121e3b0380f66fec
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
I think the decision between using adverbs and separate functions is stylistic, and perhaps will become the subject of some future best practices deiscussion
FROGGS ShimmerFairy: I agree that P5's wantarray should be implemented as two different functions usually
ab5tract_ but neither presents the issues of wantarray, because both involve explicit declarations from the POV of the user 10:06
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:07
dalek kudo/nom: 0e67b32 | TimToady++ | src/core/Array.pm:
partly unbreak the java build

Apparently **@values is rw is producing a Null somehow. For now just interrogate the capture directly.
10:09
10:10 dayangkun left
TimToady now we blow up in the jast stage with a NQPMu in compile_all_the_stmts 10:11
ab5tract_ :( 10:12
FROGGS ups 10:20
I didn't even know the build was broken... 10:25
lizmat m: dd <<a b c d>>' # seems wrong
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…»
lizmat m: dd <<a b c d>> # seems wrong
camelia rakudo-moar e6f360: OUTPUT«"a"␤"b"␤"c"␤"d"␤»
lizmat m: dd <a b c d> # this seems ok 10:26
camelia rakudo-moar e6f360: OUTPUT«("a", "b", "c", "d")␤»
FROGGS TimToady: I try to hunt that down now
lizmat ++FROGGS 10:27
TimToady FROGGS: I'm testing a patch in nqp right now
FROGGS cool
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?
TimToady well, it's just null-proofing, probably doesn't fix whatever is producing the NQPMu
10:28 vendethiel joined
FROGGS TimToady: that NQPMu-check can potentially get a .node from its parent? so we'd know what source code causes trouble 10:29
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 ?
ShimmerFairy jdv79 : you should realize that PAUSE is really just a dropbox
TimToady FROGGS: could, but I'm just trying to unbreak the build right now so we can have camelia under glr
lizmat with some P5 specific handling on top of it 10:31
FROGGS TimToady: *nod*
ShimmerFairy lizmat: sure, but the P5 handler gets to processing a P6 module before the check happens. That's the issue
lizmat yes, that's a bug that should be fixed
jdv79 upon initial insertion (insert into the uris table) the dist uniqueness is enforced
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
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
FROGGS ShimmerFairy / lizmat: though it is not about package names, it is about tarball names per author
jdv79 but pause also supports fetching later after insertion so we have no way to handle that
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
that way its fine for http upload and ftp and http fetch
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)
lizmat but I see that as a temporary fix 10:35
the authoritative flag for P6'ness would have to be META6.json
as we don't want to limit ourselves to the limitations of PAUSE
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
lizmat and would lose the flag meaning then:
mj41 so I'm stuck github.com/softmoth/p6-Template-Mu.../issues/10
10:38 ab5tract_ left
jdv79 pause handles the Perl6 dir creation just fine as we get it in its path early enough 10:38
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")
jdv79 anything is possible but part, most?, of the point here it to do leverage existing stuff 10:40
10:41 ab5tract_ joined
FROGGS now tries to output the AST of the setting 10:45
"Cannot stringify this" :o( 10:48
10:49 diana_olhovik_ left
TimToady note($qast.dump) or so 10:50
ShimmerFairy or --target=ast if you want the whole setting :) 10:51
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
*dumped 10:53
moritz twitter.com/OvidPerl/status/640098739168890880 has anybody told Ovid where the hackathon is?
jdv79 or we could just say p6 dists only go through http upload. that would be easier:)
TimToady moritz: yes, he found us
[ptc] waves from Madrid airport 10:54
moritz waves to Madrid airport 10:55
lizmat [ptc] safe travels! 10:56
dalek Heuristic branch merge: pushed 54 commits to rakudo/cu_load by lizmat 10:59
lizmat FROGGS: starting to look at cu_load now
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)
pink_mist hmm, Parcel is still mentioned in S02 on design.perl6.org/S02.html .. thought that was removed
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%
pink_mist: the design docs are not meant as a guide to learn the language
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
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.
pink_mist ShimmerFairy++ # that would be awesome
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
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:
rakudo/allomorphs: Make empty string numify to zero
rakudo/allomorphs:
rakudo/allomorphs: As explained by TimToady++, not as weird and unusual as I thought to
rakudo/allomorphs: have this behavior.
11:04 dalek left 11:05 dalek joined, ChanServ sets mode: +v dalek, dalek left
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
11:05 dalek joined, ChanServ sets mode: +v dalek 11:06 TEttinger left
mj41 ok, maybe this one is going to be easier github.com/tadzik/Bailador/issues/32 11:07
dalek ecs: 1ec7ab1 | moritz++ | S02-bits.pod:
Start to remove Parcel from S02
11:09
pink_mist yay, moritz++ =) 11:10
[ptc] lizmat: thanks!
moritz: :-) 11:11
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:13
dalek ecs: 650f008 | moritz++ | S03-operators.pod:
De-Parcel-ify S03
11:14
ab5tract_ [ptc]: your comments welcome on github.com/rakudo/rakudo/pull/525 :)
I replied via email but my comment does not appear yet 11:15
dalek ecs: 558155b | moritz++ | S04-control.pod:
De-Parcel-ify S04
11:16
moritz TimToady: we need a new name for "Parcel parameters", I think 11:17
11:17 n0tjack joined
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)␤»
moritz m: sub f(|c) { say c.perl }; f(|(1..2))
camelia rakudo-moar e6f360: OUTPUT«\(1, 2)␤»
ShimmerFairy Captures? Slips?
11:19 rindolf joined
dalek ecs: 4c49844 | moritz++ | S0 (2 files):
A bit more more De-Parcel-ification
11:19
11:19 telex left 11:20 telex joined
[ptc] ab5tract_: ok, I'll have a look 11:20
ab5tract_: did we not discuss this at yapc? Or did I only discuss the issue with masak? 11:22
11:22 n0tjack left
ab5tract_ we had a brief WTF moment about it 11:22
or at least, acknowledged the cognitive dissonance
is there a strong reason for keeping it as is?
[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
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
ab5tract_ what does `until` do again? it is missing from p6doc 11:25
[ptc] hrm, something else missing. Let me check
ab5tract_ loop { } until $condition; right?
[ptc] it's in the while {} until $condition 11:26
ab5tract_: yup :-)
you got in before me :-)
ShimmerFairy until is the unless of while, to put it tersely :)
ab5tract_ I personally don't think that's a strong enough reason for the cognitive dissonance
[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
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
[ptc] ab5tract_: doc.perl6.org/language/control#repe...at%2Funtil
it just doesn't turn up in the search since it's a keyword (a known issue with the docs processing)
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)
ab5tract_ ShimmerFairy: :)
[ptc] grins
11:29 dalek left
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 ?
ShimmerFairy wake-me-up-at()
11:30 dalek joined, ChanServ sets mode: +v dalek
[ptc] lacks too much sleep to provide sensible comments 11:30
ab5tract_ sleep-while-not-yet
[ptc] nap-until ? 11:31
cognominal seems safe to remove &capture_and_parcel in src/Perl/Actions.nqp. Passes make test. github.com/rakudo/rakudo/pull/526
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"
*in both cases
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
ShimmerFairy *understood (gah!)
ab5tract_ sleep-whilst-not-yet 11:33
(by which I mean, I hate this approach)
[ptc] maybe we need to go to a higher authority? 11:35
s/go/defer/
cognominal not sure if SIG_ELEM_IS_PARCEL should be renamed SIG_ELEM_IS_LIST or SIG_ELEM_IS_SEQ
cschwenz_hackath how do i use 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 ;)
[ptc] ab5tract_: :-D 11:39
ShimmerFairy m: "123foo" ~~ /<digit>+ $<stuff>=[foo]/; say $/.hash.keys # cschwenz_hackath 11:40
camelia rakudo-moar e6f360: OUTPUT«digit stuff␤»
smash masak: hello sir, do you have the slides for you talk somewhere already?
cschwenz_hackath ah, thanks ShimmerFairy! :-)
ShimmerFairy cschwenz_hackath: no problem :) also:
m: "12" ~~ /<digit> <.digit>/; say $/.hash.kv; 11:41
camelia rakudo-moar e6f360: OUTPUT«digit 「1」␤»
lizmat .tell TimToady github.com/rakudo/rakudo/pull/525 is what everybody is talking about
yoleaux lizmat: I'll pass your message to TimToady.
[ptc] smash: masak is somewhere in the air over Europe at present. I recommend asking hime via .tell
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
smash [ptc]: roger that, thank you
.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.
cschwenz_hackath ShimmerFairy++
11:43 laouji joined
lizmat mj41: just commented on github.com/tadzik/Bailador/issues/32 11:45
11:45 aborazmeh left
mj41 lizmat: ok, thx 11:46
[ptc] smash: np 11:47
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:49
FROGGS TimToady: the problem seems to be this: 11:51
- QAST::Regex(:rxtype(charrange) :subtype() (negated)) <-[\\c32..\\c126]>
-
- QAST::IVal(32)
- QAST::IVal(126)
several charrange ops have such an NQPMu child
11:52 skaji joined 11:54 xinming_ left, xinming joined
FROGGS hmmm, though that does not trip up in nqp, even that NQPMu shows up there... 11:55
ShimmerFairy couldn't hurt to get rid of it anyway though, right? :) 11:56
FROGGS I, I think so too 11:58
11:59 skaji left
FROGGS ohh wait, that's not it :o( 12:00
dalek kudo/nom: a47a9ef | lizmat++ | src/core/Temporal.pm:
Coerce some in Temporal

Inspired by github.com/rakudo/rakudo/pull/525, ab6stract++
12:01
12:10 muraiki joined 12:14 muraiki left
dalek ast: 8a79f11 | lizmat++ | S29-context/sleep.t:
Add test for sleep-timer arg coercion
12:14
mj41 m: my %h = 11 => 61; %h = %h, 12 => 62; say %h.perl; 12:15
camelia rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>␤»
mj41 this is pre-glr, but on nom I got {"12" => 62} 12:18
lizmat: ^^^
ab5tract_ m: my %h = 11 => 61; %h = %h.kv, 12 => 62; say %h.perl;
camelia rakudo-moar e6f360: OUTPUT«{"11" => 61, "12" => 62}<>␤»
lizmat note that camelia is still at lesst a few hundred commits behind 12:19
12:19 cschwenz_hackath left 12:20 laouji left
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'
{"11" => 61, "12" => 62}
ab5tract_ but generally %h.push would be the way to go
12:20 laouji joined
lizmat the %h is not flattened 12:20
(anymore, post-glr) 12:21
that's the rule now
FROGGS ~$ perl6-m -e 'my %h = 11 => 61; %h = |%h, 12 => 62; say %h.perl'
{"11" => 61, "12" => 62}
mj41: ^^
12:22 laouji left
mj41 ok, just asking to be sure that this part of github.com/mj41/Bailador/commit/2e...3e244c688d is ok 12:22
12:22 laouji joined
lizmat $ 6 'my %h = a => 42; my @a = %h; my @b = %h, %h; dd @a, @b' 12:23
@a = [:a(42)]
@b = [{:a(42)}, {:a(42)}]
TimToady what is everyone talking about?
yoleaux 11:41Z <lizmat> TimToady: github.com/rakudo/rakudo/pull/525 is what everybody is talking about
lizmat mj42: in the first case, the %h was flattened because it was the only arg
in the second case, neither %h was flattened, because they were not just a single arg 12:24
ab5tract_ TimToady: I've been stirring the pot again :) 12:25
12:25 laouji left
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:25
12:26 dayangkun joined
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')
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...
smash: you could write a Slang and call it NAAP -- Not At All Perl ;) 12:28
TimToady smash: you could just call it 'Paskell' :)
ab5tract_ lol
smash TimToady: that would be awesome, I like 12:29
TimToady or Hasperl
pink_mist Paskerl
smash also cool 12:30
ab5tract_: hehe, nice 12:31
12:31 colomon left
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:31
12:32 laouji joined
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
which seems... odd.
_itz reads scrollback and kills GLRelia for good 12:34
12:35 colomon joined
mj41 ab5tract: maybe, but I want to fix it without changing behaviour not ok 9 - echo with text 12:36
# Failed test 'echo with text'
# at t/01-route-existance.t line 23
# expected: [200, [:Content-Type("text/html")], "Echo3: foo-zorg-zorg-bar"]
# got: [200, [:Content-Type("text/html")], "Echo3: foo-bar zorg-zorg-bar"]
ShimmerFairy _itz++ for setting it up though, turned out to be more than a temporary solution :) .oO(itz been nice knowing 'er)
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:37
pink_mist who's in charge of getting camelia running GLR btw? :P 12:38
12:39 virtualsue joined 12:40 laouji left
ab5tract_ pink_mist: well-volunteered ;) 12:43
pink_mist hah, as if I had access to upgrade camelia :P
12:44 laouji joined
_itz m: say (1,2).WHAT 12:45
camelia rakudo-moar e6f360: OUTPUT«(Parcel)␤»
_itz oh
12:45 spider-mario left
lizmat m: say "a" ~~ / <![.]> / # is this correct, sorta expected 「a」 here 12:45
camelia rakudo-moar e6f360: OUTPUT«「」␤»
TimToady huh, . is not a metachar there 12:46
you'd need - instead of ! to traverse a char 12:47
lizmat TimToady: that was the intent
anything that is not a literal period
TimToady ! is 0-width
12:47 Ven joined
lizmat we want to match anything that's *not* a literal '.' 12:47
Ven FROGGS: recompiled, spectesting now 12:48
TimToady m: say "a" ~~ / <-[.]> /
camelia rakudo-moar e6f360: OUTPUT«「a」␤»
TimToady then use -
FROGGS Ven: \o/
lizmat ah duh :-)
_itz camelia is still running premerge?
lizmat TimToady++ :-)
pink_mist _itz: that's what all evidence points to
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
_itz: maybe bring back GLRelia :P 12:51
12:52 dayangkun left
_itz :) 12:52
ab5tract_ so... TimToady, any thoughts on sleep-until ?
or should I have waited to ask until (hehe) I can flash a face of desperation in person? ;) 12:53
s/desperation/puppy dog/
TimToady I'm fine with sleep-until as long as the types are tight enough to reject sleep-until($x == $y) and such 12:57
12:57 colomon left
pink_mist liked ShimmerFairy's sleep'til 12:58
ab5tract_ \o.
\o/
Ven FROGGS: I can gist you a m-coretest
mauke sleep-till($brooklyn); 12:59
Ven FROGGS: gist.github.com/vendethiel/b9b5eaf1361f03efc576
ab5tract_ mauke: that's doing it all wrong :P
mauke sleep-while($brooklyn); 13:00
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␤␤»
pink_mist
.oO( vende'til )
FROGGS Ven: can I get the output of: perl6-m t/04-nativecall/11-cpp.t
ab5tract_ m: False.Instant
camelia rakudo-moar e6f360: OUTPUT«Method 'Instant' not found for invocant of class 'Bool'␤ in block <unit> at /tmp/2tklCe_V0L:1␤␤»
ab5tract_ TimToady: so the existing coerce should be fine, right?
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...
FROGGS Ven: aye
Ven: means you did not rebuild nqp+rakudo after installing moar/cpp3
ab5tract_ FROGGS: I think it makes sense for it also transparently handle DateTime 13:03
cognominal lizmat, what do you think of github.com/rakudo/rakudo/pull/526?
ab5tract_ cognominal: didn't lizmat respond to that PR?
lizmat cognominal: I already commented on that 13:04
cognominal oops
Ven FROGGS: *sigh* I always expect --gen-moar to pull and.. gen moar
cognominal lizmat, that's a remark I made earlier
the said remark irclog.perlgeek.de/perl6/2015-09-05#i_11173014 13:05
lizmat ah, I'm going to leave that up to jnthn 13:07
mj41 www.perl6.org/compilers/features up-to-date last change 7 months ago 13:08
cognominal thx, lizmat++
13:09 perl6_newbee left
FROGGS Ven: --gen-moar checks the revisions, and I did not bump the nqp revision in rakudo 13:09
13:10 Ven left
FROGGS :S 13:10
13:12 Ven joined, Ven left
lizmat ab5tract_: are you working on adapting the PR for sleep-until ? 13:13
or shall I just do it ?
pink_mist 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
lizmat ab5tract_: also, why did you put the coercer for Instant in anyway? Do you have a class with an Instant method ?? 13:14
13:15 skids joined
ab5tract_ lizmat: sorry? 13:15
m: DateTime.now.Instant
camelia ( no output )
ab5tract_ m: DateTime.now.Instant.say
camelia rakudo-moar e6f360: OUTPUT«Instant:1441458956.782095␤»
nine %FILETEST-HASH in src/core/IO.pm has no entry for "!s". Is this on purpose or a bug?
13:16 n0tjack joined
lizmat ab5tract: github.com/rakudo/rakudo/pull/525/...0d05b8R724 13:16
ab5tract_ lizmat: I added that for the sake of DateTime, which seems like a perfectly reasonably argument for sleep-until ?
ShimmerFairy nine: maybe it has to do with the fact that .s doesn't return a boolean? That'd be my guess. 13:17
lizmat ab5tract_: gotcha 13:18
ab5tract_ lizmat: by adapting, do you mean removing the DEPRECATED? 13:19
lizmat ab5tract_: so shall I do the honours?
yes
ab5tract_ uno minuto :)
lizmat oki
I've added a test already, waiting for you 13:21
ab5tract_ lizmat: PR should have all the changes no 13:22
*now
13:22 Ven joined, kaare_ left
Ven FROGGS: Undefined symbols for architecture x86_64: "_MVMCPPStruct_initialize", referenced from: _MVM_repr_initialize_registry in reprs.o 13:22
13:22 mprelude joined
FROGGS huh, weird 13:23
ab5tract_ not sure if it conflicts with your push in between though?
FROGGS Ven: you reconfigured moarvm, right?
Ven: if you just pulled and did 'make install', you might want to do --gen-moar=master --gen-nqp=master in rakudo instead 13:24
lizmat ab5tract_: yeah, it does... will do it now, mention your PR and close it, ok ? 13:25
13:27 Ven left, ab5tract_ left
mj41 Charts from 15 years of Perl 6 updated github.com/mj41/Perl6-Analytics-re...m-prev2.md 13:28
13:31 virtualsue left
dalek kudo/nom: 781c02c | lizmat++ | src/core/Temporal.pm:
PR #525, ab5stract++
13:33
ast: 42cf639 | lizmat++ | S29-context/sleep.t:
Handle s/sleep-till/sleep-until/ and test coercion

  ab5tract++
13:34
13:38 n0tjack left
timotimo flussence: do i see it correctly that there's not yet an RFC for interleaved message streams over websockets? 13:40
13:46 aborazmeh joined, aborazmeh left, aborazmeh joined 13:52 mj41 left 14:00 khw joined 14:03 cognominal left 14:04 cschwenz_YAPC joined
cschwenz_YAPC in perl6, how would you write a regex enumerated character class which matches any printable character except whitespace? 14:05
14:06 skids left
lizmat <[enumerated]-[\s]> 14:07
garu waves and hugs everybody
jnthn afternoon, #perl6 14:08
timotimo o/
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]>
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
ShimmerFairy (which is equivalent to the P5-y [^stufhere] )
lizmat garu o/ 14:09
14:09 FROGGS_ joined
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"?
slurp($filename, :bin(64))?
abaugher garu: Agreed. I'm having trouble figuring out what to do with it first, there are so many cool new things.
cschwenz_YAPC ahh, ShimmerFairy++ (again) :-)
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
timotimo: in which case it should die die die
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 kudo/nom: c4cff9f | lizmat++ | src/core/Supply.pm:
Remove deprecated Supply stuff
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)
with :0pad saying to pad the buf with zeroes, if that wasn't clear :)
timotimo die die die. hmm.
lizmat or not with :pad(0) :-) 14:12
or just :pad with -1 :-)
timotimo as soon as we have that, though, we'll want endianness control, too
cschwenz_YAPC another regex question: are regexes in perl6 greedy (like in perl5) or non-greedy?
lizmat timotimo: multi's as cheap :-)
timotimo cschwenz_YAPC: you can decide for yourself, just like in perl5
lizmat are they not ?
14:12 FROGGS left
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"
cschwenz_YAPC so, <[asdf]>+ is greedy and <[asdf]>+? is non-greedy?
timotimo that's correct
the opposite of greedy is often called "frugal"
ShimmerFairy m: say "aaaba" ~~ /a+ b/
camelia rakudo-moar e6f360: OUTPUT«「aaab」␤»
ShimmerFairy I didn't think that through, +? wouldn't change things there :P
timotimo yeah 14:14
cschwenz_YAPC ah, okay. enough has changed in perl6 that i'm not sure what will and will not work.
timotimo m: say "aaaba" ~~ /a+ b?/
camelia rakudo-moar e6f360: OUTPUT«「aaab」␤»
timotimo m: say "aaaba" ~~ /a+? b?/
camelia rakudo-moar e6f360: OUTPUT«「a」␤»
dalek kudo/gmr: 5af3079 | (Stefan Seifert)++ | / (22 files):
Rename EnumMap to Map

Suggested by jnthn++
kudo/gmr: bd2a29e | (Stefan Seifert)++ | / (17 files):
Merge Enum into Pair

This should reduce the confusion around enum, Enum an Enumeration. Pair now implements shallow immutability like List. Pairs themselves are immutable, but containers used as values can be assigned to.
timotimo cschwenz_YAPC: a good heuristic is: "was it shitty?" if yes, it has probably been changed :D
ShimmerFairy m: say "aaaa" ~~ /(a*) $<foo>=(a+)/
camelia rakudo-moar e6f360: OUTPUT«「aaaa」␤ 0 => 「aaa」␤ foo => 「a」␤»
ShimmerFairy m: say "aaaa" ~~ /(a*?) $<foo>=(a+)/
camelia rakudo-moar e6f360: OUTPUT«「aaaa」␤ 0 => 「」␤ foo => 「aaaa」␤»
nine Public service announcement: the gmr branch implements the "Great Map Refactor" as suggested at postcircumfix.com/2015-08-29-untang...-hierarchy 14:15
timotimo cool
lizmat nine++ # as always
14:16 rindolf left
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
timotimo flussence: the RFC explicitly states that there can be an extension that does multiplexing 14:17
but you can't really write an extension for websockets in javascript and have the browser use it
nine But renaming EnumMap and merging Enum and Pair makes very much sense as far as I can tell
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?
or ... it doesn't concern itself with slots at all
and just read()'s the data into the array memory
smash [ptc]: have you used Template6 recently? 14:19
jnthn timotimo: Well, you can get the size from the type that is passed
timotimo right. slurp will want to set the correct number of elements so that the buf object can properly resize itself 14:20
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)
jnthn timotimo: Would ratehr not
timotimo jnthn: some other operation to achieve the same effect?
jnthn timotimo: I'm trying to make VMArray's guts less mutable, not more.
timotimo fair enough
jnthn timotimo: Let's just create a correct size buffer in the first place :)
(On the "why less mutable", because thread safety)
timotimo sure 14:22
timotimo is currently implementing a tiny bit of websockets
flussence: do you already have some code up that i could have a look at?
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...
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 :(
I'd started on length decoding and that's about it 14:25
timotimo let me show you what i've got so far 14:26
gist.github.com/timo/8a08025ae983feae80aa
(now with syntax highlightin)
flussence oh, that looks familiar... you're slightly ahead of me :) 14:27
timotimo i've been working terribly slowly 14:28
much distracted, very headache
flussence github.com/flussence/WebSockets take anything you find useful, I know it's not much
14:29 aborazmeh left
timotimo mhm 14:30
i'll be taking your encode-payload-length for sure
flussence \o/
timotimo the RFC has a few example bufs that mean something; i'll probably put them into a short test sub
o A single-frame unmasked text message 14:31
* 0x81 0x05 0x48 0x65 0x6c 0x6c 0x6f (contains "Hello")
14:32 brrt joined
timotimo hm. 14:32
can i perhaps ask you to contribute a tiny amount of code? :)
flussence sure thing
timotimo cool
because i'll be AFK for a bit
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
timotimo that'd be nice, but there's not really wiring set up yet to put data into the test method
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
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:35
14:36 Ven joined
Ven FROGGS: test #18: Cannot locate symbol '_ZN8Derived214All_The_ThingsEcsilfd' in native library './11-cpp.dylib' 14:36
timotimo github.com/timo/perl6-websocket <- flussence
thank you for helping me out :)
14:37 dalek left
flussence no problem :) 14:37
14:37 dalek joined, ChanServ sets mode: +v dalek
nine m: say (:a(1) :b(2)).perl; 14:40
camelia rakudo-moar e6f360: OUTPUT«(:a(1), :b(2))␤»
14:42 aborazmeh joined, aborazmeh left, aborazmeh joined
FROGGS_ Ven: can I get the entire output of test 11-cpp.t and 13-cpp...? 14:43
14:43 FROGGS_ is now known as FROGGS
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 >>␤»
jnthn m: say Seq
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/X3fSlotgQI␤Undeclared name:␤ Seq used at line 1. Did you mean 'Set'?␤␤»
jnthn Ah, that'n ain't a GLR regression
FROGGS garu: \o/
garu: have fun in here, and let us know if you have questions :o)
Ven FROGGS: gist.github.com/vendethiel/48c875fa0e35d66b53c4 14:47
14:47 aborazmeh left
dalek kudo/gmr: 1db79d4 | (Stefan Seifert)++ | src/Perl6/Actions.nqp:
Make :a($i) and a => $i mutable like 'a' => $i
14:49
FROGGS Ven: can you also gist the output of `nm 11-cpp.dylib; nm 13-cpp-mangling.dylib`?
brrt \o #perl6
FROGGS hi brrt
brrt i have a bit twiddling question
hi FROGGS
cschwenz_YAPC p6: my %foo = bar => {}; my %baz = %{%foo{"bar"}};
jnthn spectest a fix for RT #125995
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};␤»
cschwenz_YAPC ^^^ typo in error message 14:50
should read "please use %(%foo{"bar"}) at"
FROGGS ohh
mauke the other one has { { } 14:51
lizmat jnthn: camelia is still pre glr merge 14:52
nine lizmat: oh, why's that?
jnthn lizmat: Yes, was asserting that with my Seq test :)
lizmat because the jvm build is broken and somehow they're tied
jnthn lizmat: The bug I've fixing existed pre and post GLR 14:53
lizmat ah, misread the error message
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';
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'␤»
lizmat jnthn: we just didn't notice before because of flattening
Ven FROGGS: gist.github.com/vendethiel/03c11f217dcb0ec58599
jnthn oops, I got the test wrong 14:54
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';
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'␤»
jnthn Good, that's what I wanted.
brrt how does one get a binary NOT in rakudo
m: say ~1
camelia rakudo-moar e6f360: OUTPUT«1␤»
brrt does obviously not do the c-like thing
m: say +~1
camelia rakudo-moar e6f360: OUTPUT«1␤»
flussence m: +^1 14:55
camelia rakudo-moar e6f360: OUTPUT«WARNINGS:␤Useless use of "+^" in expression "+^1" in sink context (line 1)␤»
brrt hmmm
14:55 camelia left
brrt but ^ is XOR 14:55
pink_mist brrt: ~ in unary context makes it into a string
lizmat m: say ?1
14:55 camelia joined
lizmat m: say ?1 14:55
brrt m: say +^1
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)
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 ChanServ sets mode: +v camelia
camelia rakudo-moar e6f360: OUTPUT«True␤» 14:56
rakudo-moar e6f360: OUTPUT«-2␤»
jnthn +^ I think
brrt hmm
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)
jnthn ShimmerFairy: I'm quite disappointed you wrote japhb++'s carefully considered and optimized code.
*rewrote
brrt aside from the fact that the rakudo codebase doesn't use the bnot_i moarvm provides
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.
jdv79 is the version string prefix of v required?
brrt because a bigint extends poteintially forever
m: say 2**100;
camelia rakudo-moar e6f360: OUTPUT«1267650600228229401496703205376␤»
jnthn ShimmerFairy: Which, since it's mostly just constructing a different type, should give us the same cost.
flussence m: say my int32 $ = 1 + int32.Range.max
camelia rakudo-moar e6f360: OUTPUT«2147483648␤»
brrt m: say +^ 2**100;
camelia rakudo-moar e6f360: OUTPUT«-1267650600228229401496703205377␤»
FROGGS Ven: interesting... so it is "_ZN3Foo9TakeAVoidEv" vs "__ZN3Foo9TakeAVoidEv"
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 ☺)
brrt that's... just negating and subtracting one
pink_mist brrt: that's 2's complement or something isn't it?
jnthn ShimmerFairy: Well, *ideally* we'd just call into Rakudo's own grammar for it...
ShimmerFairy: e.g. the <value> rule
brrt hmm yeah
i can see how that works out
conceptually, at least
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)
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
jnthn ShimmerFairy: Granted it's non-trivial to make that work out
vendethiel FROGGS: no clue :(. I never looked at this, honestly
FROGGS vendethiel: sure, nobody does usually :o) 15:01
vendethiel: but I'll find out, now that I got the wanted output
vendethiel: thank you :o)
jdv79 i'll assume yes since "use 6" fails
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
jnthn ShimmerFairy: BTW, did you try using the profiler (--profile-compile -e "") to figure out where the slowdown at startup is? 15:02
It'll probably give a pretty good hint.
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
jnthn: does --profile replace that kcachegrind stuff I played with once a while back? The HTML output is pretty nifty anyway :)
jnthn ah
ShimmerFairy: The kcachegrind stuff was from Parrot, iirc. 15:04
ShimmerFairy Really? I used it fairly recently (definitely after Parrot... I think?). So huh.
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.
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
jnthn So maybe it was that.
Method 'devnull' not found for invocant of class 'IO::Spec' in block <unit> at t\spec\S32-io\io-spec-win.t:299
Does anybody know about ^^?
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
dalek kudo/nom: a395666 | jnthn++ | src/Perl6/Actions.nqp:
Stop << a b >> flattening into an arg list.

Fixes RT #125995.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125995
jnthn ShimmerFairy++
ShimmerFairy: Yeah, that's probably the most efficient way to go
FROGGS jnthn: ohh, IO::Spec.devnull was deprecated and potentially removed 15:07
jnthn FROGGS: ah
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.
jdv79 ok, pause bungle probably fixed now.
FROGGS jnthn: should be $*SPEC.devnull or so
jnthn ShimmerFairy: Sometimes the only way to find out how gnarly a problem is is to try solving it :)
tadzik computer, messages?
brrt computer says no 15:08
FROGGS tadzik: :D
dalek ast: 87f9d89 | jnthn++ | S02-literals/quoting.t:
Test for RT #125995.
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125995
tadzik heh, community bugreporteth, community fixeth away
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:10
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
ShimmerFairy: TimToady++ might have had something in mind
15:12 rindolf joined
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 kudo/nom: 891d9ad | lizmat++ | src/core/ (4 files):
Remove some more Supply/async related deprecations
lizmat nine: :D ?
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␤␤»
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)
lizmat m: class A { multi method new(A: $a) { } }; A.new(25)
camelia ( no output )
lizmat nine: perhaps you need to add the type of self to the sig 15:14
multi method new(Pair ... ) ??
flussence some repl-screwiness I just encountered: 15:15
~ $ perl6␤ > my uint32 $ = 1;␤ 1␤ > my uint32 $ = 1;␤ Unhandled lexical type in lexprimspec for '$ANON_VAR__1'␤
lizmat nine: multi method new(Pair: ... ) # oops, with the colon
nine lizmat: multi method new(Pair: $key, Mu \value)?
lizmat yes?
nine compiling
got time for this one shot before I have to exit the tram 15:16
nope :(
lizmat because without it, even though it lives in Pair.pm, the sig would be (Any: $key, Mu \value )
jnthn: or am I wrong ?
jnthn writes a hopefully helpful answer/rejection to rt.perl.org/Ticket/Display.html?id=126000 15:17
lizmat: lemme backlog a bit :) 15:18
15:18 brrt left
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?
TimToady: From reading 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
15:20 mprelude left, zakharyas joined
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
TimToady: At least, if I do the other most likely correct thing :)
lizmat jnthn: I think that would be excellent, really
jnthn TimToady: Does that strike you as problematic?
lizmat: Note that this synthetic would not automatically be equal to \n :) 15:21
lizmat ah... :-(
jnthn s/automatically// :)
lizmat but why not ?
jnthn Why would it be?
nine jnthn: walking homebfrom tram right now. Failure is due to latest commit in gmr branch. Reproduce: (:a(1) :b(2))
lizmat to make checking for newlines system independent ?
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
lizmat and it would write out \r\n on Win systems
and \n on others
TimToady I though the UC defined \r\n as a grapheme already
ShimmerFairy lizmat: it does mean that you can't find a regex pointing in the middle of a \r\n , among other niceties
lizmat and perhaps \r on old Apples
jnthn TimToady: Seems so...
TimToady it wouldn't be equal to \n, but /\n/ could still match it 15:23
the only real difficulty is trying to translate files from other systems
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?
jnthn ShimmerFairy: Well, my algo was based on Canonical_Combining_Order 15:24
ShimmerFairy: Which is how NFC is defined
FROGGS TimToady / jnthn: my gut feeling is that the jvm breakage is about SLURPY_LOL param handling...
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
TimToady: I replaced all of them but the NQPMu.as_jast blowup does not go away
TimToady I thought it was just a .jast
ShimmerFairy should read more on how Unicode itself talks about grapheme clusters sometime :)
FROGGS ahh, true 15:26
I tried bisecting it but that was not very enlightening either
jnthn The NQPMu.as_jast can occasionally be a non-mapped op... 15:27
FROGGS hmmm
jnthn Were the with/without ops ported to JVM? Could that be it? Do we know it was since GLR? 15:28
dalek ast: ac7fc16 | lizmat++ | S02-literals/quoting.t:
Fix the last victim of 17411ef9f20215f5c2f38
15:29
jnthn m: say 't' ~~ /<{'a'...'z'}>/
camelia rakudo-moar e6f360: OUTPUT«「t」␤»
jnthn will work on unregressing this one 15:30
El_Che jnthn: great slides you put out there 15:31
jnthn El_Che: Which ones? :) 15:32
El_Che: But thanks, whichever ones you enjoyed :)
ugexe i think jvm stopped building around aug 3rd from what i can see in my travis tests
15:33 Ven left
El_Che jnthn: jnthn.net/papers/2015-spw-perl6-course.pdf 15:35
that one
jnthn aha :)
El_Che a good pilot episode :)
ugexe ah i take that back, it started compiling again later on. but the error on aug 3rd was the NQPmu thing
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
dakkar jnthn: hello! 15:37
yoleaux 3 Mar 2015 23:29Z <Ulti> dakkar: re: irclog.perlgeek.de/perl6/2015-03-03#i_10215189 is this the sort of thing you wanted? sub foo(@list where Int ~~ all(@list.map({.WHAT}))) { say "YAY" }
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"}
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
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
is-deeply calls eqv
my data structure contains IO::Path objects
jnthn dakkar: Ah, is-deeply maybe should be using the CALLER's eqv
lizmat
.oO( maybe we should have a PREGLRia soon :-)
15:40
dakkar maybe
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
thing is, if I import/define a new multi candidate, my code will use it 15:42
but any other code I call won't
(if it was defined elsewhere)
dalek p: da1c95d | timotimo++ | src/QAST/Var.nqp:
don't display :decl() in qast dumps
ugexe star: say "very preglria"
camelia star-m 2015.03: OUTPUT«very preglria␤»
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...
dakkar very true
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
It wouldn't surprise me if that's a best practice in a decade...
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
15:45 cognominal joined
dakkar "visibily of a type"? what happens if I pass an object of such a type into code that does not import it? 15:45
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
ShimmerFairy timotimo: we don't, for the most part :)
jnthn m: { class Foo { } }; say Foo
camelia rakudo-moar e6f360: OUTPUT«(Foo)␤»
jnthn m: { my class Foo { } }; say Foo
camelia rakudo-moar e6f360: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dLdDBO2Gux␤Undeclared name:␤ Foo used at line 1␤␤»
jnthn Packages are our-scoped by default
dakkar which implies that I don't know what "our-scoped" means 15:47
jnthn Does "package-scoped" help?
dakkar yes
("our" in perl5 is weird) 15:48
15:48 abaugher left
dalek ast: e0dda18 | lizmat++ | S (2 files):
Fix 2 skip_rest deprecations
15:48
dakkar ok, now I see the difference
dalek kudo/nom: 37118f1 | jnthn++ | src/core/Cursor.pm:
Un-bust 't' ~~ /<{'a'...'z'}>/ post-GLR.
15:49 abaugher joined
FROGGS jnthn: with/without arn't ops afaics 15:49
TimToady the statement control versions are
RabidGravy I think of it as allowing "class B { class C { } }; B::C.new" work nicely ;-)_
dalek kudo/nom: ea295e3 | lizmat++ | lib/Test.pm:
Remove deprecations from Test.pm
15:50
ast: eab6cac | jnthn++ | S05-metasyntax/interpolating-closure.t:
Test for RT #125973.
15:51
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125973
lizmat m: class B { class C { } }; B::C.new.WHAT.say # minor nit, RabidGravy
camelia rakudo-moar e6f360: OUTPUT«(C)␤»
RabidGravy yaw
TimToady there are several uses of with/without in core 15:52
including statement controls 15:53
jnthn TimToady: Were there new nqp::ops? 15:54
iirc yes...but my brane is a bit hazy :)
timotimo only desugars, iirc
or rather, things added to the compiler object
the ones that take the compiler and the operation and build mast and stuff from that
jnthn Desugars may need adding per-backend dependong on where they're added
15:54 Ven joined
TimToady ./src/vm/moar/QAST/QASTOperationsMAST.nqp: my $is_withy := $op_name eq 'with' || $op_name eq 'without'; 15:55
./src/vm/jvm/QAST/Compiler.nqp: my $is_withy := $op_name eq 'with' || $op_name eq 'without';
15:55 FROGGS[mobile] joined
timotimo hits the dependgong 15:55
RabidGravy BONG 15:56
TimToady we was gonna work on the with/without code at SPW, but that didn't happen
jnthn oops, yes
Why are hackathons so short... :)
Ven because great things die early 15:57
lizmat should I revert the with/without in core ? 16:03
for the time being ?
jnthn lizmat: I don't think we know that's to blame yet
lizmat lemme check
jnthn lizmat: Given TimToady++ just showed there's code for it in JVM too 16:04
lizmat ah
dalek ast: 1776c94 | jnthn++ | S32-exceptions/misc.t:
Tests for RT #125812.
16:06
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125812
dalek kudo/nom: 876eb48 | jnthn++ | src/Perl6/Grammar.nqp:
Better errors for with(1){}/without(1){}.
jnthn lizmat: Could still be the issue of course...so worth checking
lizmat I think it's basically 42e19ee5be55d7e3d4d47 16:07
jnthn: re 876eb48, maybe "whenever" and "react" and "supply" should be added to that list as well ? 16:08
and "start" ?
TimToady I didn't do the jvm with/without
looks like hoelzro did it 16:09
moritz m: for <a b c> -> $x { LAST say $x }
camelia rakudo-moar e6f360: OUTPUT«(Mu)␤»
moritz m: for <a b c> -> $x { LAST { say $x } }
camelia rakudo-moar e6f360: OUTPUT«c␤»
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
jnthn lizmat: Feel free :)
moritz: I didn't know about it :)
TimToady hmm, jvm is calling isconcrete, not .defined 16:11
that's probably not gonna work right with Failures
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:12
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?
or List method
TimToady .rotor?
moritz if yes, what's that method called?
ah yes
jnthn TimToady: Possibly 16:14
Hm, think those few patches are what energy I have for today. Back to resting... o/
TimToady take care o' yerself 16:15
jnthn Thanks :)
16:18 spider-mario joined
timotimo good rest, jnthn! 16:22
16:24 AlexDaniel joined
timotimo ah 16:29
turns out we have a $flattened flag in the optimizer that ends up never being set to 1
dalek kudo/nom: 8da5c45 | lizmat++ | src/Perl6/Grammar.nqp:
Better errors for supply/whenever/react(1){}
16:30
lizmat so we're not optimizing ? 16:31
timotimo flattening an inner block is supposed to make an outer block more likely to be flattenable itself 16:32
we've apparently been only flattening innermost blocks into their containing blocks 16:33
16:34 n0tjack joined 16:35 mr-foobar left
ugexe what is flatmap anyway? 16:36
16:36 Ven left
smash ugexe: a map that can deal with list of lists? 16:37
16:38 AlexDaniel left, mr-foobar joined
timotimo the obvious fix i just applied leads to compilation problems 16:38
but i'll be looking further into that 16:39
16:39 n0tjack left
ugexe smash: try it 16:39
dalek kudo/nom: 3d4deee | lizmat++ | src/core/Any.pm:
Remove deprecated at_key and friends
smash m: ((1,2),(3,4)).flatmap({$_}) 16:42
camelia ( no output )
dalek kudo/nom: 4b4aa9f | ugexe++ | src/core/CompUnitRepo/Local/Installation.pm:
fix post-glr install /bin wrapper
kudo/nom: 13f829c | lizmat++ | src/core/CompUnitRepo/Local/Installation.pm:
Merge pull request #527 from ugexe/patch-4

fix post-glr install /bin wrapper
smash ugexe: well, it seems to work here in my local rakudo 16:45
ugexe it works differently than map? 16:46
smash yes
16:47 kaare_ left
TimToady gist.github.com/TimToady/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 });
camelia rakudo-moar e6f360: OUTPUT«[1, 2] [3, 4]␤[1, 2] [3, 4]␤»
smash nope, that's not correct
flussence lizmat++ # that was quick! 16:48
RabidGravy has panda stopped compiling stuff? 16:50
flussence yeah, a week or two ago...
lizmat RabidGravy flussence : that puts the whole installing precomp files onto my plate :-) 16:51
RabidGravy cool, just checking it wasn't me
lizmat yep ;-@ 16:52
lizmat it was at the SPW, afair, which would put it at a week ago exactly
in a way, I'm glad that it doesn't precomp anymore, because it was causing all sorts of issues
flussence just found out about "git subtree", which doesn't have a manpage...
lizmat now with FROGGS' work on cu_load branch, I'm more or less unblocked there 16:53
now all I need is tuits :-)
RabidGravy in the interim there may be a slight problem with previously compiled versions of modules hanging arpund
lizmat flussence++ # PRing fixes for my breakage
flussence RabidGravy: for that I just used a `find $rakudo_install -name '*.moarvm' -delete`
RabidGravy flussence, yeah that's what I did :) 16:54
nine SPW was only a week ago? Feels like a month
lizmat only a week, afaik
16:55 Ven joined 16:56 davido_ joined
lizmat only 76 commits to rakudo in that week 16:56
16:59 laouji left, Ven left
nine Practically nothing 17:02
17:07 pmurias joined
dalek p/js: 17fbff3 | (Pawel Murias)++ | TODO:
Update TODO
17:10
17:13 zakharyas left
dalek p/js: ba5a6ad | (Pawel Murias)++ | TODO:
Update the TODO file more
17:15
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
lizmat and I just merged it :-(
flussence nah, it's just the commit message sucks 17:17
lizmat ah, ok
flussence the commit itself *should* be fine...
lizmat ok, well, I merged it :-)
flussence yay
timotimo: it was failing a test in File::Find because the s/_/-/ thing is going to be final next release 17:18
(of rakudo)
17:18 shlomif joined 17:19 rindolf left, shlomif is now known as rindolf
lizmat TimToady: rosettacode.org/wiki/Y_combinator#Perl_6 s/&^arg/$^arg/ seems to fix it 17:24
I guess before GLR, it didn't enforce the type check ?
masak is back home 17:27
yoleaux 11:43Z <smash> masak: do you have the slides for you talk somewhere online? thank you
masak smash: masak.org/carl/yapc-eu-2015-interes...s/talk.pdf 17:28
smash masak: gerat, thank you
s/gerat/great/ 17:29
TimToady m: multi sub foo(@array) { say @array }; foo("abc".comb) 17:31
camelia rakudo-moar e6f360: OUTPUT«a b c␤»
TimToady this fails under GLR
masak .oO( Gerät, thank you )
TimToady without the multi it succeeds
17:33 baest_ joined 17:35 baest left 17:39 mj41 joined 17:40 Ven joined
_itz use File::Find; my @files := find( :dir("."), :type('file')) 17:43
17:43 davido_ left
_itz post-GLR I get Type check failed in binding; expected 'Positional' but got 'Seq' 17:44
is this a bug or changed behaviour?
moritz _itz: changed behavior; use assignment instead 17:45
my @files = ...;
_itz thats eager isn't it?
TimToady is it a := or is it a call to a multi?
.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.
moritz _itz: no
_itz ok ty 17:47
17:49 mauke left 17:52 baest_ left
lizmat shutting down& 17:52
17:52 lizmat left
flussence argh, the main bit of panda works fine but anything metadata-ish like "panda list" causes it to barf 17:53
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:55
17:55 cschwenz_YAPC left 17:56 dakkar left 17:57 baest joined 18:01 Ven left, AlexDaniel joined 18:02 kaare_ joined 18:07 Loren_ left
masak flussence: and GLR broke that expectation? 18:09
flussence nope, this is a separate thing...
I threw a bug report at it for the time being: github.com/tadzik/panda/issues/212 18:10
18:13 vendethiel- joined, vendethiel left 18:14 mj41 left
dalek rl6-roast-data: 8ba1737 | coke++ | / (10 files):
today (automated commit)
18:15
18:24 mprelude joined, mj41 joined
mj41 m: my $s; say $s.WHAT; say $s.VAR.WHAT; 18:25
camelia rakudo-moar e6f360: OUTPUT«(Any)␤(Scalar)␤»
mj41 m: my $s; say $s.WHAT ~ " " ~ $s.VAR.WHAT;
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␤␤»
AlexDaniel m: my $x = 5; say 'hello' if $x = 5; 18:27
camelia rakudo-moar e6f360: OUTPUT«hello␤»
AlexDaniel whoops…
18:46 raiph joined 18:47 n0tjack joined
timotimo o/ 18:49
i had some dinner
jnthn
.oO( '... if $x = 5' is assign of madness... )
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
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␤»
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. :)
yoleaux jnthn: I'll pass your message to TimToady.
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:51
18:52 n0tjack left
jnthn nine: I wonder how the spectest got fixed... 18:52
jnthn doesn't have the brane for it at the moment, alas
Tomorrow...or Monday. :)
nine me neither :)
jnthn away again
AlexDaniel GLRelia disappeared, does it mean that GLR was merged? 18:54
nine AlexDaniel: zes
yes
AlexDaniel nine: what keyboard layout is that? 18:55
timotimo the main difference between de and us/uk is y and z being switched
nine And KDE loves to forget that I want US layout for konsole
AlexDaniel timotimo: oh right! 18:56
timotimo: I was like .oO(Dvorak? No… Colemak? No… Workman? No…)
and somehow forgot about de…
timotimo and basically every non-alpha non-numeral character is moved around the keyboard
if i type the "yes" keys on my current keyboard i get üli 18:57
AlexDaniel timotimo: custom? 18:58
timotimo depends on what you call custom
AlexDaniel timotimo: what is it? :)
timotimo it's neo2, which comes pre-installed on pretty much every linux system
AlexDaniel oh neo, okay
timotimo: but why ü? :) 19:00
timotimo because german
the y key on my physical keyboard is where the english layout has the z
AlexDaniel right! 19:01
19:01 kaare_ left
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
files.progarm.org/2015-09-05-22055..._scrot.png (still working on it though)
raiph star: if ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';};
camelia star-m 2015.03: OUTPUT«1␤done␤»
raiph star: while ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';}; 19:08
camelia star-m 2015.03: OUTPUT«1␤done␤undo␤»
raiph m: with ++$ < 2 { UNDO say 'undo'; say ++$; say 'done';};
camelia rakudo-moar e6f360: OUTPUT«1␤done␤undo␤»
19:11 Sqirrel joined
raiph ^^ is this a bug? if so, I'll file an rt / clog tomorrow 19:11
(ie it's a bug but has it already been filed; I didn't find it when I searched RT) 19:12
timotimo star: my $result = do { say 'done' }; say $result.perl 19:14
camelia star-m 2015.03: OUTPUT«done␤Bool::True␤»
timotimo m: my $result = do { say 'done' }; say $result.perl
camelia rakudo-moar e6f360: OUTPUT«done␤Bool::True␤»
timotimo that's kinda weird
linux is great: plugging in my logitech mouse receiver dongle resets the keyboard to de and i have to setxkbmap de enw again 19:16
masak raiph: I don't see why UNDO should trigger in either of those cases. 19:17
(so yes, I think that's a bug)
raiph masak: i searched in rt for 'undo' and got just rt#111866 (by you) 19:23
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=111866
masak raiph: that RT ticket seems to be about UNDO not running often enough. 19:27
your discovery is about it running too often.
so I'd say they're distinct :)
19:32 zakharyas joined
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 …»
AlexDaniel m: 1 while 1 19:38
what is the shortest program that will hang?
camelia rakudo-moar e6f360: OUTPUT«(timeout)»
AlexDaniel or at least execute for long enough
FROGGS m: loop {} 19:39
camelia rakudo-moar e6f360: OUTPUT«(timeout)»
moritz m: + 1 xx * 19:42
camelia ( no output )
19:42 virtualsue joined
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)␤»
[Coke] hurls blogs.perl.org/users/coke/2015/09/s...erl-6.html
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 {})
.oO(or even 1 for ^∞)
19:45
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 ∞;␤»
vendethiel- m: my constant \∞ = Inf; .say for ^∞;
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 ^∞;␤»
AlexDaniel vendethiel-: it was a bit trickier than that
vendethiel- AlexDaniel: I guess it can be a term :)
19:50 Khisanth left
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␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51…»
vendethiel- AlexDaniel: :P
19:51 virtualsue left
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
AlexDaniel or any other number of ms, but it is significant
19:52 virtualsue joined
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. 19:56
20:00 telex left 20:01 darutoko- joined 20:02 telex joined, virtualsue left, virtualsue joined 20:04 darutoko left
moritz or rephrased: after a term, the parser expects an operator; after a sub, it expects a term (for the argument list) 20:04
20:05 Khisanth joined
RabidGravy yeah, I haven't found a pattern where that comes into play for me 20:05
_itz catpad.net/michael/apl/ 20:08
timotimo vimdiff-ing between the --target=ast and the --target=optimize of the core setting 20:11
yay, fun!
20:12 yqt joined
masak 'night, #perl6 20:14
timotimo gnite masak! 20:15
RabidGravy toodlepip
timotimo the diff hath finished! 20:19
20:22 darutoko- left
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:24
20:25 mj41 left 20:43 rindolf left 20:44 xfix left, zakharyas left
grondilu timotimo: I did not know it was not GLR-compatible. I'll have a look. 20:48
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:51
20:56 z448 joined 20:59 z448 left
jdv79 the jvm is still broke? 21:03
FROGGS jdv79: sadly, yes 21:05
jdv79 i an not saddened but that is mildly disturbing. 21:12
grondilu m: say my @ = Blob.new.list, 1; 21:16
camelia rakudo-moar e6f360: OUTPUT«1␤»
grondilu m: say .perl given my @ = Blob.new.list, 1;
camelia rakudo-moar e6f360: OUTPUT«[1]<>␤»
grondilu m: say my @ = Blob.new.list, 1; 21:17
camelia rakudo-moar e6f360: OUTPUT«1␤»
grondilu weird. I get [[] 1] locally
This is perl6 version 2015.07.1-745-g13f829c built on MoarVM version 2015.07-108-g7e9f29e 21:18
21:18 virtualsue left
FROGGS grondilu: camelia here is not up to dat 21:19
e
21:19 virtualsue joined
grondilu ok 21:20
21:20 virtualsue left, virtualsue_ joined, virtualsue_ is now known as virtualsue
grondilu [1] seemed to make more sense though. Possibly a regression. 21:21
I mean Blob.new.list should be Nil, not []
IMHO
or not. I don't know the GLR well enough I'm afraid. 21:26
I suspect most digest on rosettacode are broken. Checking it. 21:29
FROGGS one rule of thumb is that it does less flattening now
I guess the behaviour you see is correct 21:30
raiph m: say 1,(),2,(((1,))),3
camelia rakudo-moar e6f360: OUTPUT«1213␤»
FROGGS m: say .perl given my @ = |Blob.new.list, 1;
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;␤»
FROGGS $ perl6 -e 'say .perl given my @ = |Blob.new.list, 1;'
[1]
m: say (1,(),2,(((1,))),3).perl 21:31
camelia rakudo-moar e6f360: OUTPUT«(1, (), 2, (1,), 3)␤»
grondilu rosettacode.org/wiki/SHA-1#Perl_6 is broken indeed 21:32
raiph grondilu: TimToady has commented here today with some rosettacode pass/fail analysis comments 21:33
grondilu ok 21:34
still worth marking them as broken on RC I suppose 21:35
raiph he's using ingy++s code for handling rosetta en masse and I think he said hundreds were broken 21:36
21:36 virtualsue left 21:37 virtualsue joined
RabidGravy that's unfortunate 21:37
21:38 virtualsue left 21:40 Ven joined 21:47 pmurias left 21:48 Peter_R joined 21:54 z448 joined
grondilu hum, never seen that before: 21:55
« This Seq has already been iterated, and its values consumed. »
21:55 Ven left
ugexe you must have been gone for a month :) 21:55
i dont think ive seen any other message more from perl6
21:57 z448 left
RabidGravy right bed time. toodlepip 21:57
21:57 rurban joined
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␤»
grondilu ^this reproduces the "values consumed" error locally
22:02 RabidGravy left
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. :)
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];
camelia rakudo-moar e6f360: OUTPUT«4 6 10␤6 9 15␤»
22:14 abaugher left 22:15 abaugher joined 22:19 cognominal left
vendethiel- timotimo: don't leave us hanging! 22:25
timotimo hm? 22:34
22:36 TEttinger joined
vendethiel- timotimo: googling "vim right" doesn't help much 22:37
dalek kudo-star-daily: 5a69178 | coke++ | log/ (8 files):
today (automated commit)
22:43
22:44 rurban left 22:47 abaugher left 22:48 abaugher joined 23:02 mprelude left 23:06 Ven joined 23:33 lizmat joined 23:36 aborazmeh joined, aborazmeh left, aborazmeh joined 23:40 Ven left 23:43 ifim joined
timotimo well, yeah, why not just run vim and :help :right ? 23:43
23:45 spider-mario left 23:53 dayangkun joined