Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-10-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:15 ingy /msg NickServ VERIFY REGISTER ingy pwwuogzfjjhr
00:15 tadzik oh :)
00:15 tadzik that's why you do it in the server window ingy :P
00:16 ingy oops
00:17 ingy how do I talk to an operator in freenode?
00:18 ingy My account got messed up somehow
00:19 awwaiid ls
00:19 * awwaiid wants to be link ingy
00:19 timotimo ln -s ingy
00:20 timotimo the -Ofun page on perl6.org is kind of empty
00:20 timotimo we should put more fun up on the 'nets
00:22 * timotimo puts a few thoughts into the issues of the repository
00:26 mr_ron joined #perl6
00:31 timotimo we have control over the "perlhex" twitter account; i think it'd be great to fill it with a new tweet regularly
00:31 timotimo not necessarily every day, but perhaps at least on a weekly basis?
00:35 Zoffix ingy, /j #staff and ask there
00:40 ingy Zoffix: OK
00:41 ingy Zoffix: you need to be invited
00:43 Zoffix ingy, I wrote in that channel for a staffer to /msg you. So... they might. /whois them first, to ensure they are in fact staff.
00:43 ingy ok, thanks
00:43 ingy I had already asked about this in #freenode
00:44 ingy I had 32 chans regeistered
00:44 ingy but now they are registered to freenode-staff
00:44 Zoffix ingy, oh, if I try to join #staff, it redirects me to #freenode. I think #freenode is the right staff channel.
00:44 ingy because I hadn't identified recently before a freenode database cleanup
00:45 ingy ok
00:45 ShimmerFairy timotimo: for some reason I could kinda construe that as something you'd hear in a sci-fi movie: "we have control over perlhex. Escorting to the rakudo star now."    :P
00:45 Zoffix :D
00:47 ShimmerFairy timotimo: looking at perlhex's recent tweets, if you could somehow fit in something about Rats and FatRats, that might be interesting.
00:49 dalek perl6.org: 56c61f7 | (Zoffix Znet)++ | source/whatever/index.html:
00:49 dalek perl6.org: Replace outdated Inline::Rakudo mention with Inline::Perl6 (Closes #24)
00:49 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/56c61f75a5
00:49 dalek perl6.org: 607580e | (Zoffix Znet)++ | source/whatever/index.html:
00:49 dalek perl6.org: Use community-favoured MetaCPAN for Perl 5 docs
00:49 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/607580efe4
00:53 timotimo ShimmerFairy: what makes you say that?
00:53 laouji_ joined #perl6
00:53 ShimmerFairy timotimo: I just saw a few of the recent tweets about numbers, various ways to write them, etc., and I thought maybe showing off the other types (Rat, Num, Complex) might be a good idea
00:54 timotimo ah
00:54 aborazmeh joined #perl6
00:54 aborazmeh joined #perl6
00:58 ShimmerFairy timotimo: oh! jnthn's 0.1 + 0.2 == 0.3 example from his introductory slides might be a good one to show our use of Rat over floating-point where other langs just use floating-point :)
00:58 tokuhirom joined #perl6
00:59 timotimo aye, that's a good one
01:03 dalek perl6.org: d821680 | (Zoffix Znet)++ | source/compilers/index.html:
01:03 dalek perl6.org: Fix invalid markup
01:03 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/d821680d8c
01:03 dalek perl6.org: 23ee70a | (Zoffix Znet)++ | source/compilers/index.html:
01:03 dalek perl6.org: Mark Niecza as discontinued (Closes #26)
01:03 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/23ee70aee8
01:05 dalek doc: f76fb3d | skids++ | lib/Language/functions.pod:
01:05 dalek doc: Catch docs up with +/+@ slurpies
01:05 dalek doc:
01:05 dalek doc: Remove example that does not work for form that should
01:05 dalek doc: now, as it turns out, be discouraged, as it may never
01:05 dalek doc: work unless Capture is changed to carry hanging comma
01:05 dalek doc: information.
01:05 dalek doc: review: https://github.com/perl6/doc/commit/f76fb3d69d
01:06 dalek perl6.org: 7b7d585 | (Zoffix Znet)++ | source/compilers/ (2 files):
01:06 dalek perl6.org: Mark STD and viv as not actively developed (Closes #29)
01:06 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/7b7d585f6d
01:07 Zoffix What do you think of adding a "Try it out live" thing to perl6.org that would communicate with camelia to run code the user types?
01:08 ShimmerFairy It's been discussed before, and it sounds nice, but the "try it" evaluator should be separate from camelia methinks :)
01:09 Zoffix Reuse. Reduce. Recycle! :) What is the reason to avoid using camelia?
01:10 ShimmerFairy Zoffix: could certainly be another instance of camelia, but something about having the same bot run IRC stuff and website stuff seems like it could cause problems somewhere down the road.
01:11 * Zoffix sees it nothing more than adding a thin layer for users to interact with the bot without having to log in on IRC.
01:11 ShimmerFairy I'm certainly not the one making final decisions, it's just that I personally would separate the usages :)
01:12 Zoffix I would keep them together, to simplify keeping stuff up to date :) A topic for another time, I guess :)
01:14 ShimmerFairy yeah, in at least a few hours there'll be more people available to discuss this with :)
01:20 lichtkind joined #perl6
01:25 timotimo the last time i worked on a "try perl6 in your browser" thing i was bitten by the instability in async stuff as used by HTTP::Server::Async
01:27 timotimo as well as Proc::Async
01:27 timotimo on top of the stability improvements for async stuff in general, P::A has seen some nice improvements in the time since i last tried
01:28 timotimo but really, the perfect thing to have would be an ipython compatible kernel backend; i have recently considered perhaps writing the thing with Inline::Python and re-using the code that already exists in ipython itself
01:29 timotimo because there's a "how to get your kernel working using python code" guide on the jupyter page
01:30 timotimo on the other hand, that's really mostly for repl-like things and our current solution to do repl-like things is ... enhancable
01:32 * Zoffix 's plan was to use Perl 5's Mojolicious
01:32 timotimo why u no dogfood?
01:32 timotimo (of course, done trumps done in perl6 :) )
01:36 ShimmerFairy timotimo: I disagree, perl6 done in perl6 is way cooler than perl6 done :P
01:41 mr_ron joined #perl6
01:48 timotimo we're making headway
01:59 kaare__ joined #perl6
02:17 pochi joined #perl6
02:29 noganex joined #perl6
02:41 tokuhirom joined #perl6
02:41 pochi_ joined #perl6
02:44 lichtkind_ joined #perl6
03:14 telex joined #perl6
04:18 Xor_ joined #perl6
04:18 crux joined #perl6
04:22 timbunce_ joined #perl6
04:34 PotatoGim joined #perl6
04:34 PotatoGim Hi.
04:45 Xor_ joined #perl6
05:00 tokuhirom joined #perl6
05:06 Xor_ joined #perl6
05:18 Xor_ joined #perl6
05:34 apotheon joined #perl6
05:45 laouji_ joined #perl6
05:46 Xor_ joined #perl6
06:01 quester joined #perl6
06:02 quester p6: say EVAL "2+2";
06:02 camelia rakudo-moar 2765b6: OUTPUT«4␤»
06:02 quester p6: say eval "2+2";
06:02 camelia rakudo-moar 2765b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤    eval used at line 1. Did you mean 'val'?␤␤»
06:02 * quester thinks that could considered an LTA error message...
06:10 rurban joined #perl6
06:14 FROGGS joined #perl6
06:14 domidumont joined #perl6
06:16 diana_olhovik joined #perl6
06:18 * quester submitted RT #126264
06:19 quester left #perl6
06:19 domidumont joined #perl6
06:26 brrt joined #perl6
06:27 brrt good *
06:27 FROGGS o/
06:29 Xor_ joined #perl6
06:29 [Tux] test             50000    37.214    37.095
06:29 [Tux] test-t           50000    38.534    38.415
06:30 [Tux] http://tux.nl/Talks/CSV6/speed4.html
06:30 tokuhirom how do i get remote-addr by socket from IO::Socket::Async.listen?
06:31 brrt [Tux], that's a regression, isn't it?
06:31 Ven joined #perl6
06:31 [Tux] I think it is noise
06:31 brrt hmmm
06:31 brrt well, here's hoping
06:31 [Tux] look at the bottom graph
06:32 brrt aye
06:39 brrt i finally have a reason why the tiler-combination-generator terminates
06:39 brrt as in, i finally know why it can't oscillate
06:40 FROGGS oscillate?
06:41 brrt yes, well, it's a fixed-point algorithm that tries to find the complete set of allowable combinations
06:41 brrt it could be the case that a set would appear in one iteration, then disappear in the next, then reappear in the one after that
06:42 FROGGS ohh :o)
06:42 [Sno] joined #perl6
06:42 brrt that can't happen, because sets don't ever disappar completely, they're just merged in other sets, in which case they disappear as individual items, but they still exist as the subset of another set
06:43 brrt another worry is whether the sets are always the *complete* set
06:43 brrt but i think i can reason my way out of that
06:43 brrt the tl;dr of it is that not generating a complete set would seem to cause a logical contradiction
06:45 moritz \o
06:45 moritz thanks Zoffix
06:45 brrt good * moritz :-)
06:45 avuserow does anyone know if TimToady++'s talk tomorrow will be recorded or streamed? I was hoping to go but tickets are sold out.
06:47 brrt is TimToady giving a talk tomorrow, again? :-o where?
06:48 FROGGS at a craigslist++ office I think?
06:48 avuserow http://perl6releasetalk.ticketleap.com/perl-tech-talk/details
06:49 avuserow it's actually at the exploratorium, which sounds awesome
06:49 brrt omg :-o
06:49 brrt stuff is in motion
06:49 brrt exciting
06:50 * brrt thinks he's going to really miss sigil variance in perl6. it's become second nature in perl5 to me
06:50 FROGGS brrt: I'm happy it is gone, really
06:51 Timbus_ im so glad it's gone
06:51 brrt i guess it really just resonated with me
06:51 brrt want one item of a list? prefix with $. want many? prefix with @
06:52 moritz it starts to get when you do a hash slice
06:52 moritz and write @h{qw/a b/}
06:52 moritz and then you do a hash slice on a hash ref
06:53 moritz and the beginner's mind just goes WAT?
06:53 brrt but ain't that fun though
06:53 brrt :-)
06:53 brrt i agree it's complex. but we've reduced that complexity and introduced the distinction between := and =
06:54 brrt which, to my mind, still says WAT
06:59 moritz except that the normal user basically never has to use :=
07:00 moritz before GLR, there were use cases for := to avoid eager evaluation
07:00 moritz those are gone now, afaict
07:00 zakharyas joined #perl6
07:00 brrt hmmm
07:00 brrt yeah, that is true
07:01 brrt lets hope that remains true
07:02 * Ven waves at #perl6
07:03 brrt \o Ven
07:14 nine .tell lizmat Pair does shallow immutability. You can't change its value, but if the value is a container, you can still assign to that. Just like List does post-GLR. Maybe that's a good fit for Bag, MixHash, ... as well?
07:14 yoleaux nine: I'll pass your message to lizmat.
07:14 nine .tell masak Enum's gone :) There's just Pair now.
07:14 yoleaux nine: I'll pass your message to masak.
07:15 moritz m: Enum
07:15 camelia rakudo-moar 2765b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YKzYDtd7RY␤Undeclared name:␤    Enum used at line 1. Did you mean 'num'?␤␤»
07:16 moritz \o/
07:18 laouji_ joined #perl6
07:23 ely-se joined #perl6
07:30 espadrine_ joined #perl6
07:32 masak morning, #perl6!
07:32 yoleaux 07:14Z <nine> masak: Enum's gone :) There's just Pair now.
07:33 masak \o/
07:33 pdcawley joined #perl6
07:35 masak well, this came up in a discussion where we talked about making .value immutable
07:35 Xor_ joined #perl6
07:35 masak I guess what we can do instead with Pair is to make it an rvalue
07:35 masak how do you construct a Pair with an rvalue .value ? :)
07:36 brrt that took some parsing
07:36 moritz masak: key => $value
07:37 bjz joined #perl6
07:37 masak ah, yes.
07:37 masak m: my $p = (key => 42); say $p.perl; $p.value = 5; say $p.perl
07:37 camelia rakudo-moar 2765b6: OUTPUT«:key(42)␤Cannot modify an immutable Int␤  in block <unit> at /tmp/zmd5ndj_D7:1␤␤»
07:37 masak \o/
07:38 masak well, then. we have all we need for Bag and other immutables.
07:38 moritz m: my $p = (key => (my $v = 42)); $p.value = 23; say $p
07:38 camelia rakudo-moar 2765b6: OUTPUT«key => 23␤»
07:38 Ven fwiw, that's going to bug people :)
07:39 Ven bug newcomers and bite users, probably. oh well, that ship sailed the very first day of perl6 :)
07:40 Ven m: sub _($a is copy) is rw { $a }; my $p = (key => _(42)); $p.value = 23; say $p
07:40 camelia rakudo-moar 2765b6: OUTPUT«key => 23␤»
07:40 Ven m: sub _($a) is rw { $a }; my $p = (key => _(42)); $p.value = 23; say $p
07:40 camelia rakudo-moar 2765b6: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/1DCnhMKyKA:1␤␤»
07:40 Ven yarrh
07:42 masak m: my $p = (key => ($ = 42)); $p.value = 23; say $p # fun fact: the anon state variables can be used in places where we're not all that interested in `state` semantics
07:42 camelia rakudo-moar 2765b6: OUTPUT«key => 23␤»
07:43 Ven masak: thing is -- this is going to bite people later when they use that code in a loop. I'd rather not recommend it :)
07:45 masak how would it bite them in a loop?
07:45 masak we're doing an assignment of a literal
07:46 RabidGravy joined #perl6
07:46 Timbus_ thats actually.. kinda neat
07:50 masak yes, and in my view it actually makes the "you're supposed to have a container there, not a value" pill a little bit easier to swallow
07:51 masak we just teach people to go `$ = 42` instead of `42`
07:53 masak it's like "the smallest possible thing that can be a container" :)
07:54 darutoko joined #perl6
07:57 jsimonet joined #perl6
07:58 nine m: my $p = (key => (my $ = 42)); $p.value = 23; say $p # a bit less scary
07:58 camelia rakudo-moar 2765b6: OUTPUT«key => 23␤»
08:00 dalek rakudo/nom: 8dd7440 | FROGGS++ | src/ (4 files):
08:00 dalek rakudo/nom: handle Type:D and Type:U on variables and attributes
08:00 dalek rakudo/nom:
08:00 dalek rakudo/nom: `my Int:D $foo` compiles to something like `my Int $foo where *.defined = 0`
08:00 dalek rakudo/nom: now.  Some occurrences of Int:D in the setting had to be removed because at
08:00 dalek rakudo/nom: the time it is compiled we can't instanciate Pair.  And we need Pair to add
08:00 dalek rakudo/nom: the constraint to the variable or attribute.
08:00 dalek rakudo/nom: However, these occurrences had no affect yet anyway.
08:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8dd74406e6
08:00 FROGGS .tell jnthn please try to break https://github.com/rakudo/rakudo/commit/8dd74406e6 :o)
08:00 yoleaux FROGGS: I'll pass your message to jnthn.
08:01 bjz joined #perl6
08:01 ely-se can't help but read :D and :U as smileys
08:01 FROGGS ely-se: that's what they are called, yes
08:01 ely-se :U
08:02 ely-se ooh the new perl6 webdesign is nice
08:02 nine FROGGS: I wonder if those Int:D in Range would be better as int anyway
08:02 FROGGS m: my Int:D $foo; say $foo # happy code is happy. ... in a bit
08:02 camelia rakudo-moar 2765b6: OUTPUT«(Int)␤»
08:03 FROGGS nine: yeah, I was thinking about that, but was too sleepy last night when I changed it to think about it
08:03 FROGGS eww, that sentence sounds weird
08:07 bjz joined #perl6
08:08 nine FROGGS: well I think my sentence was not that much of a sentence either ;) It is Monday morning after all :)
08:09 FROGGS yeah
08:09 * FROGGS yawns
08:11 Xor_ joined #perl6
08:15 dalek perl6.org: c3ac91f | (Ilmari Vacklin)++ | source/index.html:
08:15 dalek perl6.org: Fix typo.
08:15 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/c3ac91fde5
08:16 iv to my surprise I had commit rights
08:19 FROGGS iv: well, you are mentioned in the perl(5)guts, arn't you? ;o)
08:19 ely-se lol
08:23 dakkar joined #perl6
08:26 Ven joined #perl6
08:28 saaki joined #perl6
08:28 araujo joined #perl6
08:28 araujo joined #perl6
08:28 brrt yes, the new perl6 design is very nice
08:28 brrt bootstrap i guess?
08:29 ely-se obviously
08:38 rindolf joined #perl6
08:39 rurban joined #perl6
08:41 bjz joined #perl6
08:41 grondilu TimToady: I'm reading https://en.wikipedia.org/wiki/Function_composition and I admit I'm a bit confused.  It is said that &infix:<o> is always associative.
08:42 mattprelude joined #perl6
08:43 brrt my suspicion is that is only true for the mathematical concept of a function
08:43 grondilu m: my $x = rand(); say ((&cos o &sin) o &tan)($x); say (&cos o (&sin o &tan))($x);
08:43 camelia rakudo-moar 8dd744: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8ZQDrDUPW3␤Unsupported use of rand(); in Perl 6 please use rand␤at /tmp/8ZQDrDUPW3:1␤------> 3my $x = rand7⏏5(); say ((&cos o &sin) o &tan)($x); say ␤»
08:44 grondilu m: my $x = rand; say ((&cos o &sin) o &tan)($x); say (&cos o (&sin o &tan))($x);
08:44 camelia rakudo-moar 8dd744: OUTPUT«0.958944009037411␤0.958944009037411␤»
08:44 duncan_dmg joined #perl6
08:46 brrt that's likely to be sensitive to floatingpointedness
08:46 grondilu ((f o g) o h)(x) = (f o g)(h(x)) = f(g(h(x))
08:47 grondilu (f o (g o h))(x) = f((g o h)(x)) = f(g(h(x))
08:47 grondilu it *is* associative
08:47 Xor_ joined #perl6
08:48 grondilu (if I'm not mistaken)
08:48 brrt hmmmmmmmm
08:49 brrt i shouldn't doubt mathematics, but then agian, i'm wondering if there aren't some edge conditions there
08:49 ely-se brrt makes me hungry and now I want a burrto
08:50 bjz joined #perl6
08:50 grondilu I vaguely remember now that I've been taught that long ago and was a bit puzzled by it then.
08:50 grondilu but I forgot about it as the composition operator is rarely used anyway.
08:50 brrt that is a new interpretation of my nickname ely-se
08:50 brrt i've heard it compared to machine guns, too
08:50 ely-se burrito*
08:51 ely-se next time I'm in the local burrito shop I'll ask for a vowelless burrito
08:56 grondilu m: say [o] &cos xx *
08:56 camelia rakudo-moar 8dd744: OUTPUT«Cannot reverse a lazy list␤  in block <unit> at /tmp/htaFAK478C:1␤␤Actually thrown at:␤  in any  at gen/moar/m-Metamodel.nqp:2869␤  in block <unit> at /tmp/htaFAK478C:1␤␤»
08:57 grondilu m: say &infix:<o>.prec
08:57 camelia rakudo-moar 8dd744: OUTPUT«Method 'prec' not found for invocant of class 'Sub'␤  in block <unit> at /tmp/VJM8bFte4U:1␤␤»
08:59 grondilu m: m: say find-reducer-for-op(&infix:<o>)
08:59 camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|62104984) ... }␤»
08:59 * grondilu doesn't get it
09:04 grondilu m: m: say find-reducer-for-op(&[o])
09:04 camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|73469344) ... }␤»
09:04 grondilu m: m: say find-reducer-for-op(&[**])
09:04 camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_RIGHT (| is raw) { #`(Sub|74108528) ... }␤»
09:04 grondilu &[o] is seen as left associative, so why does it try to reverse in [o] &cos xx *  ?
09:05 Skarsnik joined #perl6
09:06 Xor_ joined #perl6
09:07 grondilu also:  say [+]  # is ok
09:07 grondilu m: say [+]  # is ok
09:07 camelia rakudo-moar 8dd744: OUTPUT«0␤»
09:07 grondilu m: say [o]  # is not
09:07 camelia rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in block <unit> at /tmp/2cuPDkeZso:1␤␤»
09:10 ShimmerFairy m: say &infix:<+>()
09:10 camelia rakudo-moar 8dd744: OUTPUT«0␤»
09:10 ShimmerFairy m: say &infix:<∘>()
09:10 camelia rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤  in block <unit> at /tmp/XzqCiSNFYi:1␤␤»
09:10 ShimmerFairy function composition doesn't have a 0-arg form, that's why it doesn't work :)
09:10 grondilu yes, that's the issue
09:11 grondilu &[o] should be { $_ }
09:11 grondilu or something like that
09:11 grondilu I mean &[o]()
09:11 grondilu -> |args{ |args }
09:12 grondilu a general identity function can be useful anyway.
09:13 jnthn .tell lizmat I'm not too happy about exposing MapIterator at the top level; I want to keep us free to evolve such things in the future. Please put it as Rakudo::Internals::MapIterator if you wish to share it between things (we'll want to take a pass through the setting for other leaking things to move there also).
09:13 yoleaux 4 Oct 2015 20:24Z <lizmat> jnthn: should VM supported object hashes be added to nope.md ?
09:13 yoleaux jnthn: I'll pass your message to lizmat.
09:13 yoleaux 08:00Z <FROGGS> jnthn: please try to break https://github.com/rakudo/rakudo/commit/8dd74406e6 :o)
09:14 jnthn .tell lizmat VM supported hashes are an implementation detail; nope.md is about language things
09:14 Ven joined #perl6
09:14 yoleaux jnthn: I'll pass your message to lizmat.
09:16 jnthn .tell lizmat I suspect we'll get around to doing that improvement sometime in 2016; we shouldn't have trouble rolling that out without anyone noticing anything, except hopefully a memory usage and performance improvement :)
09:16 yoleaux jnthn: I'll pass your message to lizmat.
09:17 grondilu m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]()
09:17 camelia rakudo-moar 8dd744: OUTPUT«-> |args is raw { #`(Block|85442336) ... }␤»
09:17 grondilu m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]()(pi)
09:17 camelia rakudo-moar 8dd744: OUTPUT«(3.14159265358979)␤»
09:18 grondilu m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say &[myo]()(pi); say [myo] &cos xx *
09:18 camelia rakudo-moar 8dd744: OUTPUT«(timeout)(3.14159265358979)␤»
09:20 grondilu m: multi infix:<myo> (&f, &g --> Block) { (&f).count > 1 ?? -> |args { f |g |args } !! -> |args { f g |args } }; multi infix:<myo>(&f = -> |args { |args } --> Block) { &f }; say find-reducer-for-op(&[myo])
09:20 camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|60896840) ... }␤»
09:21 espadrine_ joined #perl6
09:28 Xor_ joined #perl6
09:29 avar joined #perl6
09:29 groky joined #perl6
09:31 * grondilu notices the note:
09:31 grondilu # XXX GLR we really, really should be able to do reduce on the # iterable in left-associative cases without having to make a # list in memory.
09:31 grondilu in src/core/Any-iterable-methods.pm
09:32 jnthn .tell FROGGS I think we want to do it at MOP level in the future, if nothing else for speed.
09:32 yoleaux jnthn: I'll pass your message to FROGGS.
09:33 jnthn .tell FROGGS I think we should force an initializer on :D'd things. .new is a bad default. Try this: `class C { has $.x = rand }; for ^5 { my C:D $foo; say $foo.x }`
09:33 yoleaux jnthn: I'll pass your message to FROGGS.
09:34 jnthn .tell FROGGS also we totally drop the thing on the floor in some situations, like `my $x = Int:D; say $x`
09:34 yoleaux jnthn: I'll pass your message to FROGGS.
09:34 TEttinger joined #perl6
09:34 jnthn .tell FROGGS That latter one is why I was more pondering a MOP-level solution: so they are first class.
09:34 yoleaux jnthn: I'll pass your message to FROGGS.
09:35 Skarsnik Hi, I still have issue with DBIish (and Pg) the fetchrow_hashref give me a hash of str (not Str) and when I try to copy the value in another hash. I still get str
09:35 moritz Skarsnik: did you open an issue in the DBIish repo, with code to reproduce it?
09:36 moritz Skarsnik: if not, that is what you should do
09:36 jnthn Anybody got anything they're blocking on me to look at / give input to? Please let me know. :)
09:36 * jnthn has a nagging feeling he forgot something...
09:36 moritz has the JIT issue with named args been fixed?
09:37 * grondilu discovers the sub (+arg) {...} syntax
09:37 jnthn moritz: Not afaik
09:38 jnthn moritz: Last I know brrt++ had managed to get it down to a really small reproduction
09:39 ely-se Wait, are :D and :U really called "smileys" in Perl 6?
09:40 Xor_ joined #perl6
09:41 yakudza joined #perl6
09:43 Skarsnik moritz, well I updated my rakudo to see if that fixed it, but it's really weird. could be because Pg.pm use := to get the value from Pg? https://github.com/perl6/DBIish/blob/master/lib/DBDish/Pg.pm6#L282
09:43 jnthn ely-se: I'd go for "type modifier" or maybe if I handwave enough I can call it a "type operator" :) But I suspect folks caling them a "type smiley" ain't gonna go away :P
09:43 ely-se ok :P
09:44 nine jnthn: maybe bool_enum?
09:44 ely-se uh, I mean: ok :U
09:44 jnthn nine: Ooh. Thanks :)
09:44 * brrt would require a good afternoon with gdb and nice amenities to figure that one out, and just hasn't found it yet
09:46 * jnthn is currently looking into the status of method postcircumfix:<( )>
09:47 jnthn iirc, that went away in favor of CALL-ME
09:48 larion joined #perl6
09:48 ely-se Is it possible to implement COMEFROM in Perl 6?
09:49 jnthn But CALL-ME hasn't got a single mention in the design docs
09:49 lizmat good *, #perl6!
09:49 yoleaux 07:14Z <nine> lizmat: Pair does shallow immutability. You can't change its value, but if the value is a container, you can still assign to that. Just like List does post-GLR. Maybe that's a good fit for Bag, MixHash, ... as well?
09:49 yoleaux 09:13Z <jnthn> lizmat: I'm not too happy about exposing MapIterator at the top level; I want to keep us free to evolve such things in the future. Please put it as Rakudo::Internals::MapIterator if you wish to share it between things (we'll want to take a pass through the setting for other leaking things to move there also).
09:49 yoleaux 09:14Z <jnthn> lizmat: VM supported hashes are an implementation detail; nope.md is about language things
09:49 yoleaux 09:16Z <jnthn> lizmat: I suspect we'll get around to doing that improvement sometime in 2016; we shouldn't have trouble rolling that out without anyone noticing anything, except hopefully a memory usage and performance improvement :)
09:51 lizmat jnthn: MapIterator would be the first thing in Rakudo::Internals
09:51 lizmat would it be ok if I just rename it to MAPITERATOR (all uppercase) like many other currently exposed internals ?
09:53 brrt i think comefrom is implemented by translating it to a goto-label pair
09:53 brrt and iirc we've not implemented goto
09:54 brrt but as far as vm level support goes, i'm fairly sure we can
09:54 brrt either as a true jump or as a lexotic exception
09:54 jnthn lizmat: I'd like those other curerntly exposed internals to shuffle off into the package too, maybe modulo some discussion on if we want to organize that
09:54 jnthn lizmat: e.g. ::IO::...
09:55 lizmat would that be before or after Christmas ?
09:55 jnthn lizmat: The trouble with the uppercasing approach is that they're all discoverable through CORE::.keys
09:55 lizmat we could just adapt PseudoStash keys / AT-KEY etc. :-)
09:55 * brrt would suggest that cleanup from exposed internals would be before christmas, because otherwise they may accidentally become features
09:56 Ven joined #perl6
09:56 mattp__ joined #perl6
09:56 lizmat but ok, I hear you...
09:56 jnthn lizmat: Before; anything with a name Rakudo::Internals:: is pretty clearly guts, whereas an uppercased thing ain't (I mean, EVAL is uppercase, but intended for userland)
09:57 jnthn lizmat: fwiw, not saying it has to be you that slogs through doing it, just that we may as well start with MapIterator as we mean to go on. :)
09:57 lizmat yeah, that's ok  :-)
09:58 lizmat I guess we want Rakudo::Internals to be a -package- right ?
09:59 jnthn *nod*
09:59 jnthn That makes it easy to extend as we go
09:59 nine Ah, it's good that you are discussing this, as I'm planning on lifting the DwimIterator from HYPER to use it in META_ZIP :)
10:00 jnthn :)
10:02 Xor_ joined #perl6
10:02 lizmat nine: give me a few mins, and Rakudo::Internals should be ready to be used :-)
10:03 nine lizmat: take your time :) There's still $day-job to take care of
10:06 jnthn Do we know what caused the startup time regression?
10:06 lizmat no
10:06 jnthn k
10:08 jnthn spectest is getting rather messy on Windows...
10:09 lizmat hmmm... first stab at Rakudo::Internals makes settings parse go infiniloop  :-(
10:10 lizmat jnthn: the bag/mix failures are mine and will be dealt with shortly
10:10 jnthn lizmat: OK, thanks.
10:10 * jnthn is busy breaking the world :)
10:11 laouji joined #perl6
10:11 jnthn But it's hard to see how much
10:11 jnthn Because heredoc changes have shagged up quite a few spectests :(
10:12 jnthn (On Windows only)
10:13 Bucciarati joined #perl6
10:14 dalek rakudo/nom: 88907fc | jnthn++ | src/Perl6/ (4 files):
10:14 dalek rakudo/nom: Eliminate use of postcircumfix:<( )> method.
10:14 dalek rakudo/nom:
10:14 dalek rakudo/nom: We replaced it long ago with CALL-ME.
10:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/88907fcb68
10:16 jnthn oops, missed one mention
10:16 rurban joined #perl6
10:16 jnthn Well, two, the second was deliberate
10:16 jnthn m: class C { method @($idx) { } }; say C.^methods
10:16 camelia rakudo-moar 8dd744: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3QNzrp5aeW␤Missing block␤at /tmp/3QNzrp5aeW:1␤------> 3class C { method7⏏5 @($idx) { } }; say C.^methods␤»
10:16 jnthn m: class C { method @.($idx) { } }; say C.^methods
10:16 camelia rakudo-moar 8dd744: OUTPUT«(postcircumfix:<[ ]>)␤»
10:17 jnthn I think that one wants to become AT-POS, and AT-KEY for % and CALL-ME for & if we want to keep it
10:19 dalek rakudo/nom: 07c5694 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
10:19 dalek rakudo/nom: Remove one more method postcircumfix:<( )> use.
10:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/07c5694670
10:19 ribasushi joined #perl6
10:21 dalek rakudo/nom: 24e2dc4 | lizmat++ | / (3 files):
10:21 dalek rakudo/nom: Introduce Rakudo::Internals with MapIterator
10:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24e2dc417b
10:21 dalek rakudo/nom: 2291b05 | lizmat++ | src/core/ (2 files):
10:21 dalek rakudo/nom: Use Rakudo::Internals::MapIterator
10:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2291b0581b
10:27 literal joined #perl6
10:31 jnthn gah, coercion/invocation is such a tangle
10:31 lizmat .oO( YAT :-)
10:32 jnthn I really don't like how it gets overloaded onto CALL-ME
10:33 pippo joined #perl6
10:33 pippo o/ #perl6;
10:33 ely-se joined #perl6
10:33 pippo m: my @a = ^10; my @b = ^10; my @c =  @a, @b; say @c.unique;
10:34 camelia rakudo-moar 8dd744: OUTPUT«([0 1 2 3 4 5 6 7 8 9] [0 1 2 3 4 5 6 7 8 9])␤»
10:34 pippo ^^ Is that correct?
10:35 lizmat pippo: yes, that's the 1 argument rule in action
10:35 lizmat my @a = ^10; my @b = ^10; my @c =  @a, @b; say @c.elems
10:35 lizmat m: my @a = ^10; my @b = ^10; my @c =  @a, @b; say @c.elems
10:35 camelia rakudo-moar 8dd744: OUTPUT«2␤»
10:35 ShimmerFairy not even that, it's just less flattening
10:36 lizmat m: my @a = ^10; my @b = ^10; my @c =  @a; say @c.elems
10:36 camelia rakudo-moar 8dd744: OUTPUT«10␤»
10:36 jnthn Well, the other question would be "why doesn't unique consider two arrays the same", which is because they're mutable reference types.
10:36 lizmat m: my @a = ^10; my @b = ^10; my @c =  |@a, |@b; say @c.elems
10:36 camelia rakudo-moar 8dd744: OUTPUT«20␤»
10:36 lizmat m: my @a = ^10; my @b = ^10; my @c =  |@a, |@b; say @c.unique
10:36 camelia rakudo-moar 8dd744: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
10:36 * jnthn prefers to write that as `my @c = flat @a, @b` fwiw :)
10:36 jnthn (Yes, it behaves the same.)
10:37 lizmat well, suppose you want to |@a but not @b  :-)
10:37 lizmat m: my @a = ^10; my @b = ^10; my @c =  |(@a, @b); say @c.elems
10:37 camelia rakudo-moar 8dd744: OUTPUT«2␤»
10:37 lizmat m: my @a = ^10; my @b = ^10; my @c =  flat (@a, @b); say @c.elems
10:37 camelia rakudo-moar 8dd744: OUTPUT«20␤»
10:37 jnthn Sure, then it'd wirte |@a, @b :)
10:37 pippo shouldnt unique return a warning/error when used like I did it?
10:38 jnthn pippo: Not really; sometimes unique references are just what you want
10:38 lizmat pippo: why? feels more like a case of DHIWIDT
10:38 jnthn @customers.unique # only want to consider each Customer object once, in a list with potential duplicate instances
10:38 FROGGS joined #perl6
10:38 jnthn I think you can do:
10:39 jnthn m: my @a = ^10; my @b = ^10; say (@a, @b).unique(:with(&[eqv]))
10:39 camelia rakudo-moar 8dd744: OUTPUT«([0 1 2 3 4 5 6 7 8 9])␤»
10:40 jnthn Yeah
10:40 pippo jnthn: lizmat: OK. I'll do like that although it is not very intuitive. :-)
10:40 jnthn pippo: Well, opting into an O(n**2) algorithm rather than an O(n) one probably should be enough to make you take notice. :)
10:41 pippo :-))
10:41 * jnthn manages a partial heredoc improvement on Windows, at least
10:41 ShimmerFairy m: my @a ^10; my @b = ^10; say (@a.List, @b.List).unique
10:41 camelia rakudo-moar 8dd744: OUTPUT«WARNINGS:␤Useless use of "^" in expression "my @a ^10" in sink context (line 1)␤(() (0 1 2 3 4 5 6 7 8 9))␤»
10:42 ShimmerFairy m: my @a = ^10; my @b = ^10; say (@a.List, @b.List).unique
10:42 camelia rakudo-moar 8dd744: OUTPUT«((0 1 2 3 4 5 6 7 8 9) (0 1 2 3 4 5 6 7 8 9))␤»
10:42 jnthn hah, nice error :)
10:42 FROGGS o/
10:42 yoleaux 09:32Z <jnthn> FROGGS: I think we want to do it at MOP level in the future, if nothing else for speed.
10:42 yoleaux 09:33Z <jnthn> FROGGS: I think we should force an initializer on :D'd things. .new is a bad default. Try this: `class C { has $.x = rand }; for ^5 { my C:D $foo; say $foo.x }`
10:42 yoleaux 09:34Z <jnthn> FROGGS: also we totally drop the thing on the floor in some situations, like `my $x = Int:D; say $x`
10:42 yoleaux 09:35Z <jnthn> FROGGS: That latter one is why I was more pondering a MOP-level solution: so they are first class.
10:42 ShimmerFairy heh, I guess I should've expected .List to carry over the scalar containers too :P
10:42 jnthn ShimmerFairy: [...] isn't a Scalar anymore. :)
10:43 FROGGS jnthn: do we want to keep my patch in until then?
10:43 ShimmerFairy jnthn: but the elements inside an Array are, no?
10:43 jnthn ShimmerFairy: yes :)
10:43 jnthn ShimmerFairy: I think it does keep those though?
10:44 ShimmerFairy jnthn: yeah, that's what I meant. I was half-expecting the scalar containers Array gives to be carried over into List, and half-expecting some decont magic to happen :P
10:44 jnthn FROGGS: I'm content with keeping it in, but please log the above somewhere in RT
10:44 jnthn FROGGS: Oh, one more problem
10:44 jnthn m: my Int:omg $x
10:44 camelia rakudo-moar 8dd744: OUTPUT«===SORRY!===␤Unsupported type smiley 'omg' used in type name␤»
10:44 jnthn That just nqp::die's instead of $/.CURSOR.panic, so we get no source position :(
10:44 FROGGS ahh, yes
10:44 jnthn But yeah, your patch did better than I'd first feared :)
10:45 jnthn FROGGS++
10:45 FROGGS *g*
10:45 FROGGS hehe
10:46 ShimmerFairy jnthn: oh, that reminds me, I've discovered that subclassing a Cursor so you can add your own shared data is kinda difficult (I ran into some unhelpful NQPMu in QAST error both ways I tried). I'm guessing it's supposed to be difficult? :)
10:48 ShimmerFairy For context, this is for a module that adds error-reporting stuff to grammars, like rakudo's parser has. My first version used dynamic variables, but I tried getting rid of those when pulling it out into its own module. Unfortunately the exceptions created in subrules don't go back up as I have it.
10:48 nine ShimmerFairy: when you .List an array, it doesn't know whether the containers were added by the array or not. So it's safest to just keep them. Also I just didn't think about that at all when I implemented .List ;) I just didn't want to return Arrays from operators when there was no need to
10:48 ShimmerFairy nine: heh, I certainly am not surprised it didn't do the decont magic :)
10:51 jnthn ShimmerFairy: Well, all the methods starting with ! are depended on very directly by the code-gen the regex engine does
10:51 jnthn ShimmerFairy: And so coupled tightly to it, and fair game for changes in the future
10:52 ShimmerFairy jnthn: ah, that would explain it then. I was mainly writing my own ::("!...") methods that did its own stuff + callsame to try to get the sharing working
10:52 jnthn ShimmerFairy: Or potentially elided completely if the engine realizes it can get away with it.
10:52 jnthn But yeah, it's really not designed for doing that.
10:52 jnthn (Writing your own overrides)
10:52 ShimmerFairy dynamic variables work, but it means forcing the user to declare them themselves in their own grammars (and it ends up making certain variables 'special', which seems like a bad thing for a module to do in general ☺)
10:53 jnthn ShimmerFairy: What are you actually wanting to do? :)
10:53 jnthn oh wait, you wrote that and I didn't read it :)
10:53 ShimmerFairy jnthn: implement the sorry/worry/panic stuff for grammars:  https://github.com/ShimmerFairy/grammar-parsefail
10:54 jnthn Why do you need to override things ooc?
10:54 ShimmerFairy see the test added here: https://github.com/ShimmerFairy/grammar-parsefail/commit/18d8c45f6f6fcc53849acd9937c6b38e86f11a2c
10:54 jnthn I'd have thought you could just do it by asking for the high water and high expect? Which still couples to ! methods, but at least ones we might consider making API
10:54 jnthn (and reasonably could, I think)
10:55 ShimmerFairy the <.express_concerns> rule doesn't see the sorry made by the subrule before it, which is the big thing keeping me from putting it in the ecosystem
10:55 ShimmerFairy jnthn: I'm not familiar with the highwater/expect stuff. I'll check the docs and synopses, if they happen to be there :)
10:56 FROGGS jnthn: the other pressing thing for me is the serialization bug, that affects e.g. CURLI
10:56 jnthn ShimmerFairy: It's not there, but it's the way we get the position to complain at in most cases
10:57 jnthn ShimmerFairy: Does your problem boil down to "where do put contextuals"?
10:57 jnthn ShimmerFairy: If so, would it be possible for your role to provide a method parse that declares them and them callsame?
10:57 ShimmerFairy jnthn: ah. My problem is that the role's attributes aren't filled in the parent rule, just the subrule's.
10:57 pmurias joined #perl6
10:58 jnthn ShimmerFairy: In Rakudo/NQP we just declare the error traacking contextuals in TOP, or mebbe comp_unit
10:58 ShimmerFairy jnthn: oh, that's an idea. Somehow I didn't think of "subclass Grammar" and "use contextuals" at the same time :P
10:58 dalek nqp: 9a5fca6 | (Pawel Murias)++ | tools/build/ (2 files):
10:58 dalek nqp: [js] start working on make js-bootstap - it will build a boostraped nqp-js once it's done
10:58 dalek nqp: review: https://github.com/perl6/nqp/commit/9a5fca6c78
10:58 FROGGS pmurias++
10:58 jnthn FROGGS: Got a succinct description for me of that?
10:59 FROGGS jnthn: look at https://github.com/FROGGS/p6-Ser and run its test, it just a few lines of code...
10:59 ShimmerFairy jnthn: fwiw my original version of this is in my Pod parser work (which will hopefully be ready to share soon), which uses @*SORROWS and such like rakudo does. I'm just hoping to avoid making module users declare those in their grammars.
10:59 FROGGS jnthn: it serializes an array to disk, deserializes it, pushes, and serializes
10:59 FROGGS jnthn: all works well until you *not* modify the array
11:00 FROGGS jnthn: so I think it is about lazy deserialization or write barriers
11:00 FROGGS though, I thought the scdisclaim op forces non-lazy deserialization
11:01 travis-ci joined #perl6
11:01 travis-ci NQP build failed. Pawel Murias '[js] start working on make js-bootstap - it will build a boostraped nqp-js once it's done'
11:01 travis-ci https://travis-ci.org/perl6/nqp/builds/83669570 https://github.com/perl6/nqp/compare/c67d5bc312fe...9a5fca6c7882
11:01 travis-ci left #perl6
11:02 masak vendethiel: oh, I see what you mean now about the dangers of putting it in a loop.
11:02 masak in fact, gotta try that... :)
11:04 spider-mario joined #perl6
11:06 masak m: my @ps; for ^2 { @ps.push("key $_" => ($ = 5)) }; say @ps[0].perl; @ps[1].value = 42; say @ps[0].perl
11:06 camelia rakudo-moar 2291b0: OUTPUT«"key 0" => 5␤"key 0" => 42␤»
11:06 masak ok, yeah. that's the risk Ven pointed out.
11:06 masak reference sharing: useful and pernicious at the same time.
11:07 dalek rakudo/nom: 125db10 | jnthn++ | src/Perl6/Grammar.nqp:
11:07 dalek rakudo/nom: Make heredocs a bit less busted on Windows.
11:07 dalek rakudo/nom:
11:07 dalek rakudo/nom: Can likely go away again once we make \r\n a single grapheme in the
11:07 dalek rakudo/nom: upcoming NFG changes.
11:07 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/125db10bde
11:08 FROGGS ohh, so CRLF will become a grapheme? nice, I think
11:08 mr_ron joined #perl6
11:09 dalek roast: 0528f0c | jnthn++ | S12-methods/fallback.t:
11:09 dalek roast: s/postcircumfix:<( )>/CALL-ME/
11:09 dalek roast: review: https://github.com/perl6/roast/commit/0528f0c7e1
11:09 * masak .oO( -MAYBE )
11:09 pippo o/
11:09 pippo left #perl6
11:10 jnthn FROGGS: Unicode considers it one if we're going to follow its grapheme rules, which is the only other sensible option for the NFG algorithm besides the one I already did, which quite sadly seems insufficient.
11:10 FROGGS ahh
11:10 ShimmerFairy FROGGS: yep, since the extended grapheme cluster definition specifically names CRLF :)
11:11 jnthn It's a pity we can't use the CCC-based one. Then NFG is definable as a small extension to NFC.
11:11 domidumont joined #perl6
11:11 jnthn And we get to use the NFC quick check properties.
11:11 lizmat jnthn: wrt to slowdown, I also have the impression that mast times have gone up significantly as well
11:12 lizmat no definite numbers unless I start trying to get them together
11:12 jnthn With the new algo we can't even say "ooh, it's in latin-1 range so we don't have to do anything", 'cus CRLF breaks that rule too
11:13 jnthn lizmat: OK. Though I'm more concerned about the user-facting startup performance drop than the developer-facing increase in CORE.setting build time, tbh.
11:13 jnthn *facing
11:13 jnthn Of course, would be nice to figure out both :)
11:16 ShimmerFairy jnthn: how about "printable latin-1 range" ? :P    But yeah, it seems normalizing to NFC now is just useful for reducing the number of synthetic graphemes that would be created, which admittedly seems still important.
11:18 jnthn ShimmerFairy: Oh, for sure we'll still keep doing NFC first.
11:18 jnthn ShimmerFairy: Because that in turn gets us NFD
11:18 jnthn ShimmerFairy: Which is what is responsible for equality working out
11:19 jnthn (Because it does the stable sort on ccc)
11:19 dalek roast: 1eed483 | jnthn++ | S13-overloading/operators.t:
11:19 dalek roast: s/postcicumfix:<( )>/CALL-ME/
11:19 dalek roast: review: https://github.com/perl6/roast/commit/1eed483c13
11:19 dalek roast: a18cc07 | jnthn++ | S13-overloading/operators.t:
11:19 dalek roast: Update test to use AT-KEY API; unfudge.
11:19 dalek roast: review: https://github.com/perl6/roast/commit/a18cc07299
11:20 ShimmerFairy .oO(evil Perl 6 converts text to NFKD before converting to NFG, just to be extra sure your text has a high chance of being mangled)
11:24 dalek roast: 917701b | jnthn++ | S13-overloading/typecasting-long.t:
11:24 dalek roast: s/postcircumfix:<( )>/CALL-ME/
11:24 dalek roast: review: https://github.com/perl6/roast/commit/917701be28
11:24 jnthn Of course, the K is for Korrupt :P
11:25 dalek roast: beb8db4 | jnthn++ | S14-roles/mixin.t:
11:25 dalek roast: s/postcircumfix:<( )>/CALL-ME/
11:25 dalek roast: review: https://github.com/perl6/roast/commit/beb8db448b
11:25 jnthn OK, I think I've cleaned up the fallout of removing the method postcircumfix:<( )> support :)
11:25 leont joined #perl6
11:26 jnthn That still leaves me to ponder coercion stuff some more. But now, lunch and boring errand. &
11:35 kid51 joined #perl6
11:37 dalek ecosystem: 3f5252f | (Tokuhiro Matsuno)++ | META.list:
11:37 dalek ecosystem: Added Getopt-Tiny
11:37 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3f5252fdf2
11:37 dalek perl6.org: c01db68 | (Zoffix Znet)++ | README.md:
11:37 dalek perl6.org: Update README to mention new tech
11:37 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/c01db68ede
11:39 timotimo Zoffix: http://youmightnotneedjquery.com/ :P
11:40 leont Tokuhirom++ # I've been wanting a getopt for quite some time
11:40 Zoffix timotimo, ¯\_(ツ)_/¯
11:40 Ven joined #perl6
11:41 timotimo i'm kind of not fond of seeing jquery being used for omg everything
11:41 Zoffix Bootstrap uses it. So it's the main reason it's included.
11:42 lizmat m: use nqp; my $p = Pair.new("a",42); dd $p; say nqp::getattr($p,Pair,q/$!value/)
11:42 camelia rakudo-moar 125db1: OUTPUT«Pair $p = :a(42)␤P6opaque: no such attribute '$!value'␤  in block <unit> at /tmp/Qd3ZvDYxCt:1␤␤»
11:42 lizmat huh?   am I going crazy?
11:42 Zoffix It also has a very nice API. So *shrug* why not use it for everything :P
11:43 FROGGS m: use nqp; my $p = Pair.new("a",42); dd $p; say nqp::getattr(nqp::decont($p),Pair,q/$!value/)
11:43 camelia rakudo-moar 125db1: OUTPUT«Pair $p = :a(42)␤42␤»
11:43 timotimo http://www.doxdesk.com/img/updates/20091116-so-large.gif
11:43 FROGGS lizmat: ^^
11:44 lizmat ah, eh, duh!
11:44 lizmat :-)
11:44 FROGGS :o)
11:50 myu joined #perl6
11:51 lizmat London Perl Workshop is looking for Perl 6 related presentations: http://act.yapc.eu/lpw2015/
11:51 lizmat any takers ?
11:52 woolfy joined #perl6
11:52 domidumont Hi. I'm trying to package rakudo 2015.09 for Debian. Unfortunately, rakudo delivers libperl6_ops_moar.so in /usr/share/perl6 . That's forbidden by Debian polucy (and FHS).
11:52 ely-se Ven vendethiel likes giving presentations about Perl 6
11:52 domidumont I've tinkered Makefile-*.in to deliver this lib in /usr/lib, but rakudo is not happy: Unhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'
11:52 domidumont See https://anonscm.debian.org/cgit/pkg-rakudo/pkg-rakudo.git/tree/debian/patches/fix-lib-install-dir?h=fix-lib-installation-path
11:53 domidumont Can anyone give a hint on how to solve that ?
11:53 dalek nqp: 1c21422 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
11:53 dalek nqp: [js] Fix passing named parameters to multis.
11:53 dalek nqp: review: https://github.com/perl6/nqp/commit/1c2142299e
11:53 dalek nqp: bde8f6c | (Pawel Murias)++ | t/nqp/51-multi.t:
11:53 dalek nqp: Test passing named and positional parameters to multis.
11:53 dalek nqp: review: https://github.com/perl6/nqp/commit/bde8f6c021
11:53 dalek nqp: 5e820a7 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
11:53 dalek nqp: [js] Fix loading modules with :: in the name.
11:53 dalek nqp: review: https://github.com/perl6/nqp/commit/5e820a7eab
11:53 woolfy I think Liz already mentioned http://act.yapc.eu/lpw2015/  but this year the theme of the London Perl Workshop is "Perl6/Christmas".
11:53 timotimo i remember FROGGS worked a fair bit with packagers
11:53 DrForr woolfy: Not two minutes ago :)
11:54 woolfy So it would be very nice if some of you would like to submit Perl 6 talks to the London Perl Workshop: http://act.yapc.eu/lpw2015/newtalk   (yes, you have to register first to be able to submit a talk).
11:55 woolfy By the way, the Perl 6 Community is already a sponsor of the London Perl Workshop.  Camelia will be visible on the LPW pages soon.
11:55 FROGGS domidumont: I'll look into it this evening
11:56 domidumont FROGGS: ok. Thanks :-)
11:56 leont woolfy: was planning to go, have some ideas for a talk
11:57 timotimo going to london intimidates me a bit
11:59 dalek rakudo/nom: bd22d7e | lizmat++ | src/core/Pair.pm:
11:59 dalek rakudo/nom: Introduce Pair.freeze
11:59 dalek rakudo/nom:
11:59 dalek rakudo/nom: After running .freeze on a Pair, you can no longer change its value
11:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd22d7e8f2
12:00 lizmat ^^^ felt cleaner rather than re-introducing Enum's for this purpose
12:00 timotimo fair point
12:00 timotimo it makes it a tiny bit harder to figure out if something coming in is rw or ro
12:01 lizmat well, you have that anyway:
12:01 lizmat m: my $p = Pair.new("a",42); $p.value = 666
12:01 camelia rakudo-moar 125db1: OUTPUT«Cannot modify an immutable Int␤  in block <unit> at /tmp/rXvej3Lw0x:1␤␤»
12:01 lizmat m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666
12:01 camelia rakudo-moar 125db1: ( no output )
12:01 lizmat m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666; dd $p
12:01 camelia rakudo-moar 125db1: OUTPUT«Pair $p = :a(666)␤»
12:02 moritz uhm, but now Pair isn't immutable anymore :(
12:02 lizmat Pair was not immutable for a long time already
12:02 lizmat many months pre-GLR, afaicr
12:02 moritz what about doing a .frozen instead that returns a Pair which is immutable?
12:03 timotimo welllllll
12:03 timotimo in the case lizmat's building for right now it'd be 100% of cases it'd create a Pair then .frozen it
12:04 lizmat yup...
12:04 lizmat maybe we want that too...
12:04 woolfy leont++ for planning to go and having ideas for a talk -> convert idea into proposal -> register -> submit talk -> plan travel to London -> talk -> have fun
12:04 lizmat and maybe we need it to be an internal method
12:04 timotimo from a "i'm looking at the allocations tab all the time" standpoint: at least not for this use case
12:04 mr_ron joined #perl6
12:05 moritz ok, what about a named argument to Pair.new?
12:05 woolfy timotimo: London is big, but not really intimidating.  The audience is friendly and responsive.  Bit more people than at Swiss Perl Workshop, but still, very friendly, and very much "hallway++" going on.
12:05 timotimo since all you have to do is nqp::decont the thing you want to make it RO, that'd be fine
12:05 lizmat moritz: that wouldn't help, because I need to change the pair during bag initialization
12:06 lizmat once that is done, *then* I can freeze the Pair
12:06 timotimo oh
12:06 lizmat -> $_ { (%e{$_.WHICH} //= ($_ => my Int $ = 0)).value++ } for @args;
12:06 lizmat .freeze for %e.values;
12:06 timotimo ah, of course
12:08 moritz so, hashes guarantuee that all the values are containers
12:08 moritz and then you iterate over them and freeze?
12:09 moritz no, that doesn't sound right
12:09 moritz or I misunderstood
12:09 moritz sorry, afk
12:10 lizmat moritz: it's a hash of Pairs
12:12 _itz I suspect perl6maven.com may need some "MSCE fixing" (restarting)
12:12 lizmat anyway, Pair.freeze seemed like a nice thing to have
12:12 _itz MCSE even
12:14 travis-ci joined #perl6
12:14 travis-ci NQP build failed. Pawel Murias '[js] Fix loading modules with :: in the name.'
12:14 travis-ci https://travis-ci.org/perl6/nqp/builds/83676702 https://github.com/perl6/nqp/compare/9a5fca6c7882...5e820a7eab9d
12:14 travis-ci left #perl6
12:14 bjz joined #perl6
12:15 pmurias the travis failures are getting annoying, I must figure out how to upgrade node.js on travis
12:15 DrForr timotimo: I wouldn't worry about it, the only sticking point is finding the venue, really.
12:16 timotimo there's no way to put a dependency on a newer version into the .travis.yml? maybe you can find something in some node package's repository
12:16 camelia joined #perl6
12:17 timotimo DrForr: i've just never been to england and i hear the government is quite orwellian there
12:18 Freddy_ joined #perl6
12:18 Freddy_ p6: say 3;
12:18 camelia rakudo-moar 125db1: OUTPUT«3␤»
12:19 Kcop joined #perl6
12:20 woolfy timotimo: Liz and I have been often to England and never ever had any problem with any government branch, not even when entering England at the Chunnel.
12:20 timotimo i don't know what "the chunnel" is ... the tunnel under the channel?
12:21 woolfy channel tunnel -> chunnel
12:21 timotimo k
12:21 DrForr I'm not the best person to ask about government issues, but when I did have a problem I was treated fairly and they explained exactly what the problem was.
12:21 woolfy We like to come by car. Easier to bring promo stuff (like camels and stickers and Perl 6 wine).  Also easier to bring stuff back, like cd's, books, English cheese.
12:23 timotimo i don't bring promo stuff usually :)
12:23 woolfy Some years ago, one German Perl lady lost all her luggage, coat, purse, wallet, passport, hotel info etc at the social pre-event.  Bummer.  We helped her, e.g. with letting her contact police etc. Two days later, police calls me, are you that helpful person, yes I am, ok tell your friend all her stuff is here.  Happy.
12:23 woolfy timotimo: you bring yourself and a load of Perl 6 knowledge and a nice Perl 6 presentation and for the LPW-organisers that is enough promo stuff.
12:24 timotimo hah
12:24 timotimo i didn't even look when the lpw is going to be
12:24 _itz timotimo: the UK isn't remotely orwellian and you can do pretty much what you want
12:24 lizmat _itz: http://perl6.org/getting-started/ seems having CSS issues
12:24 timotimo lizmat: why ping itz about that? the newest changes are from Zoffix
12:25 _itz SEP :)
12:25 lizmat timotimo: good point  :-)
12:25 lizmat .tell Zoffix  http://perl6.org/getting-started/ seem to have CSS issues
12:25 yoleaux lizmat: I'll pass your message to Zoffix.
12:26 trottrt11 joined #perl6
12:26 FROGGS lizmat: that already was reported as issue #31
12:26 lizmat ah, ok... :-)
12:26 timotimo that page is missing a bunch of css links
12:26 FROGGS ++timotimo :o)
12:26 lizmat it's just that the new homepages is at #3 in https://news.ycombinator.com/news
12:27 timotimo perhaps it wasn't put into the regeneration thing properly?
12:27 DrForr +1 :)
12:27 lizmat so a quick fix would be nice :-)
12:28 cognominal thx timotimo for your help, I closed the "bug".  https://rt.perl.org/Ticket/Display.html?id=126263&amp;results=dbf65520db9fdea2e8c6761c2226f77c
12:28 cognominal timotimo++
12:28 domidumont1 joined #perl6
12:28 dalek roast: e604f6f | lizmat++ | S02-types/ (2 files):
12:28 dalek roast: Remove some superfluous tests
12:28 dalek roast: review: https://github.com/perl6/roast/commit/e604f6f690
12:29 timotimo yeah, i wonder if we can get at the variable's name somehow
12:31 dalek perl6.org: f01f7f9 | coke++ | source/compilers/index.html:
12:31 dalek perl6.org: note that pugs isn't active either
12:31 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/f01f7f9832
12:32 zakharyas1 joined #perl6
12:32 arcore joined #perl6
12:32 domidumont joined #perl6
12:32 vytas joined #perl6
12:33 salva joined #perl6
12:33 puffinblue joined #perl6
12:34 * timotimo was going to install mowyw on his desktop, but it's ... difficult
12:34 timotimo there's no config::file module in fedora
12:35 timotimo there's a thousand packages in the config:: namespace, though
12:35 _itz perlbrew + cpanm?
12:35 timotimo sounds like a lot of work :P
12:35 _itz its two lines :)
12:35 timotimo first i'll have a look if there's actually a Config/File.pm in any of these package
12:36 _itz . o O ( and 20 mins of deps installing )
12:36 timotimo it's in perl-AppConfig
12:36 [Coke] jnthn: (blocking) being able to profile 'exit' would be nice.
12:36 timotimo didn't help :|
12:37 domidumont joined #perl6
12:37 alpha- will perlbrew be able to install perl6 ?
12:37 _itz alpha-: try rakudobrew
12:38 timotimo perlbrew will be able to install rakudo
12:38 alpha- cool
12:39 timotimo well, i seem to recall someone once said something like that
12:40 timotimo i can't run perlbrew; it complains about Getopt::Long missing, but the package is installed
12:40 Ven joined #perl6
12:41 * [Coke] catches up with backscroll... and heads out to get $dayjob coffee.
12:41 _itz remove existing perl from the path?
12:41 Augusto joined #perl6
12:41 timotimo my existing perl is /usr/bin/perl
12:41 timotimo want me to throw out /usr/bin? :)
12:41 _itz \curl -k -L http://install.perlbrew.pl | bash
12:41 timotimo that's what i'm doing
12:42 timotimo getopt-long is installed in /usr/share/perl5/vendor_perl/Getopt/Long.pm, which isn't a place it's looking
12:42 _itz maybe you did bootstrap a parallel perl then?
12:42 timotimo i don't think i did
12:42 timotimo and the perl -e 'piornt join "\n", @INC' thing does list that
12:43 _itz that shouldn't use perl .. just curl and a shell script ISTR
12:43 timotimo the shell script downloads a perl script
12:43 timotimo and runs that
12:44 timotimo you know what?
12:44 timotimo i'll just dnf install perlbrew
12:46 _itz or hack in -I/usr/share/perl5/vendor_perl/ I guess
12:48 timotimo bleh. it builds one .c file at a time, MAKEOPTS isn't respected
12:48 FROGGS timotimo: are you working on a fix to doc.perl6.org?
12:48 timotimo not yet
12:48 timotimo wait, doc.perl6.org?
12:49 FROGGS err
12:49 FROGGS s/doc\./
12:49 timotimo i *wanted* to start working on that
12:49 timotimo there were some dependencies i had to chase first …
12:49 FROGGS I was talking about the getting started page
12:50 ZoffixWork joined #perl6
12:51 c0mrad3 joined #perl6
12:52 pmurias camelia keeps quiting when I private msg it
12:52 oka_ joined #perl6
12:53 camelia joined #perl6
12:53 FROGGS pmurias: maybe she's offended?
12:54 chope joined #perl6
12:54 chope Hi
12:54 FROGGS hi chope
12:55 c0mrad3 left #perl6
12:55 dalek perl6.org: 1c6585e | coke++ | source/compilers/index.html:
12:55 dalek perl6.org: fix typo
12:55 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/1c6585e6a7
12:55 dalek perl6.org: c9e07fa | coke++ | source/compilers/index.html:
12:55 dalek perl6.org: mark perlito as not actively developed
12:55 dalek perl6.org:
12:55 dalek perl6.org: Closes #30
12:56 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/c9e07fa1f5
12:56 dalek perl6.org: db64b14 | coke++ | source/compilers/index.html:
12:56 dalek perl6.org: Use "standard" language for niecza.
12:56 dalek perl6.org:
12:56 dalek perl6.org: Updates #26.
12:56 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/db64b142bb
12:57 pmurias nqp: say("Hi")
12:57 pmurias FROGGS: maybe camelia is a js hater? ;)
12:58 FROGGS :o(
12:58 camelia joined #perl6
12:59 timotimo i think nqp: has been b0rked for a while now
12:59 FROGGS nqp-m: say("Hi")
13:00 camelia nqp-jvm: OUTPUT«#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /tmp/jvm-8143/hs_error.log␤»
13:00 camelia ..nqp-moarvm: OUTPUT«Hi␤»
13:00 camelia ..nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 193.␤exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directory␤Server error occurred! Closing Link: ns1.niner.name (Client Quit)␤Lost connectio…»
13:00 camelia nqp-moarvm: OUTPUT«Hi␤»
13:00 lizmat Q: if I have the pattern "my Int $ = 42", how can I make the Int a variable ?
13:01 timotimo make the type non-compile-time?
13:01 timotimo m: my \Type = Int; my Type $foo = 13;
13:01 camelia rakudo-moar bd22d7: OUTPUT«===SORRY!===␤No compile-time value for Type␤»
13:01 timotimo well, has to be compile-time, then
13:01 timotimo so only possible with a role?
13:01 lizmat m: my ::("Int") $foo = "foo"
13:01 camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ("Int") but got Str␤  in block <unit> at /tmp/EkUu9xlVVf:1␤␤»
13:02 lizmat m: my ::("Int") $foo = 42
13:02 camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ("Int") but got Int␤  in block <unit> at /tmp/CeFRdlieNN:1␤␤»
13:02 [Coke] m: my $a="Int"; my ::($a) $foo = 42;
13:02 camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($a) but got Int␤  in block <unit> at /tmp/n092czdlgT:1␤␤»
13:02 timotimo wow, ouch
13:02 lizmat m: my Int $i my ::($i) $foo = 42
13:02 camelia rakudo-moar bd22d7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YF2MrmBKWy␤Two terms in a row␤at /tmp/YF2MrmBKWy:1␤------> 3my Int $i7⏏5 my ::($i) $foo = 42␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        stateme…»
13:02 dalek perl6.org: 4cf8a73 | FROGGS++ | source/getting-started/index.html:
13:02 dalek perl6.org: add css classes "lead well" to getting-started page
13:02 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/4cf8a73986
13:02 timotimo m: sub test(::T $foo) { my T $bar = $foo }; test(10);
13:02 camelia rakudo-moar bd22d7: ( no output )
13:02 lizmat m: my Int $i; my ::($i) $foo = 42
13:02 camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($i) but got Int␤  in block <unit> at /tmp/l3R9tJgzFN:1␤␤»
13:03 timotimo FROGGS: is that the fix?
13:03 FROGGS timotimo: no idea
13:03 lizmat timotimo: but if I want the T to be a parameter to the sub ?
13:03 timotimo m: sub test(\T, $foo) { my T $bar = $foo }; test(Int, 10);
13:03 camelia rakudo-moar bd22d7: OUTPUT«===SORRY!===␤No compile-time value for T␤»
13:03 timotimo m: sub test(::T $, $foo) { my T $bar = $foo }; test(Int, 10);
13:03 camelia rakudo-moar bd22d7: ( no output )
13:03 timotimo like that ^
13:03 _itz that "getting started" page looks fine on a fresh build on one of my systems
13:04 FROGGS hmmm
13:05 _itz I suspect its a deployment problem
13:05 timotimo it seemed like it didn't include the bootstrap css at all
13:05 FROGGS http://perl6.org/getting-started/ \o/
13:06 ZoffixWork timotimo, FROGGS lol, I was working on that :D
13:06 FROGGS :P
13:06 * ZoffixWork was a bit confused why the push failed
13:06 mr_ron joined #perl6
13:06 timotimo shift-ctrl-r
13:06 FROGGS ZoffixWork: now the bus number is a little bit higher :o)
13:06 ZoffixWork Bus number?
13:07 timotimo how many buses can be flung at the right devs without killing the project
13:07 dalek perl6.org: 506c1a0 | (Zoffix Znet)++ | source/getting-started/in (2 files):
13:07 dalek perl6.org: Update styles (Closes #31)
13:07 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/506c1a0a53
13:07 lizmat _itz ZoffixWork : a reload of the getting stated page now looks ok
13:08 ZoffixWork Yeah. It's actually a bug in mowyw methinks. It doesn't update pages that use includes, even if those includes got changed :)
13:08 timotimo that's suboptimal
13:08 dalek perl6.org: 1e862ba | FROGGS++ | source/getting-started/involved.html:
13:08 dalek perl6.org: add css classes "lead well" to getting-involved page
13:08 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/1e862bae1e
13:09 FROGGS ahh, the three-way-merge made my commit just adding a &nbsp; ;o)
13:09 ZoffixWork :D
13:09 timotimo hrhrhr
13:11 [ptc] joined #perl6
13:12 burnersk joined #perl6
13:13 _itz shouldn't the butterfly flap its wings? or is the <BLINK> of the C21st?
13:13 timotimo oh
13:13 ZoffixWork No! :)
13:13 timotimo _itz: i have perlbrew completed now; i just go to cpanmin.us and follow the instructions?
13:13 ZoffixWork timotimo, perlbrew install-cpanm
13:14 timotimo you don't use blink tags nowadays, you fire off ajax requests at an interval to a webservice that generates javascript that hides and shows the DOM node in question
13:14 ZoffixWork timotimo++
13:14 _itz yes and then "cpanm ." inside a github checkout of mowyw (unless it is on CPAN and my quick look failed to find it)
13:15 timotimo bleh! cpanm gets installed to something that's not in my path
13:15 ZoffixWork timotimo, did you perlbrew switch to the perl you compiled?
13:15 timotimo no
13:15 nine timotimo: you forgot to mention that the webservice is provided by some uber cool .io company
13:16 ZoffixWork timotimo, perlbrew install perl-5.22.0
13:16 nine timotimo: at least for all of 3 weeks to come that is
13:16 ZoffixWork timotimo, errr.. I mean, that is if you've not installed it yet. And after install, do perlbrew switch perl-5.22.0
13:16 timotimo ZoffixWork: i perlbrew install perl-stable
13:16 timotimo and, yeah, i switched now
13:16 ZoffixWork That's good too
13:16 ZoffixWork Then it should work now :)
13:16 timotimo nine: :3
13:17 _itz mowyw has an impressive number of warnings (at least on 5.22) :)
13:17 yt_ joined #perl6
13:17 timotimo how long has the latest released version of mowyw been out?
13:18 rurban joined #perl6
13:18 ZoffixWork timotimo, since June 15, 2011: https://metacpan.org/pod/App::Mowyw
13:18 timotimo hah
13:18 timotimo moritz: maybe it wants a bit of a touch-up? :)
13:19 ZoffixWork timotimo, actually, you probably should've picked an older perl for it. You'll get a ton of '{{ in regex' warnings right now.
13:19 timotimo wellllllll
13:19 ZoffixWork :D
13:19 timotimo it turns out i don't need to work on the site directly any more
13:19 ZoffixWork heh
13:19 timotimo so ... i've just been wasting that time
13:19 ZoffixWork Look on the bright side, at least now you have a shiny Perl 5! :)
13:19 ely-se joined #perl6
13:20 timotimo ... what do i use this perl 5 thing for?
13:21 ZoffixWork Apparently you can use it to hack 100,000 routers to fix security issues :) http://thehackernews.com/2015/10/hack-wifi-router.html
13:21 ZoffixWork *10,000
13:21 Kcop joined #perl6
13:23 aborazmeh joined #perl6
13:23 aborazmeh joined #perl6
13:24 timotimo this cpan process is taking AGES
13:24 dalek doc: c91af90 | (Steve Mynott)++ | lib/Type/List.pod:
13:24 dalek doc: GLRify two examples
13:24 dalek doc: review: https://github.com/perl6/doc/commit/c91af90bf4
13:25 dalek perl6.org: 840c66b | (Zoffix Znet)++ | source/compilers/index.html:
13:25 dalek perl6.org: Create "Historical Compilers" section (Closes #33)
13:25 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/840c66bf9c
13:26 ZoffixWork If you're going to do the plackup thing after generating with mowyw, you'll also need to cpanm Plack
13:29 woolfy left #perl6
13:30 timotimo oh, mowyw finished installing
13:30 timotimo oh f***k
13:30 timotimo now i have a "perl5" folder in my home
13:30 timotimo i can't just p<tab>r<tab> to get into my rakudo source
13:31 ZoffixWork aww :(
13:31 RabidGravy joined #perl6
13:32 Kcop joined #perl6
13:32 timotimo this won't do at all
13:33 perlpilot just make an alias so that it's "r<enter>" to get there :)
13:34 ZoffixWork You can change PERLBREW_ROOT to something else and redo the whole thing from start :P
13:34 timotimo that doesn't help for p<tab>n<tab> for nqp, p<tab>m<tab> for moar and p<tab>e<tab> for the ecosystem
13:34 timotimo right; what's the clean way to get rid of the perlbrew things?
13:34 timotimo is rm -rf perl5 enough?
13:35 ZoffixWork timotimo, yeah. And also remove "source ~/perl5/perlbrew/etc/bashrc" if you added it
13:35 ZoffixWork In .bashrc
13:35 timotimo right
13:35 DrForr There's also a .perlbrew/ directory.
13:35 timotimo does ~/.perlbrew seem good?
13:35 timotimo oh, that's not a good value for the perlbrew root then
13:36 ZoffixWork Hm
13:36 * ZoffixWork wonders if you can just 'mv' the ~/perl5 and then update paths in .perlbrew/init
13:36 ZoffixWork and the source ~/blah
13:37 timotimo too late
13:37 ZoffixWork hah
13:37 babygetoboy joined #perl6
13:38 timotimo ERROR: Failed to download http://www.cpan.org/src/5.0/perl-5.22.0.tar.bz2
13:38 timotimo hooray
13:38 timotimo everything's broken today
13:38 timotimo i shouldn't do anything today. just get back to bed, sleep until tomorrow arrives
13:39 ZoffixWork Sounds like a plan :P
13:39 timotimo plan *;
13:40 ZoffixWork Does anyone know how to use Text::VimColour? I'm failing miserably.
13:40 _itz ZoffixWork: yes
13:41 myu left #perl6
13:41 timotimo ah, of course i have to set PERLBREW_ROOT for every invocation of perlbrew
13:42 _itz zoffixwork: basically install vim 7.4 and the test should pass
13:42 ZoffixWork _itz, yeah, I'm past that. I don't know how to use the module though. But I think I've figured it out now :)
13:43 ZoffixWork Aye!
13:43 * ZoffixWork * Achievement Unlocked * Reading Perl 6 sauce
13:43 _itz for bonus marks install the newer, better (and slower) perl6 syntax files :)
13:44 timotimo hum? i seem to recall someone put a lot of time into profiling and optimizing the syntax files
13:45 _itz https://github.com/vim-perl/vim-perl
13:45 _itz oh my versions are outdated now .. hopefully delete 'slower' from above
13:46 timotimo :)
13:52 * jnthn back
13:52 * lizmat hopes the drag was bearable
13:53 masak ..."the drag"? :)
13:54 * masak hopes the bear was draggable
13:54 mr_ron joined #perl6
13:54 * moritz installs a droppable bear
13:55 jnthn lizmat: Turns out it's really beautiful weather here today, and the task at lawyer office was all done in a minute or two, so boring errand turned into mostly just being a very pretty walk. :)
13:55 _itz hmm I wish panda would install a p6doc readable README.md somehow
13:55 masak _itz: sounds like something you could post as an issue to the panda repository, maybe?
13:55 lookyloo joined #perl6
13:57 jnthn [Coke]: yowser, --profile on something that does exit is quite the mess :)
13:57 _itz OK I'll do that and maybe experiment in a branch
13:57 timotimo jnthn: yeah, it is :\
13:58 nightfrog joined #perl6
13:58 adhoc joined #perl6
13:59 [Coke] jnthn: yah. the one thing I was able to find was that if you make moar's end profile function unconditionally throw, then code without an exit gets a SORRY, while code WITH an exit gets a weird non SORRY exception.
14:00 jnthn Well, right now I don't know how we ever actually end up spitting out a profile at all when exit is used :)
14:00 FROGGS joined #perl6
14:00 [Coke] well, the end profile function does get -called-, anyway.
14:01 [Coke] (otherwise I wouldn't see that weird exception). but beyond that, I unno. :)
14:01 jnthn my @END := nqp::gethllsym('perl6', '@END_PHASERS');
14:01 jnthn @END.push: -> { self.dump_profile_data($prof_end_sub(), $filename) } if nqp::defined(@END);
14:01 jnthn omg, that isn't how you architecture...that must break profiling NQP code.
14:03 jnthn hm, somehow not
14:03 jnthn oh, I missed the if defined
14:03 jnthn But yeah, that's fragile
14:05 timotimo i seem to recall i put that line in %)
14:05 masak nope
14:05 masak FROGGS++ did
14:05 jnthn :)
14:05 timotimo hum. i did *something* to try to make profiling with exit not blow up :|
14:06 jnthn I mean, it works but...making NQP aware of Rakudo internals is a layer violation.
14:06 masak the thing that feels wrong about it for me is that pushing it to @END_PHASERS means you're doing something that is not possible with END phasers inside of Perl 6 code
14:06 masak oh, true
14:06 masak it's basically getting a dependency going the wrong way, yeah
14:06 jnthn aye
14:06 timotimo isn't this in rakudo's compiler, though?
14:06 FROGGS timotimo: I remember that we discussed the patch
14:06 jnthn timotimo: No, it's in NQP
14:07 jnthn Anyway, it's not directly to blame for the problem at hand. It's just not an ideal factoring.
14:07 timotimo okay, i had *some* involvement :)
14:07 FROGGS aye :o)
14:07 masak aye, timotimo++ is karma'd in the commit comment :)
14:08 vexingfish joined #perl6
14:08 * masak .oO( "timotimo++ for busting up the architectural layers" ) :P
14:09 masak anyway, so what *would* be a good solution to this one?
14:09 masak we want to run some code at the very-very end, even after all the END phasers?
14:10 jnthn Add some method on the compiler object that should be called to do exit stuff
14:10 masak yeah
14:10 jnthn And have Rakudo call it at the appropriate points
14:11 masak why is the patch doing the self.dump_profile_data in two different ways? is the END phaser way better somehow?
14:11 FROGGS_ joined #perl6
14:11 masak could we get the same benefit by adding the method on the compiler object?
14:13 skids joined #perl6
14:13 jnthn Wow, just found in src/profiler/log.c
14:13 jnthn /* Ensure we've a current frame; panic if not. */
14:13 jnthn /* XXX in future, don't panic, try to cope. This is for debugging
14:13 jnthn * profiler issues. */
14:14 jnthn To my knowledge we've never actually hit that VM panic since the profiler was written. :)
14:14 masak when would that actually happen? I'm not sure I understand. what's a "current frame"?
14:15 jnthn masak: It would only happen if the profiler's idea of the call stack and the VM's idea of the call stack got confused.
14:16 jnthn masak: That we've (afaik) never had that happen means the thing's pretty robust to interesting control flow (continuations, exceptions)
14:17 * jnthn decides that since the thing is robust enough, we may as well just leave the panic there
14:21 * timotimo suddenly envisions a trait for exceptions that'd let you specify what exit code rakudo should use in case the exception makes it to the "top level"
14:23 moritz trait? attribute or method, more likely
14:23 pmurias jnthn: I made a pull request to fix a bug in popcompsc on MoarVM
14:25 pmurias jnthn: I have a test file for this bug ready for nqp but I haven't commited it yet so as not to break the build
14:26 spider-mario joined #perl6
14:26 PerlJam I wonder if they mean Perl 6 when they say "newer versions of other languages such as C# and Perl" because Perl 5 has had closures for a good long while  --> http://users-cs.au.dk/danvy/sfp12/papers/keep-hearn-dybvig-paper-sfp12.pdf
14:28 jnthn pmurias: Seems legit
14:28 jnthn [Coke]: There's a patch in Moar now that fixes the exit data
14:29 jnthn pmurias: Merged, thanks.
14:31 cdg joined #perl6
14:32 Skarsnik hm, how I can cancel the effect of :=? I get a str from DBIsh and I want to have a Str, but writing %hash{somekey} = $valuefromdbish.Str still give me a str for %hash{somekey} (.^name give me str)
14:33 jnthn Skarsnik: That you're ever seeing an instance of a str as an object something is very broken somewhere...
14:33 dalek nqp: a3660e3 | jnthn++ | tools/build/MOAR_REVISION:
14:33 dalek nqp: Bump MOAR_REVISION for profiler/popsc fixes.
14:33 dalek nqp: review: https://github.com/perl6/nqp/commit/a3660e38a0
14:34 telex joined #perl6
14:34 timotimo Skarsnik: are you on the very latest rakudo version now?
14:35 Skarsnik yes
14:36 jnthn timotimo: I've no idea where such a bug could be...it could perhaps happen if we getattr somewhere that should getattr_s
14:37 travis-ci joined #perl6
14:37 travis-ci NQP build failed. jnthn 'Bump MOAR_REVISION for profiler/popsc fixes.'
14:37 travis-ci https://travis-ci.org/perl6/nqp/builds/83703823 https://github.com/perl6/nqp/compare/5e820a7eab9d...a3660e38a02c
14:37 travis-ci left #perl6
14:37 Skarsnik jnthn, Pg.pm get the result from the nativecall with :=, maybe that why it keep the str type?
14:38 jnthn Skarsnik: Don't think that'd be it
14:38 jnthn The thing that's on the right of the := is probably already wrong
14:38 dalek perl6.org: d77c2fb | (Zoffix Znet)++ | source/ (3 files):
14:38 dalek perl6.org: Use VIM highlighter for code instead of Pygments. Ulti++
14:38 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/d77c2fbe41
14:40 Skarsnik https://github.com/perl6/DBIish/blob/master/lib/DBDish/Pg.pm6#L282 I was thinking it's maybe to save memory? like it keep the C representation instead of a perl6 Str
14:41 tokuhirom joined #perl6
14:42 jnthn Yeah, but we should still be boxing the str...
14:42 jnthn If you store it into an untyped Scalar
14:42 dalek nqp: f260957 | (Pawel Murias)++ | src/vm/js/ (2 files):
14:42 dalek nqp: [js] Implement nqp::{scgethandle,scgetdesc,scsetdesc}
14:42 dalek nqp: review: https://github.com/perl6/nqp/commit/f260957161
14:42 dalek nqp: 4994539 | (Pawel Murias)++ | src/vm/js/ (2 files):
14:42 dalek nqp: [js] implement nqp::pushcompsc/nqp::popcompsc
14:42 dalek nqp:
14:42 dalek nqp: The serialization doesn't use that yet.
14:42 dalek nqp: review: https://github.com/perl6/nqp/commit/499453929f
14:42 dalek nqp: 443203e | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
14:42 dalek nqp: [js] stringify null to null to so that nqp::null_s doesn't cause trouble
14:42 dalek nqp: review: https://github.com/perl6/nqp/commit/443203ec9f
14:42 dalek nqp: dd45df1 | (Pawel Murias)++ | t/serialization/01-basic.t:
14:42 dalek nqp: Add tests for serialization context related ops.
14:42 dalek nqp: review: https://github.com/perl6/nqp/commit/dd45df1b7e
14:42 pmurias nqp-m: say(1)
14:42 camelia nqp-moarvm: OUTPUT«1␤»
14:43 pmurias nqp-m: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array))
14:43 camelia nqp-moarvm: OUTPUT«foo,bar␤»
14:43 pmurias jnthn: ^^ this seems weird
14:44 jnthn pmurias: You expected an exception instead, I guess?
14:44 Skarsnik well anyway, how can I force perl6 to give me a Str? without adding another var
14:44 jnthn Skarsnik: I suspect it's a bug somewhere, maybe in NativeCall
14:45 jnthn Well, almost certainly in NativeCall
14:45 rocha joined #perl6
14:47 grondilu .seen TimToady
14:47 yoleaux I saw TimToady 4 Oct 2015 05:56Z in #perl6: <TimToady> coulda sworn that was implemented, but maybe it was pugs or niecza
14:47 pmurias jnthn: I wouldn't get suprised by an exception
14:47 pmurias jnthn: NQPMu being silently ignore just seems weird
14:48 grondilu .tell TimToady I'm curious to read your thoughts about &[o] being associative.  It bugs me a bit that we can't define something like [o] &f xx *
14:48 yoleaux grondilu: I'll pass your message to TimToady.
14:49 jnthn pmurias: Yeah, not sure why it does that.
14:49 FROGGS https://github.com/abraxxa/DBIish/blob/master/lib/DBDish/Pg.pm6#L87
14:49 jnthn pmurias: Wonder what JVM does...
14:49 FROGGS can't we just uppercase that?
14:49 jnthn FROGGS: We could but somebody else will just hit the same issue :)
14:49 pmurias nqp-jvm: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array))
14:49 camelia nqp-jvm: OUTPUT«(signal ABRT)»
14:49 jnthn FROGGS: I'd rather work out why it's bust
14:50 FROGGS jnthn: what is busted? somebody requested a str return type and got one, no?
14:50 pmurias jnthn: I'll look into the join thing when I'll run out of interesting tasks
14:50 jnthn FROGGS: But str is a native type
14:50 jnthn pmurias: Yeah, for me it's in the category of "we don't hit that case from Perl 6's join method so I don't much care" :)
14:50 jnthn pmurias: But I don't mind somebody caring and tidying it up too :)
14:51 FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say $foo.WHAT
14:51 camelia rakudo-moar bd22d7: OUTPUT«(Str)␤»
14:51 jnthn FROGGS: You should only be able to have one in a natively typed scalar, etc.
14:51 FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec($foo)
14:51 camelia rakudo-moar bd22d7: OUTPUT«0␤»
14:51 FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec(nqp::decont($foo))
14:51 camelia rakudo-moar bd22d7: OUTPUT«0␤»
14:51 jnthn Right, we correctly box it there
14:52 jnthn We're failing to box it somewhere in nativecall, at a guess
14:52 ibo2perl6 joined #perl6
14:52 FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::istype(nqp::decont($foo), str)
14:52 camelia rakudo-moar bd22d7: OUTPUT«0␤»
14:52 [Coke] jnthn: need a nqp bump in rakudo to get the nqp that bumps moar, yes?
14:52 [Coke] (for profile/exit fix) ?
14:53 jnthn .tell nine In 398f255659, the .^add_method and .^add_multi_method calls to Bool really must be in a BEGIN block, otherwise we'll most likely cause pre-comp bugs.
14:53 yoleaux jnthn: I'll pass your message to nine.
14:53 dalek rakudo/nom: 28b470a | lizmat++ | src/core/ (6 files):
14:53 dalek rakudo/nom: Pretty extensive Bag/Mix(Hash) refactor
14:53 dalek rakudo/nom:
14:53 dalek rakudo/nom: - should be faster
14:53 dalek rakudo/nom: - immutable Bag/Mix are now really immutable
14:53 dalek rakudo/nom: - now uses a custom BUILD with "local" features
14:53 dalek rakudo/nom: - generalized new/new-from-pairs by adding PAIR and SANITY methods
14:53 dalek rakudo/nom: - which resulted in fewer lines of code (for a change)
14:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28b470a0d2
14:54 jnthn .tell nine Do we really have to key/value methods added in BOOTSTRAP?
14:54 yoleaux jnthn: I'll pass your message to nine.
14:54 ZoffixWork I just love all the haters on https://news.ycombinator.com/item?id=10331008
14:54 Skarsnik interesting, when I do .Num I get a 'Num', but .Str still give me 'str' on this
14:54 ZoffixWork Makes me feel we're doing something right :)
14:54 ibo2perl6 my $bh =  «a a a b c».BagHash;for $bh.kv -> ($k, $v) { say "$k => $v".perl } # this used used to work for me
14:55 ibo2perl6 m: my $bh =  «a a a b c».BagHash;for $bh.kv -> ($k, $v) { say "$k => $v".perl }
14:55 camelia rakudo-moar bd22d7: OUTPUT«Too few positionals passed; expected 2 arguments but got 0 in sub-signature␤  in block <unit> at /tmp/7o0vrNGPuW:1␤␤»
14:55 jnthn .tell nine I'm not really happy about enums suddenly being augmentable - especially through "agument class"... I'd be more inclined to just toss the spectests that want to be able to do that.
14:55 yoleaux jnthn: I'll pass your message to nine.
14:55 ely-se joined #perl6
14:55 ibo2perl6 m: my $bh =  «a a a b c».BagHash;for flat $bh.kv -> $k, $v { say "$k => $v".perl } # as a variant of this
14:55 camelia rakudo-moar bd22d7: OUTPUT«"a => 3"␤"c => 1"␤"b => 1"␤»
14:57 jnthn .tell nine The enums support seems kinda marginal too...and allowing an alternative REPR is...odd but I guess I can live with that. But it'd have to be one that supports attributes.
14:57 yoleaux jnthn: I'll pass your message to nine.
14:57 jnthn .tell nine Uh, in last .tell I meant mixins support. :)
14:57 yoleaux jnthn: I'll pass your message to nine.
15:00 Kcop joined #perl6
15:01 jnthn [Coke]: I already did the bumps in NQP and Rakudo.
15:01 jnthn oh, wait, the push failed
15:01 [Coke] was going to say, I only saw a push for nqp.
15:01 [Coke] jnthn++
15:01 dalek rakudo/nom: 0cca607 | jnthn++ | tools/build/NQP_REVISION:
15:01 dalek rakudo/nom: Bump NQP_REVISION for various fixes.
15:01 dalek rakudo/nom:
15:01 dalek rakudo/nom: Among them, --profile of a program that uses exit() now works out.
15:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0cca607723
15:02 jnthn Yeah, I actually got a fail, and did pull --rebase && push, and somebody actually managed to sneak in another commit between the two commands :P
15:02 [Coke] yay. now we can try to more aggresively profile perl6doc.
15:02 Skarsnik *grumble* even writing my Str $s = @array[$i]; %hash{@names[$i]} = $s; I still get a str in my %hash
15:02 jnthn Skarsnik: As I already said, there's some fairly deep bug somewhere that's exposing a str in a place it never should be. Nothing else has much clue what to do in such a situation, 'cus it should never arise.
15:03 jnthn Skarsnik: If you want a workaround, tweak the return type in the PG native call to Str
15:04 Skarsnik but why can I call .Int or .Num and get... the right type?
15:06 jnthn Probably because things manage to work out sort-of well enough for them to work.
15:06 jnthn str ~~ Str, so doing .Str is going to be a no-op
15:07 jnthn Sticking an nqp::unbox_s before the := may work, but may just result in things being even more confused. :)
15:07 jnthn uh, *after* the :=
15:09 dbasak joined #perl6
15:09 [Coke] OS X stresstest failures; https://gist.github.com/coke/bfed3f4e4e24e7b522ca
15:10 lizmat [Coke]: bag/mix failures should be fixed after the commit I sneaked in
15:11 Skarsnik I found a... aweful workaround my Str $s = @values[$i]; %hash{@names[$i]} = "$s ".chop;
15:11 * [Coke] wonders if any other devs have two completely different rakudo checkouts, one for doing the occasionally system install, and the other for doing actual dev work.
15:11 Jaglor joined #perl6
15:11 lizmat [Coke]: I have 2 installs, one for moar and one for jvm
15:12 [Coke] right, sorry, -3- checkouts, those original two are moar only. :)
15:13 masak Skarsnik: what in the world are you trying to do? :)
15:13 masak Skarsnik: convert a value to a Str?
15:14 masak m: my Int $n = 42; my Str $s = ~$n; say $s
15:14 camelia rakudo-moar bd22d7: OUTPUT«42␤»
15:14 masak m: my Int $n = 42; my Str $s = $n.Str; say $s
15:14 camelia rakudo-moar bd22d7: OUTPUT«42␤»
15:14 masak Skarsnik: those are the two easiest ways I can think of.
15:14 dalek features: fb13309 | (Zoffix Znet)++ | template.html:
15:14 dalek features: Fix styles (Closes https://github.com/perl6/perl6.org/issues/34)
15:14 dalek features: review: https://github.com/perl6/features/commit/fb13309eab
15:14 Skarsnik Oh yeah, should I tried ~
15:15 masak ^_^
15:15 jnthn masak: There's a NativeCall bug that leaks a str somewhere that we should get a Str, which is basically a type system violation, meaning you end up with really weird stuff going on.
15:15 masak oh.
15:15 * [Coke] wonders if it's worth consolidating these N different web apps that are all being served out from www.perl6.org
15:15 Skarsnik ~ does not work
15:16 masak Skarsnik: yeah, jnthn explained that you're in a weirdness vortex. sorry for assuming you were just oblivious ;)
15:16 jnthn masak: And apparently my suggestion to work around it for now by tweaking the str in the native call decl to Str is apparently less interesing than doing other crazy things :P
15:16 masak hehe
15:16 ayelsboro joined #perl6
15:16 Skarsnik err, should affecting an array attribute with a scalar value should fail?
15:17 masak well, you know. crazy in, crazy out.
15:17 * jnthn suspects it's golfable :)
15:17 Skarsnik jnthn, I don't want to touch the Pg module x) (but I filled an issue about this)
15:17 ZoffixWork [Coke], I'd say a definite yes. Right now the /features/ and /faq/ have duplicate footers/headers from Perl6.org to make those pages blend in with Perl6.org properly.
15:18 fieroguy joined #perl6
15:19 Skarsnik or why my code did not fail when affecting a non existent attribute, hm
15:19 grondilu m: sub f(@a, @b, :$n = 10) { ([o] (@a[$++] + @b[$++]/*) xx $n)(1000) };  say f((1, |(2 xx *)), 1 xx *);
15:19 camelia rakudo-moar bd22d7: OUTPUT«2.41421393␤»
15:19 [Coke] well, obviously +1 from me on a patch to merge faq & features in.
15:20 Ven joined #perl6
15:21 Skarsnik m: class M { has $.a; has $.b;}; my M $m = M.new(a => "a", b => "b", c => "c"); say $m.perl;
15:22 camelia rakudo-moar bd22d7: OUTPUT«M.new(a => "a", b => "b")␤»
15:22 [Coke] jnthn, moritz: yay, I can now slap an "exit" in htmlify's MAIN and get some useful info about what's slow up to that point. :)
15:22 jnthn [Coke]: \o/
15:22 [Coke] biggest exclusive time? infix:<>=>
15:23 Skarsnik should this fail? since I affect a non existing attribute
15:23 [Coke] jnthn: don't know if you saw, but made minor updates to profile.html so it's now using angular-latest.
15:23 nachos joined #perl6
15:24 [Coke] m: my $r = 1..10; say ($r*2).gist
15:24 camelia rakudo-moar 0cca60: OUTPUT«2..20␤»
15:24 [Coke] ... huh.
15:24 jnthn [Coke]: Yes, I did :)
15:24 nachos left #perl6
15:25 jnthn Skarsnik: No, methods ignore unknown named arguments
15:25 jnthn (By design)
15:28 jnthn Here's some thoughts on trying to clean up coercion/invocation stuff. https://gist.github.com/anonymous/8efdab238ead35b1d4fa
15:28 jnthn TimToady: ^^ could do with your input when you have chance :)
15:28 jnthn Thoughts from others welcome too :)
15:29 khw joined #perl6
15:30 jnthn Darn it, I wan't logged in when I posted it, so can't edit it :/
15:30 masak jnthn: just fork it?
15:31 jnthn Yeah, I don't care that much ab...oh! :)
15:31 * grondilu wonders if a subset-defined type matches <typename>
15:31 masak maybe here's a good time to mention that I think "CALL-ME" is a frivolous name for no good reason, and I'd much rather it'd be named "CALL". :/
15:32 jnthn grondilu: Yes, though there's not (yet :)) a way to specify how such a type coerces.
15:33 masak the nicest thing I can say about "CALL-ME" is that it gives the method name the same meter/cadence as "AT-POS" and "AT-KEY"
15:33 * jnthn got into looking at this stuff as part of addressing RT #114026, which is on the xmas list... :)
15:34 * grondilu sill looks at the continued fractions code on RC and would like to write it like this:  sub CF { map *.(Inf), [o] (@^a[$++] + @^b[$++] / *) xx *) }
15:34 grondilu (because he thinks it would be cooler)
15:34 masak jnthn: +1 on killing off the useless shortcuts. sounds like the conservative thing to do.
15:35 jnthn masak: Yeah, that's my leaning also
15:36 dalek roast: 9f44fc0 | lizmat++ | S02-types/ (2 files):
15:36 dalek roast: Fix some exception types that I forgot
15:36 dalek roast: review: https://github.com/perl6/roast/commit/9f44fc0622
15:36 masak jnthn: "since in the grammar this is spread over term:sym and term:sym" -- eaten <> contents?
15:36 ibo2perl6 left #perl6
15:36 masak jnthn: (remember that Markdown allows inline HTML, and so anything inside <> is taken as literal HTML tags)
15:37 masak you either want to \< \>, or `` the whole word
15:38 jnthn masak: yeah, that's what I forgot, but decided it didn't matter so much to issue a new URL :)
15:39 * masak views source
15:40 nine computer?
15:40 yoleaux 14:53Z <jnthn> nine: In 398f255659, the .^add_method and .^add_multi_method calls to Bool really must be in a BEGIN block, otherwise we'll most likely cause pre-comp bugs.
15:40 yoleaux 14:54Z <jnthn> nine: Do we really have to key/value methods added in BOOTSTRAP?
15:40 yoleaux 14:55Z <jnthn> nine: I'm not really happy about enums suddenly being augmentable - especially through "agument class"... I'd be more inclined to just toss the spectests that want to be able to do that.
15:40 yoleaux 14:57Z <jnthn> nine: The enums support seems kinda marginal too...and allowing an alternative REPR is...odd but I guess I can live with that. But it'd have to be one that supports attributes.
15:40 yoleaux 14:57Z <jnthn> nine: Uh, in last .tell I meant mixins support. :)
15:41 _itz I think "Digest" is broken
15:42 Skarsnik hm, how I delete a key from a hash?
15:42 pink_mist :delete
15:43 nine jnthn: I'd be just as happy to not support mixing into True/False. I dont want to dismiss use cases but the thought alone scares me ;)
15:43 grondilu m: my %h; say %h<foo>++; say %h<foo> :delete
15:43 camelia rakudo-moar 0cca60: OUTPUT«0␤1␤»
15:43 grondilu m: my %h; say %h<foo>++; %h<foo> :delete; say %h<foo>
15:43 camelia rakudo-moar 0cca60: OUTPUT«0␤(Any)␤»
15:44 [Coke] t/spec/S17-supply/syntax.t hanging.
15:44 molecules joined #perl6
15:44 [Coke] lizmat: reran stress test after rebuilding rakudo: got: https://gist.github.com/coke/bfed3f4e4e24e7b522ca still
15:45 jnthn nine: Yeah, well I guess with "but" (which copies) it's less bad, but...still not sure I see the use case.
15:45 [Coke] (no change)
15:45 Guest56815 p6: spurt('ABCD.txt',  "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; }
15:45 camelia rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub spurt at src/RESTRICTED.setting:17␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:46 Guest56815 rakudo: spurt('ABCD.txt',  "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; }
15:46 camelia rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub spurt at src/RESTRICTED.setting:17␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:46 lizmat [Coke]: I guess you missed 9f44fc0622ebc17e296 in roast  :-(
15:46 lizmat I had forgotten to push :-(
15:46 [Coke] one more time! ;)
15:47 Skarsnik is there a way to affect how .perl display stuff? like putting new line after each attribute value?
15:47 lizmat cycling&
15:48 pmurias jnthn: takeclosure has been turned into a noop?
15:49 masak m: my %h = <foo 1 bar 2 baz 3>; %h<foo> :delete; say %h # Skarsnik: like this
15:49 camelia rakudo-moar 0cca60: OUTPUT«bar => 2, baz => 3␤»
15:49 jnthn pmurias: Yeah, as part of switching to the declarative model for those things taht the Moar code-gen does
15:49 larion joined #perl6
15:49 pmurias in the moarvm op there is a mention that "explicit takeclosure will go away under the noop'
15:49 jnthn pmurias: Not quite sure we can toss it entirely yet though 'cus I think the JVM backend depends on it
15:50 Guest56815 rakudo: spurt('/tmp/ABCD.txt',  "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; }
15:50 camelia rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub spurt at src/RESTRICTED.setting:17␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:51 Guest56815 p6: spurt('/tmp/ABCD.txt',  "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; }
15:51 camelia rakudo-moar 0cca60: OUTPUT«spurt is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in sub spurt at src/RESTRICTED.setting:17␤  in block <unit> at /tmp/tmpfile:1␤␤»
15:51 masak Guest56815: spurt is disallowed in restricted setting.
15:51 pmurias jnthn: is there a description for the new model as I'm not sure how to implement that in js
15:52 masak Guest56815: are you of malicious intent, or a bot, or both? in that case, we may have to relocate you off-channel.
15:52 pmurias jnthn: nqp-js currently just makes a new closure on takeclosure but it's causing some bugs
15:52 Guest56815 Okay. When running that code, I get "A, then B C, then D Too few positionals passed; expected 2 arguments but got 0   in block <unit> at ./super_simple.p6:5"
15:52 xfix joined #perl6
15:53 masak Guest56815: interesting. sounds like a bug. if there are 0 arguments then the loop should be over.
15:53 * masak tries to reproduce locally
15:53 nine jnthn: ok, so I'll rework it to be less intrusive and remove the dubious spec tests
15:53 nine jnthn: thanks for having a look :)
15:53 masak yep, reproduced.
15:53 * masak submits rakudobug
15:54 masak Guest56815++
15:54 Guest56815 Thanks!
15:54 jnthn nine++
15:54 grondilu m: say ([o] (1 + 1/*), (2 + 1/*))(1000)
15:54 camelia rakudo-moar 0cca60: OUTPUT«1.499750␤»
15:54 grondilu m: say ([o] (++$ + 1/*) xx 2)(1000)
15:54 camelia rakudo-moar 0cca60: OUTPUT«2.999001␤»
15:54 grondilu ^that's weird
15:54 Guest56815 exit
15:54 masak golfed:
15:55 masak m: for "A\nB\nC\nD".lines() -> $x, $y { say "$x, then $y" }
15:55 camelia rakudo-moar 0cca60: OUTPUT«A, then B␤C, then D␤Too few positionals passed; expected 2 arguments but got 0␤  in block <unit> at /tmp/8eai7wKpIq:1␤␤»
15:55 masak no need for &spurt :)
15:55 grondilu m: say ([o] (2 + 1/*), (1 + 1/*))(1000)
15:55 camelia rakudo-moar 0cca60: OUTPUT«2.999001␤»
15:55 jnthn m: for |(1, 2), |(3, 4), |() -> $x, $y { say "$x, then $y" }
15:55 camelia rakudo-moar 0cca60: OUTPUT«1, then 2␤3, then 4␤»
15:56 jnthn Hm, not that... :)
15:56 masak m: for "A\nB\nC\nD".lines() -> $x { say $x }
15:56 camelia rakudo-moar 0cca60: OUTPUT«A␤B␤C␤D␤»
15:56 masak m: for [1,2,3,4] -> $x, $y { say "$x, then $y" }
15:56 camelia rakudo-moar 0cca60: OUTPUT«1, then 2␤3, then 4␤»
15:57 masak ok, so something fishy with lines()
15:57 jnthn m: my \i = "A\nB\nC\nD".lines.iterator; my @x; (say i.push-exactly(@x, 2)) xx 3
15:57 camelia rakudo-moar 0cca60: OUTPUT«2␤2␤0␤»
15:57 jnthn m: my \i = <A B C D>.iterator; my @x; (say i.push-exactly(@x, 2)) xx 3
15:57 camelia rakudo-moar 0cca60: OUTPUT«2␤2␤␤»
15:58 jnthn That's the discrepancy. The push-many in the lines iterator is returning 0 when it should return IterationEnd
15:58 masak *nod*
15:58 * masak adds that to the ticket
15:58 lizmat joined #perl6
16:03 pmurias jnthn: a bug in how closures are implemented in nqp-j: paste.debian.org/314506
16:04 jnthn pmurias: I get a DNS error on that...
16:04 * pmurias checks the url
16:04 jnthn pmurias: But yeah, the reason we do it differently in Moar is 'cus of lessons learned from how it was done in nqp-j :)
16:05 pmurias jnthn: https://paste.debian.net/314506
16:06 * pmurias should learn to always paste urls instead of retyping :/
16:07 jem_ joined #perl6
16:07 pmurias jnthn: the bug shows up in the takeclosure using backends: nqp-js/nqp-j
16:07 hitch joined #perl6
16:07 hitch Is there a Perl compile that uses the JVM
16:08 Calibellus joined #perl6
16:08 pmurias rakudo has a jvm backend
16:09 pmurias rakudo-jvm: say "hello from the jvm"
16:09 camelia rakudo-jvm 0cca60: OUTPUT«hello from the jvm␤»
16:10 ilmari j: say $*VM
16:10 camelia rakudo-jvm 0cca60: OUTPUT«jvm (1.7)␤»
16:12 dha joined #perl6
16:13 masak pmurias: pasting URLs, besides being less error-prone, is also less work! win-win! :P
16:14 grondilu m: say ([o] (2 + 1/*), (1 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf)
16:14 camelia rakudo-moar 0cca60: OUTPUT«True␤»
16:14 grondilu m: say ([o] (1 + 1/*), (2 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf)
16:14 camelia rakudo-moar 0cca60: OUTPUT«False␤»
16:15 dha So. usage statements so far have been of the form "lc.(EXPR)" and the like. no assignment (e.g. "$x = lc.(EXPR)". Any one have a problem with introducing assignments for C<new> methods, but leaving the others as is?
16:15 pmurias masak: I had to find and attach the mouse to paste it :/
16:15 dha slightly less consistent, but, I think, clearer.
16:16 ^elyse^ joined #perl6
16:16 dha Note: Warnocking will lead to me doing it and assuming we can fix it later if needed. :-)
16:16 * grondilu submitted a ticket because he really would like this &[o] thing to work
16:17 grondilu $ perl6 -e 'say ([o] (2 + 1/*), (1 + 1/*))(Inf);'
16:17 [Coke] dha: I have no preference.
16:17 dha *nod*
16:17 grondilu #126269
16:18 masak pmurias: Ctrl+L Ctrl+A Ctrl+C Alt-Tab Ctrl+V, what are you talking about?
16:18 [Coke] lizmat: yup, bag failures gone. still have multiple OS X stresstest fails.
16:20 pmurias masak: my xterm seems to ignore such things
16:20 [Coke] https://gist.github.com/coke/bfed3f4e4e24e7b522ca now has verbose output from the failing tests.
16:20 laouji joined #perl6
16:22 dha Junctions interpret the innocent as a list. Should the usage statement be (e.g.) LIST.any or EXPR.any?
16:23 masak pmurias: I wish I could help with that.
16:24 dha Gah! several entries in Any.pod don't even have signatures.
16:25 [Coke] dha: context on the junctions/innocent line?
16:25 jnthn haha, I think it should be invocant, not innocent :D
16:25 dha sorry. Invocant. stupid autocorrect.
16:26 dha I'm currently looking at lib/Types/Any.pod
16:26 pmurias_ joined #perl6
16:27 dha so, for instance, the doc for C<any> says "Interprets the invocant as a list and creates an C<any>-L<Junction|/type/Junction> from it."
16:27 * jnthn thinks he may have figured out the startup perf regression
16:27 jnthn Found it by accident while looking at another bug :)
16:28 nine what is it? what is it?
16:28 dha Should I make the usage statement "LIST.any" or "EXPR.any"? Given that the doc implies that, although interpreted as a list, the invocant may not actually *be* a list.
16:31 dalek nqp: 082efa3 | coke++ | src/vm/moar/profiler/template.html:
16:31 dalek nqp: Use latest bootstrap for moar profile HTML.
16:31 dalek nqp: review: https://github.com/perl6/nqp/commit/082efa3b8f
16:32 masak dha: I'd go with LIST.any
16:33 dha Oh good. Now I don't have to search and replace. :-)
16:33 dha masak++
16:33 masak dha: on the grounds that even if it isn't a list, it gets coerced to one as part of the .any call
16:33 masak at least conceptually
16:34 dha Yeah, that's what I was thinking, but wanted a second, more informed opinion. :-)
16:34 jnthn nine: Thinko when checking we didn't need to add infix:<o> to the grammar 'cus it's already there (we added it by accident, meaning we had to load an entire dervied set of NFAs)
16:35 travis-ci joined #perl6
16:35 travis-ci NQP build failed. Will "Coke" Coleda 'Use latest bootstrap for moar profile HTML.'
16:35 travis-ci https://travis-ci.org/perl6/nqp/builds/83725608 https://github.com/perl6/nqp/compare/dd45df1b7e7a...082efa3b8f00
16:35 travis-ci left #perl6
16:35 [Coke] ... can we disable whatever is making nqp fail travis?
16:36 dha But if someone who knows what they're doing wants to put signatures into the docs for Any for the several methods that are lacking them, that would be a good thing.
16:36 [Coke] if we get used to travis failing, that's bad.
16:37 timotimo "since in the grammar this is spread over term:sym and term:sym." - hooray for markdown :)
16:37 Loren_ joined #perl6
16:38 masak I like Markdown, but ya gotta know how to use it ;)
16:38 pdcawley joined #perl6
16:38 masak (it's `term:sym<identifier>` and `term:sym<name>`, by the way)
16:39 ab5tract_ o/ #perl6
16:39 masak \o
16:39 ab5tract_ how are you today masak?
16:39 gregf__ joined #perl6
16:39 gregf__ left #perl6
16:40 ab5tract_ glad to see you here, as I actually dropped by for a 'design smell' discussion and I always enjoy reading your opinions
16:41 masak ab5tract_: fine, thank you; tell me more :)
16:41 ab5tract_ got into a discussion about custom operators at $work
16:41 masak ooh
16:41 ab5tract_ apparently some people find the custom unicode operator example to be distasteful
16:42 masak which example?
16:42 tokuhirom joined #perl6
16:42 ab5tract_ http://perl6.org/#samp-ops
16:43 timotimo that link doesn't do it right :(
16:43 masak huh.
16:43 timotimo also, why should we recursively implement factorial?
16:43 masak yeah, that
16:43 timotimo and not just [*] 2..$n
16:43 ab5tract_ yeah
16:43 ab5tract_ that's a good point
16:44 masak I don't find it distasteful... but it's a bit of a meh example, since postfix:<!> is what people would expect there
16:44 ab5tract_ I think factorial is a good TMTOWDI kind of example
16:44 masak surely there is some other Unicode symbol which would better motivate reaching for Unicode? :)
16:44 ab5tract_ masak: well the discussion distended into a few different gutters
16:44 masak I can imagine
16:44 pdcawley joined #perl6
16:44 ab5tract_ including "custom assoc/prec" ???
16:44 masak .u ❢
16:44 yoleaux U+2762 HEAVY EXCLAMATION MARK ORNAMENT [So] (❢)
16:44 masak ab5tract_: could you be more specific?
16:45 masak ab5tract_: Perl 6 allows it, for sure.
16:45 ab5tract_ being able to define operators with custom associativity / precedence as a design smell
16:45 jnthn m: use Test; { my $x = 42; ok MY::.values.grep({ ($_ // 0) == 42 }) }
16:45 camelia rakudo-moar 0cca60: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/oIDieAsjnk line 1␤»
16:46 masak ab5tract_: I don't follow. what's being able to define things in a more custom way's got to do with design smells?
16:46 ab5tract_ and unicode / non-english operators being a non-issue
16:46 ab5tract_ (the two main gutters)
16:46 masak ab5tract_: were the "non-issue" people from a language which uses mostly ASCII characters? :)
16:46 masak s/from/speakers of/
16:47 ab5tract_ yes :)
16:47 masak wait, that's not even relevant either
16:47 masak these people are the "old man shouts at cloud kind of people"
16:48 masak who go "Unicode! in my program! maargh! get off my lawn!"
16:48 timotimo why don't we have an example up there that shows NFG? :)
16:48 jnthn In a dynamic language, the *real* smell is overloading two different semantics on the same symbol.
16:48 masak +1
16:48 grondilu ❢ looks ugly indeed
16:48 jnthn That's why being able to add new operators for new semantics is important, not just a show-offy thing.
16:48 ab5tract_ jnthn: that's I think where the fear came from
16:49 ab5tract_ a few different modules define various forms of UNICODE_CHARACTER_FOR_UNICODE_ALPHABET
16:49 ab5tract_ or, EPSILON
16:50 ab5tract_ with slightly different semantics
16:50 ab5tract_ maintenance was raised as a potential pitfall
16:51 timotimo at least in p6 you know at compile time what's going to be where & who
16:51 timotimo due to our very sane lexical scoping
16:51 timotimo and lexical imports
16:51 Loren_ I think it has some error in the site :http://perl6.org/#samp-fib
16:52 ab5tract_ timotimo: indeed. that would reduce maintenance
16:52 dha Am I the only person who finds it odd that Blob.pm contains a C<pack> routine that doesn't seem to involve a Blob?
16:52 ab5tract_ while we are on the topic of this example
16:52 masak m: sub infix:<±>($l, $r) { $l-$r .. $l+$r }; say 42 ~~ 50 ± 10
16:52 camelia rakudo-moar 0cca60: OUTPUT«True␤»
16:52 masak ^^ is a better and more useful example of a Unicode operator, methinks
16:52 ab5tract_ I think it's a great idea to have a unicode example on the front page
16:52 timotimo oh, yeah, the anchor is called "fib", but it doesn't implement fibonacci
16:53 dha s/Blob.pm/Blob.pod/
16:54 Loren_ I mean i can't switch to tab 'Lazy Infinite Lists', under IE or firfox
16:54 Loren_ firfox -> firefox
16:54 masak m: sub infix:<±>($l, $r) { $l-$r .. $l+$r }; sub infix:<≈>($l, $r, :$epsilon = 0.1) { $l ~~ $r ± $epsilon }; say 2.25 ≈ 2.3; say 2.25 ≈ 2.3 :epsilon(1e-2)
16:54 camelia rakudo-moar 0cca60: OUTPUT«True␤False␤»
16:54 timotimo huh? weird. do the devtools allow you to golf it?
16:54 masak how 'bout 'em apples.
16:54 masak please put that example on the web page instead :D
16:56 masak ab5tract_: the "maintenance" argument is bogus once you equate operators and subroutines.
16:56 masak ab5tract_: unless they also abhor subroutines for the same reasons.
16:56 ab5tract_ but maybe a dice  roller with unicode dice might be more introductory. that could even include just a unicode sub, maybe with ❓
16:57 ab5tract_ masak: Thanks for that man. I had the exact same feeling.
16:57 pmurias joined #perl6
16:57 zakharyas joined #perl6
16:57 pmurias jnthn: I'll move nqp-js to the closure model nqp-js is using
16:57 pmurias s/nqp-js/nqp-moar/:2nd
16:58 jnthn pmurias: Sounds good. :)
16:58 masak I like my example above with ± and ≈, because it uses Unicode math symbols according to their original meaning, in a way that makes the code shorter and clearer, and which could even possibly be useful in some real-world code.
16:59 masak it also showcases a not-contrived use of an operator adverb
16:59 AlexDaniel joined #perl6
16:59 ab5tract_ masak: yeah, I think that would make a much better "custom operator" example for the front page, tbh
17:00 masak who do I contact to change this
17:00 ab5tract_ I'm going to code the dice roller example anyway though :)
17:00 ab5tract_ it's a PR on perl6.org.git AFAIK
17:00 jnthn masak: You probably have commit to perl6.org already :)
17:00 nine timotimo: I'd argue that the sane lexical scoping helps the compiler more than the user. If ❢ means one thing in file A and another in file B, it doesn't help the casual reader all that much that the compiler knows exactly what it means.
17:01 ab5tract_ nine: indeed. it resolves code maintenance fairly well. but overloading can be just as hard, or harder, on the human part
17:01 masak jnthn: yeah, I'm in the repo but I can't find what I'm looking for...
17:01 masak doesn't look like it's https://github.com/perl6/perl6.org/tree/master/source/snippets
17:02 jnthn masak: Grep for the funky Unicode symbol in the example there now? :D
17:02 ^elyse^ joined #perl6
17:02 DrForr Maybe use the old 90-degree angle syntax for factorial instead of what looks like a top-heavy colon? :)
17:02 ab5tract_ masak: source/index.html
17:03 ab5tract_ kind of hardcoded in there for now, it seems.
17:03 * DrForr wonders if Unicode actually has that symbol...
17:03 dha I'm confused. the doc for C<ACCEPTS> in Code.pod says "Usually calls the code object and passes C<$topic> as an argument. However, when called on a code object that takes no arguments, the code object is invoked with no arguments and C<$topic> is dropped. The result of the call is returned."
17:03 masak ab5tract_: that looks generated to me.
17:04 duncan_dmg left #perl6
17:04 dha Apparently, you have to give C<ACCEPTS> a C<$topic> even if the code takes no arguments and the topic is discarded. Why?
17:04 jnthn dha: ACCEPTS is the method you implement to participate in smartmatching
17:04 ab5tract_ masak: my bad
17:04 jnthn dha: $foo ~~ $bar is approx $bar.ACCEPTS($foo)
17:05 dha I note that Code.pod says nothing about this.
17:05 jnthn dha: Pretty much all calls to ACCEPTS are generated from the ~~ syntax
17:05 [Coke] RT: 1043; glr: 4; lta:88 weird: 12; testneeded: 10: xmas: 99
17:05 FROGGS good evenang #perl6
17:05 laouji joined #perl6
17:05 colomon o/
17:06 dha So... putting a usage statement in for Code.ACCEPTS does not seem to be functional. :-/
17:06 Loren_ o/
17:06 ilmari class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new
17:06 ilmari m: class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new
17:06 camelia rakudo-moar 0cca60: OUTPUT«True␤»
17:06 jnthn [Coke]: Yeah, I pushed xmas a ticket further away today. But I'm going to clsoe one real soon :)
17:06 jnthn *close
17:06 ilmari m: class Foo { method ACCEPTS() { False }; }; say Any ~~ Foo.new
17:06 camelia rakudo-moar 0cca60: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in method ACCEPTS at /tmp/4nCV5JIVk_:1␤  in block <unit> at /tmp/4nCV5JIVk_:1␤␤»
17:07 ilmari dha: I believe the "a code object that takes no arguments" refers to the latter, and is outdated
17:07 FROGGS timotimo: was there any consensus on changing the "custom unicode operators" example?
17:07 dha I note that you can do C<sub a {say "beep"};a.ACCEPTS("topic");> but it will spit at you if you omit topic. But it spits at you *after* calling the sub.
17:08 timotimo FROGGS: i'm not the gatekeeper for perl6.org ;)
17:08 ilmari m: sub a($t) { $t > 42 }; 42 ~~ a
17:08 camelia rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gCmqEYF5QV␤Calling a() will never work with declared signature ($t)␤at /tmp/gCmqEYF5QV:1␤------> 3sub a($t) { $t > 42 }; 42 ~~ 7⏏5a␤»
17:08 timotimo i'll also be AFK for a bit
17:08 dalek rakudo/nom: 2997e4d | jnthn++ | src/Perl6/Grammar.nqp:
17:08 dalek rakudo/nom: Fix thinko in add_variable.
17:08 dalek rakudo/nom:
17:08 dalek rakudo/nom: Mis-constructed the operator name, leading to us wrongly generating
17:08 dalek rakudo/nom: ops.
17:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2997e4db98
17:08 dalek rakudo/nom: 24babbb | jnthn++ | src/ (2 files):
17:08 ilmari m: sub a($t) { $t > 42 }; say 42 ~~ &a
17:08 dalek rakudo/nom: Make dispatchers behave like Perl 6 objects.
17:08 dalek rakudo/nom:
17:08 camelia rakudo-moar 0cca60: OUTPUT«False␤»
17:08 dalek rakudo/nom: Also speed up their construction along the way. This was the only
17:08 dalek rakudo/nom: thing exposed in the CORE:: pseudo-package that wouldn't nicely gist.
17:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/24babbb945
17:09 ilmari m: sub a($t) { $t > 42 }; say 44 ~~ &a
17:09 jdv79 dha: was there any interesting take aways from the last PM meeting?
17:09 camelia rakudo-moar 0cca60: OUTPUT«True␤»
17:09 FROGGS timotimo: if nobody feels like doing something I'd change it to a much simpler example
17:09 ilmari m: sub a($t) { True }; say 44 ~~ &a
17:09 camelia rakudo-moar 0cca60: OUTPUT«True␤»
17:09 ilmari m: sub a() { True }; say 44 ~~ &a
17:09 camelia rakudo-moar 0cca60: OUTPUT«True␤»
17:09 ilmari m: sub a { True }; say 44 ~~ &a
17:09 camelia rakudo-moar 0cca60: OUTPUT«True␤»
17:09 dha m: sub a {say "beep"};a.ACCEPTS("topic");
17:09 camelia rakudo-moar 0cca60: OUTPUT«beep␤»
17:09 dha m: sub a {say "beep"};a.ACCEPTS;
17:09 camelia rakudo-moar 0cca60: OUTPUT«beep␤Cannot call ACCEPTS(Bool: ); none of these signatures match:␤    (Mu:U $: \topic, *%_)␤    (Mu:U $: Mu:U \topic, *%_)␤    (Any:D $: Mu:D \a, *%_)␤    (Any:D $: Mu:U \a, *%_)␤    (Any:U $: \topic, *%_)␤    (Bool:D $: Mu \topic, *%_)␤  i…»
17:09 dha Beeps all around.
17:09 ilmari m: sub a() { True }; say a.ACCEPTS
17:09 camelia rakudo-moar 0cca60: OUTPUT«Cannot call ACCEPTS(Bool: ); none of these signatures match:␤    (Mu:U $: \topic, *%_)␤    (Mu:U $: Mu:U \topic, *%_)␤    (Any:D $: Mu:D \a, *%_)␤    (Any:D $: Mu:U \a, *%_)␤    (Any:U $: \topic, *%_)␤    (Bool:D $: Mu \topic, *%_)␤  in block…»
17:10 ilmari m: sub a --> True { }; say 44 ~~ &a
17:10 camelia rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1bs2kxNhL5␤Missing block␤at /tmp/1bs2kxNhL5:1␤------> 3sub a7⏏5 --> True { }; say 44 ~~ &a␤    expecting any of:␤        new name to be defined␤»
17:10 ab5tract_ jnthn: what's the syntax for precedence / associativity modification? I assume it is exposed differently than what is used in src/core/precedence.pm?
17:10 dha jdv79 - the social? Not really. We had a good time. :-)
17:10 timotimo ab5tract_: yeah, we have "is tighter" "is looser" and "is equiv"
17:10 timotimo at least for precedence
17:10 timotimo for associativity ... dunno?
17:11 El_Che converted some random sync scripts from my ~/bin to a small unified mirror.p6 script. Impressed how far perl6 has evolved and how relatively fast it is for small command line scripts
17:11 El_Che kudos
17:11 jnthn ab5tract_: is tigheter/is equiv/is loser for prec
17:12 jdv79 oh
17:12 jnthn ab5tract_: And is assoc for associativity
17:12 ab5tract_ "watch who ya calling a loser, buddy"
17:12 El_Che next: try to convert a inhoud Digicert rest api inhouse perl5 lib + programs to see how far I get.
17:12 ab5tract_ ;)
17:12 dha jdv79 - I may be talking Jim into doing some p6 documentation, though. we'll see. :-)
17:12 jnthn oh my...*looser* :D
17:13 dha Ok, I'm ignoring Code.ACCEPTS until this becomes clearer.
17:13 Loren_ multi sub infix:<foo> is tighter(&infix:<+>)
17:13 Loren_ is assoc('left')
17:14 dalek nqp: 72b284c | jnthn++ | tools/build/MOAR_REVISION:
17:14 dalek nqp: Bump for context iterator fixes.
17:14 dalek nqp: review: https://github.com/perl6/nqp/commit/72b284cc0a
17:14 ab5tract_ Loren_: thanks for the clarification!
17:16 ab5tract_ masak: any luck finding where those examples live? :(
17:16 Loren_ ab5tract_, Em
17:17 dalek doc/usage_statements: 47e2521 | (David H. Adler)++ | lib/Type/Int.pod:
17:17 dalek doc/usage_statements: Removed $tries from signature and docs of is-prime to bring docs in line
17:17 dalek doc/usage_statements: with rakudo commit 59cb611af9
17:17 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/47e2521ca1
17:17 dalek doc/usage_statements: 462ad11 | (David H. Adler)++ | lib/Type/ (3 files):
17:18 travis-ci joined #perl6
17:18 dalek joined #perl6
17:18 travis-ci NQP build failed. jnthn 'Bump for context iterator fixes.'
17:18 travis-ci https://travis-ci.org/perl6/nqp/builds/83733145 https://github.com/perl6/nqp/compare/082efa3b8f00...72b284cc0a31
17:18 travis-ci left #perl6
17:19 [Coke] lizmat: Pair.freeze need tests?
17:20 sunnavy joined #perl6
17:21 laouji joined #perl6
17:22 dalek rakudo/nom: e2ff161 | jnthn++ | tools/build/NQP_REVISION:
17:22 dalek rakudo/nom: Bump NQP_REVISION for context iterator fixes.
17:22 dalek rakudo/nom:
17:22 dalek rakudo/nom: Means that things like MY::.values now provides all the values in
17:22 dalek rakudo/nom: the current lexical scope; before it just gave a (Mu) for each of
17:22 dalek rakudo/nom: them.
17:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e2ff161737
17:23 ZoffixWork joined #perl6
17:23 ZoffixWork masak, I generated them with Text::VimColour. I wasn't aware of the /snippets/
17:23 * ZoffixWork looks closer into that
17:24 dalek perl6.org: da2ced2 | FROGGS++ | source/index.html:
17:24 dalek perl6.org: change custome ops example to a simpler one
17:24 dalek perl6.org:
17:24 dalek perl6.org: While the unicode example with the precedence traits shows some powerness, it
17:24 dalek perl6.org: might frighten newcomers that this kind of complexity would be needed to add
17:24 dalek perl6.org: a custom operator.
17:24 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/da2ced2850
17:25 dalek roast: 41a40f4 | jnthn++ | S02-names/pseudo.t:
17:25 dalek roast: Tests to cover RT #123154.
17:25 dalek roast: review: https://github.com/perl6/roast/commit/41a40f4aa1
17:26 [Coke] might want to remove/update the STD.pm link to the "official Perl 6 grammar".
17:26 [Coke] plus, I imagine that's not a thing we need to have in the footer regardless.
17:28 dalek perl6.org: 12ca1d8 | FROGGS++ | source/index.html:
17:28 dalek perl6.org: okay, we need to set precedence in example
17:28 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/12ca1d84fc
17:32 masak ZoffixWork: if you could just replace the Unicode ❢ example with http://irclog.perlgeek.de/perl6/2015-10-05#i_11321129 , that would be an immense improvement
17:32 masak kthx
17:32 larion joined #perl6
17:32 ZoffixWork masak, I think that's what FROGGS++ just done in the commit above :)
17:33 ZoffixWork Or maybe not.
17:34 ab5tract_ m: sub ¿ { say "I know there is a trick to this, but most of the unicode examples I have seen are operator-oriented, highlighting the utility of the example I am currently crafting" }
17:34 camelia rakudo-moar 0cca60: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c3CE4Kw0hV␤Missing block␤at /tmp/c3CE4Kw0hV:1␤------> 3sub7⏏5 ¿ { say "I know there is a trick to thi␤    expecting any of:␤        new name to be defined␤»
17:36 ZoffixWork masak, not being fluent in math, I'm pretty confused about what's going on in your example. What do you think of FROGGS's simpler factorial example?
17:36 ZoffixWork (it's now live on perl6.org)
17:36 laouji joined #perl6
17:37 dalek perl6.org: 4d5630c | (Zoffix Znet)++ | source/ (3 files):
17:37 dalek perl6.org: Fix styles on /archive/ stuff
17:37 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/4d5630c675
17:37 Loren_ I think we should
17:37 Loren_ learn from haskell home page
17:38 FROGGS Loren_: in what way?
17:38 Loren_ https://www.haskell.org/  just see the Try it
17:39 FROGGS Loren_: well, I do not feel invited to try something when I don't know a bit of the language
17:39 pink_mist indeed
17:40 FROGGS and if I'd new haskell I probably don't need that evaluator
17:40 ZoffixWork Loren_, I'm not impressed. I'd like to first find out more about the language. Typing "5+7" into a textbox and getting "12" isn't very exciting.
17:40 Loren_ I think so friendly to beginners ...
17:40 ZoffixWork I do think some sort of "Try it live" on the site would be very nice. For people to try something out without bogging down with installing stuff (as mentioned last night: http://irclog.perlgeek.de/perl6/2015-10-05#i_11317151 )
17:41 pink_mist although ... will perl6 eventually be able to run on a webpage? :P
17:41 FROGGS yes, would be nice to run/edit the examples...
17:41 fling joined #perl6
17:41 FROGGS pink_mist: sure, fsdo 'on a webpage' :o)
17:41 pink_mist as in, under a javascript vm
17:41 FROGGS we'll see
17:42 dalek faq: 6bf1fb6 | (Ingo Blechschmidt)++ | answers.md:
17:42 dalek faq: Fix a few tiny typos
17:42 dalek faq: review: https://github.com/perl6/faq/commit/6bf1fb6287
17:42 dalek faq: a0bc48a | FROGGS++ | answers.md:
17:42 dalek faq: Merge pull request #3 from iblech/patch-1
17:42 dalek faq:
17:42 dalek faq: Fix a few tiny typos
17:42 dalek faq: review: https://github.com/perl6/faq/commit/a0bc48a42e
17:43 lichtkind joined #perl6
17:43 ZoffixWork Oh, I like haskell.org's sections under that "Try it" stuff. Section tells about a feature; you click on it and get some code examples. Very nice.
17:44 Loren_ haha ..
17:44 FROGGS yes, that makes more sense
17:46 st_iron joined #perl6
17:46 st_iron hi
17:46 FROGGS hi st_iron
17:47 grondilu while trying to debug #126269, I manage to golf a weird bug:
17:47 Loren_ I think examples are necessary, but i prefer some interaction to the language before i download it.
17:47 grondilu m: my @a = (++$ + 1/*) xx *; my $f = @a.iterator.pull-one; say $f.(1) for ^10;
17:47 camelia rakudo-moar 0cca60: OUTPUT«2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤»
17:48 grondilu I was execting only ones.
17:48 grondilu compare this with:
17:48 ZoffixWork Loren_, yeah, that's a good point.
17:49 grondilu m: my @a = 1 + 1/*, 2 + 1/*, 3 + 1/*; my $f = @a.iterator.pull-one; say $f.(1) for ^3;
17:49 camelia rakudo-moar 0cca60: OUTPUT«2␤2␤2␤»
17:49 grondilu hang on, let me do this again.
17:50 timotimo grondilu: why? the state becomes a part of the WhateverCode, i expect
17:50 grondilu I doubt it
17:51 espadrine joined #perl6
17:51 ZoffixWork .tell moritz is there a way to nuke /online/ for perl6.org and restart mowyw from scratch? It's not re-generating files that were not touched during update, but since the header/footer %includes were changed, some pages are not properly refreshed: http://perl6.org/archive/
17:51 yoleaux ZoffixWork: I'll pass your message to moritz.
17:51 grondilu m: my @f = ($++ / *) xx 4; say { .(1) }, @f
17:51 camelia rakudo-moar 0cca60: OUTPUT«-> ;; $_? is raw { #`(Block|61622048) ... }[WhateverCode.new WhateverCode.new WhateverCode.new WhateverCode.new]␤»
17:51 domidumont joined #perl6
17:51 laouji joined #perl6
17:51 grondilu m: my @f = ($++ / *) xx 4; say map { .(1) }, @f
17:51 camelia rakudo-moar 0cca60: OUTPUT«(0 1 2 3)␤»
17:52 grondilu m: my @f = ($++ / *) xx 2; say map { .(1) }, @f
17:52 camelia rakudo-moar 0cca60: OUTPUT«(0 1)␤»
17:53 moritz ZoffixWork: I'm triggering a full rebuild now
17:53 yoleaux 17:51Z <ZoffixWork> moritz: is there a way to nuke /online/ for perl6.org and restart mowyw from scratch? It's not re-generating files that were not touched during update, but since the header/footer %includes were changed, some pages are not properly refreshed: http://perl6.org/archive/
17:53 grondilu m: my @f = ($++ / *) xx 2; my $f = @f.iterator.pull-one; say $f.(1) for ^2
17:53 camelia rakudo-moar 0cca60: OUTPUT«0␤1␤»
17:53 ZoffixWork \o/
17:53 grondilu there is only on $f since we pulled the iterator only once
17:55 grondilu m: my @f = ($++ / *) xx 2; my $f = @f.iterator.pull-one; say $f.(1) for ^10
17:55 camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
17:55 grondilu it's even more ridiculous with ten iteration since @f is supposed to have only two elements.
17:55 * jnthn is part way into working on RT #121530
17:55 jnthn Dinner time &
17:56 grondilu or even this:
17:56 grondilu m: my @f = $++ / *; my $f = @f.iterator.pull-one; say $f.(1) for ^10
17:56 camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
17:57 grondilu m: my $f = (my @ = $++ / *).iterator.pull-one; say $f.(1) for ^10
17:57 camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
17:57 PerlJam m: my @f = $++ / *; my $f = @f[0]; say $f.(1) for ^10;
17:57 camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
17:57 grondilu that can't be right
17:57 grondilu can it?
17:58 moritz why not?
17:58 PerlJam I'm going with ZoffixWork I think ... the anon state var becomes closued over by the WhateverCode
17:58 grondilu oh wait
17:59 grondilu I see
17:59 PerlJam oh wait, it was timotimo who suggested that.
17:59 ZoffixWork :)
17:59 grondilu the state variable is part of the function indeed
18:00 PerlJam in any case, the original code has too many red herrings to think about what's going on :)
18:00 moritz ZoffixWork: I've patched the update script to run a full update if includes/ was changed
18:01 ZoffixWork moritz++
18:02 grondilu the thing is, I wanted to create a list of functions 1+1/*, 2+1/*, 3+1/* etc.  But I did not want the n in n+1/* to keep increasing at each call.
18:02 grondilu see what I mean?
18:02 moritz ZoffixWork: if it doesn't seem to work, please complain :-)
18:02 ZoffixWork ;)
18:03 grondilu should an anonymous state be closed by priming?
18:04 moritz why not?
18:04 grondilu why?
18:04 moritz because it's consistent
18:04 grondilu I mean, how then can I create a list of functions with a parameter?
18:04 grondilu I guess I could use map
18:05 FROGGS domidumont: installing the debian packages for moarvm and nqp now, to hopefully see what is going wrong with rakudo...
18:05 moritz whatever stars are meant to make a common case simpler, not to be turing complete
18:05 timotimo i suggested what? oh no! what did i do! what did i doooooooo~
18:05 grondilu m: my @f = map { $_ / * }, ^10; say @f[0].(1) for ^10
18:05 camelia rakudo-moar e2ff16: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
18:06 Skarsnik hm, what would be the best way to handle pg array string? writing a small grammar? (it look like that {Romance,"Alternate Universe","Slice of Life"}) but I have no idea what happend when there is like a " in the content
18:06 laouji joined #perl6
18:06 timotimo put a " in there and find out :)
18:06 dalek perl6.org: 0746d12 | moritz++ | update.sh:
18:06 dalek perl6.org: Bring update script under version control
18:06 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/0746d12d85
18:07 timotimo m: my @funcs = 1..*.map({ &infix:</>.assuming($_) }); say @funcs[4](1); say @funcs[4](1);
18:07 camelia rakudo-moar e2ff16: OUTPUT«Cannot find method 'Any'␤  in block <unit> at /tmp/SNEXlpGahp:1␤␤»
18:07 timotimo m: my @funcs = (1..*).map({ &infix:</>.assuming($_) }); say @funcs[4](1); say @funcs[4](1);
18:07 camelia rakudo-moar e2ff16: OUTPUT«5␤5␤»
18:07 lizmat [Coke]: re Pair.freeze, yes I can do that (provided we all feel Pair.freeze is a good idea?)
18:07 timotimo grondilu: how do you feel about that? ^
18:08 grondilu yeah using a map will do
18:08 grondilu m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1)
18:08 camelia rakudo-moar e2ff16: OUTPUT«2␤3␤»
18:09 grondilu oops
18:09 [Coke] lizmat: oh, i have no idea if it's a good idea. ;)
18:09 grondilu wrong paste
18:09 [Coke] er, :)
18:09 grondilu m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1)
18:09 camelia rakudo-moar e2ff16: OUTPUT«2␤3␤»
18:09 grondilu ahh
18:09 grondilu sorry wrong paste again
18:10 grondilu m: my @a = 1, |(2 xx *); say ([o] map {@a[$_] + 1/*}, ^10)(Inf);
18:10 camelia rakudo-moar e2ff16: OUTPUT«1.41421362489487␤»
18:10 grondilu so that does work
18:11 Skarsnik timotimo, tricky actually, phppgadmin offer me the array as a flat string so I need to put a \ before the " and the p6 module does not handle array so it like entering them as string x)
18:11 mattp__ joined #perl6
18:12 dalek roast: 1933600 | lizmat++ | S02-types/pair.t:
18:12 dalek roast: Add tests for Pair.new(key,value)
18:12 dalek roast: review: https://github.com/perl6/roast/commit/1933600560
18:12 Jaglor joined #perl6
18:16 timotimo hm
18:18 Skarsnik Well I think I will get the " as \", still funny how it put a single word without quote
18:20 dalek roast: c2b51f0 | lizmat++ | S02-types/pair.t:
18:20 dalek roast: Test Pair.freeze
18:20 dalek roast: review: https://github.com/perl6/roast/commit/c2b51f0e04
18:20 dalek DBIish: 312196a | moritz++ | lib/DBDish/Pg.pm6:
18:20 dalek DBIish: Return non-native Str from PQgetvalue
18:20 dalek DBIish:
18:20 dalek DBIish: Closes #21
18:20 dalek DBIish: review: https://github.com/perl6/DBIish/commit/312196ae4f
18:22 vendethiel masak: I guess that falled into the "looks cute now" trap :P
18:22 vendethiel fell*.
18:23 ab5tract_ is possible to create a sub with a unicode character name that is not an operator?
18:23 ab5tract_ *is it
18:23 ab5tract_ I notice that we don't seem to support it for package names either
18:24 moritz ab5tract_: if it's an identifier character, sure
18:24 moritz m: sub ä() { 'ae' }; say ä
18:24 camelia rakudo-moar e2ff16: OUTPUT«ae␤»
18:24 Hor|zon joined #perl6
18:24 FROGGS it has to be a word character, aye
18:24 moritz m: module Ä { our sub ö { 'wtf' } }; say Ä::ö()
18:24 camelia rakudo-moar e2ff16: OUTPUT«wtf␤»
18:25 ab5tract_ m: sub ¿ { ^11.roll }
18:25 camelia rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ioRHqVyMt8␤Missing block␤at /tmp/ioRHqVyMt8:1␤------> 3sub7⏏5 ¿ { ^11.roll }␤    expecting any of:␤        new name to be defined␤»
18:26 ab5tract_ ^ that was the question mark form I was going to provide for a dice roll example that would also show off package imports
18:26 moritz ¿ is a punctuation character, not an identifier
18:26 ab5tract_ moritz: yeah, I got that :)
18:28 ab5tract_ it makes sense to a degree, and I assume it was chosen this way for good reason
18:29 pink_mist ab5tract_: http://design.perl6.org/S02.html#Names maybe this will be enlightening to you? in particular the entire first paragraph under that heading
18:29 ab5tract_ and it's nice that it extends to ASCII as well
18:31 ab5tract_ pink_mist: thanks. that clarifies the rules of the game indeed.
18:31 moritz and you can always create prefix ops
18:33 dalek DBIish: 4be9ebe | moritz++ | t/10-mysql.t:
18:33 dalek DBIish: Fix mysql tests; closes #20
18:33 dalek DBIish:
18:33 dalek DBIish: * fix grep { /.../ } (use grep /.../, ... instead)
18:33 dalek DBIish: * GLR fixes
18:33 dalek DBIish: * use .roll instead of hand-made map
18:33 dalek DBIish: review: https://github.com/perl6/DBIish/commit/4be9ebee3f
18:35 lizmat moritz: 0..16 is one more than .roll(16)
18:35 ab5tract_ moritz: so what's the context one would define a thing which takes no args? Poking around it's hard to tell where the documentation for infix: / prefix: / etc contextualizers would be found
18:35 moritz ab5tract_: that's a term
18:35 laouji joined #perl6
18:36 ab5tract_ moritz: thank you!
18:36 moritz m: say term:<¿>() { (1..6).roll }; say ¿
18:36 camelia rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xbjZdfEQ2d␤Unexpected block in infix position (missing statement control word before the expression?)␤at /tmp/xbjZdfEQ2d:1␤------> 3say term:<¿>()7⏏5 { (1..6).roll }; say ¿␤    expecting any of:…»
18:36 moritz m: sub term:<¿>() { (1..6).roll }; say ¿
18:36 camelia rakudo-moar e2ff16: OUTPUT«1␤»
18:36 FROGGS .tell domidumont I... cannot reproduce the problem you reported :o(
18:36 yoleaux FROGGS: I'll pass your message to domidumont.
18:36 moritz m: sub term:<¿>() { (1..6).roll }; say ¿
18:36 camelia rakudo-moar e2ff16: OUTPUT«4␤»
18:36 ab5tract_ that clarifies 'term' for me as well
18:36 ab5tract_ thank you!
18:37 FROGGS .tell domidumont I installed moarvm, nqp, and rakudo/fix-lib-installation-path, but it works here
18:37 yoleaux FROGGS: I'll pass your message to domidumont.
18:37 yqt joined #perl6
18:37 domidumont FROGGS: Uh ? you mean that the shared lib is installed in /usr/lib when you compile rakudo ?
18:37 yoleaux 18:36Z <FROGGS> domidumont: I... cannot reproduce the problem you reported :o(
18:37 yoleaux 18:37Z <FROGGS> domidumont: I installed moarvm, nqp, and rakudo/fix-lib-installation-path, but it works here
18:38 yqt joined #perl6
18:39 FROGGS domidumont: that's my directory layout now: https://gist.github.com/FROGGS/f235b280bc61ff2ecad0
18:42 domidumont FROGGS: I end up with the same directory layout ...
18:42 FROGGS domidumont: and when do you get that error message?
18:42 ab5tract_ the more I think about it, the more obvious the choice to reserve punctuation as 'not for names' makes more and more sense :)
18:42 domidumont FROGGS: Just that: perl6 -e 'say "hello";'
18:43 domidumont FROGGS: I get : nhandled exception: failed to load library 'dynext/libperl6_ops_moar.so'
18:43 domidumont at <unknown>:1  (/usr/share/perl6/runtime/perl6.moarvm:<dependencies+deserialize>:81)
18:43 ab5tract_ it's pretty much the way we programmers have about always divied it up
18:44 ab5tract_ or, I should say, them language designers ;)
18:44 FROGGS hmmmm
18:44 FROGGS it does work here...
18:44 FROGGS what am I doing wrong?
18:44 FROGGS (besides using ubuntu)
18:44 * domidumont is wondering the same thing
18:45 domidumont FROGGS: Did you modify also the way moarvm is built ?
18:45 FROGGS domidumont: no
18:45 FROGGS domidumont: do I have to?
18:45 domidumont no. I use a moarvm package that I built (and uploaded) before
18:46 FROGGS I also used nqp/master, not the feature/moarvm-and-jvm-backends branch
18:46 [Coke] is the package recent?
18:47 domidumont 2015-09
18:47 FROGGS [Coke]: 2015.09
18:47 [Coke] ok.
18:48 FROGGS ohh
18:48 FROGGS now I get the error message!
18:48 domidumont ah.. A heisenbug ?
18:48 FROGGS no, I left the pkg-rakudo directory :o)
18:48 domidumont ah ha
18:49 El_Che does rakudo build on cygwin?
18:51 laouji joined #perl6
18:51 FROGGS El_Che: almost I think
18:53 FROGGS domidumont: when you do `cat /usr/bin/perl6`, you'll notice and empty --libpath option
18:54 FROGGS domidumont: and it'll work if you put /usr/lib/perl6/runtime in there
18:55 domidumont ok. So I forgot something in the patch that's supposed to fix the installation path
18:56 FROGGS yeah... let me check what exatlxy
18:56 FROGGS exactly*
18:56 Hor|zon joined #perl6
18:58 domidumont How dumb: I forgot to define the AM_DLLPATH variable with the weird @slash@share ..
18:58 domidumont line 12 in makefile-moar.in
18:58 El_Che this (http://www.jnthn.net/papers/2015-spw-perl6-course.pdf) should be directly in http://perl6.org/documentation/. Those slides were really useful to get started fast
19:00 FROGGS domidumont: I guess you need to append "$(DESTDIR)$(PERL6_DLL_DIR)/runtime/dynext" to lines 276, 277 and 282 of makefile-moar.in
19:02 Alina-malina joined #perl6
19:04 domidumont FROGGS: ok
19:05 bakedb joined #perl6
19:06 laouji joined #perl6
19:10 jdv79 is Centos 5 too old to compile on?
19:10 masak try-it-and-see?
19:10 jdv79 i did
19:10 jdv79 cc error
19:10 FROGGS and?
19:10 FROGGS can you put that in a gist?
19:11 masak sounds more like a cc error to me than a Centos error.
19:11 jdv79 cc1: error: unrecognized command line option "-Werror=declaration-after-statement"
19:11 FROGGS ohh
19:11 jdv79 i compiled on this box a few months ago
19:11 masak might be a new -W option
19:11 masak new in Rakudo's build, I mean
19:11 FROGGS yes, we added these -Werror options just recently
19:11 jdv79 that would be my guess
19:12 FROGGS it is meant to force devs to care about MSVC
19:12 FROGGS and actually not break things :/
19:12 woolfy joined #perl6
19:12 domidumont FROGGS: close but no cigar: --libpath="/home/domi/debian-dev/perl6-stuff/build-area/rakudo-2015.09/debian/rakudo/usr/lib/perl6/runtime/dynext" :-/
19:12 domidumont
19:13 woolfy left #perl6
19:13 FROGGS O.O
19:13 domidumont Anyway, I'll find a way to fix this. Thanks for your help
19:13 FROGGS domidumont++
19:13 domidumont but tomorrow :-p
19:14 FROGGS jdv79: we have a build/probe.pm that tries to figure out what works and what not... seems that this -Werror option needs to go in there
19:14 FROGGS :o)
19:14 jdv79 ok
19:14 jdv79 neato
19:14 FROGGS jdv79: so, if you don't want to tackle it yourself, please open an issue in the moarvm repo
19:14 jdv79 looks like RHEL 5 is "not EOL'd til 2017 or 2020
19:14 jdv79 so maybe worth supporting
19:14 FROGGS aye
19:15 jdv79 i'll ticket it 
19:15 FROGGS jdv79++
19:27 atweiden joined #perl6
19:32 dha joined #perl6
19:35 laouji joined #perl6
19:36 atweiden in general, can a grammar token of the form { <a> || <b> || <c> } always be translated to proto tokens
19:36 yoleaux 4 Oct 2015 06:18Z <FROGGS[mobile]> atweiden: look at method _ws in rakudo/src/Perl6/Grammar.nqp
19:36 atweiden proto token alphabetic {*}; token alphabetic:a { ... }; token alphabetic:b { ... }; token alphabetic:c { ... };
19:37 atweiden i ask because i did this and grammar-debugger shows that it's matching against alphabetic:a then alphabetic:b, but then it cuts out and the match fails
19:37 * vendethiel isn't sure Grammar::Debugger is totes up-to-date
19:37 moritz atweiden: proto tokens to longest-token matching, so <a> | <b> | <c>, not with ||
19:38 moritz atweiden: and the LTM engine can sometimes determine that a token doesn't match, and doesn't even have to try
19:38 dha Opinions: usage statements for numeric functions should use NUMERIC or NUMBER?
19:39 [Sno] joined #perl6
19:39 dha i.e. abs(NUMERIC) or abs(NUMBER)?
19:40 moritz dha: I kinda like Perl 6's type names
19:40 moritz abs(Numeric)
19:40 moritz they have the distinct advantage that they are very well-defined
19:41 dha Yeah, that's what I was thinking. It reads a bit weird, but probably the right choice.
19:43 atweiden moritz: is it best practice to use LTM everywhere in grammars?
19:44 PerlJam atweiden: that's a weird question.
19:45 atweiden "The basic notion is that LTM is how people tend to parse text in their heads, so the computer ought to try to do the same"
19:45 ][Sno][ joined #perl6
19:47 moritz atweiden: it's a sensible default. "Everyhwere" is too encompasssing
19:47 mspo ][Sno][: hi
19:47 moritz atweiden: there's a useful pattern for error reporting that uses ||
19:48 moritz atweiden:  'for' <list> [ <block> || <.panic: "Missing block"> ]
19:48 ][Sno][ hi mspo
19:48 vendethiel moritz: mmh, I guess "when to use ||" could be an interesting FAQ point
19:49 atweiden Thanks for the clarification. I've rarely used LTM in my regexes. Most of the time I'd rather it short circuit on a non-matching char. Didn't know by converting from || to proto tokens I was converting to LTM.
19:52 grondilu m: say (map {$_}, 1 xx *)[10];
19:52 camelia rakudo-moar e2ff16: OUTPUT«1␤»
19:52 grondilu m: say (map {$_}, 2, |(1 xx *))[10];
19:52 camelia rakudo-moar e2ff16: OUTPUT«(timeout)»
19:53 grondilu ^not sure if this hanging is ok
19:53 grondilu does slip lose lazyness or something?
19:53 grondilu m: say (map {$_}, 2, slip (1 xx *))[10];
19:53 camelia rakudo-moar e2ff16: OUTPUT«1␤»
19:53 grondilu m: say (map {$_}, 2, slip (1 xx *))[1000];
19:53 camelia rakudo-moar e2ff16: OUTPUT«1␤»
19:54 grondilu isn't |@ supposed to be the same as slip @ ?
19:55 dha Hm. In most pages I've gone through so far, the signatures of methods that are also subs have been in the order sub, then method. In Cool.pod, this is often, but not always reversed.
19:55 dha Should that change?
19:56 moritz dha: IMHO that's neglectable in comparison to all the other issues that perl6/doc has :-)
19:56 tokuhirom joined #perl6
19:56 dha True, but since I'm going through it, should I change this while I'm there?
19:57 moritz if you feel like
19:57 dha Also, do we have a list of the issues perl6/doc has? Maybe we should. And maybe an effort to fix them? I'm willing to participate. :-)
19:57 pink_mist can't hurt with more consistency
20:00 dha So mote it be.
20:00 moritz dha: there's https://github.com/perl6/doc/issues/
20:01 dha True.
20:01 moritz dha: and WANTED in the repo has a list of topis that people want
20:01 dha That's more issues with the doc *system* than the actual docs, though.
20:02 dha WANTED strikes me as... incomplete. :-)
20:02 moritz it doesn't claim to be complete
20:03 moritz m: say (my $).VAR.^name
20:03 camelia rakudo-moar e2ff16: OUTPUT«Scalar␤»
20:03 dha I know. But complete would be helpful.
20:08 dha I guess my goal is to make the documentation usable for people who *don't* hang out in #perl6. :-)
20:08 colomon +1  ;)
20:10 moritz dha: that was my goal from the start. Which is why I tried to document stuff people were asking about, instead of shooting blindly
20:10 dha Indeed.
20:11 dha I should point out that I'm not complaining so much as worrying. Which I tend to do. :-)
20:11 dha Admittedly, sometimes too much...
20:19 waressearcher2 joined #perl6
20:19 waressearcher2 is perl6 more perfect than perl5 ?
20:20 PerlJam waressearcher2: are daisies more perfect than tulips?
20:20 moritz waressearcher2: we certainly strife to make it so
20:20 waressearcher2 I mean at least it was "reason", right ?
20:21 Psyche^_ joined #perl6
20:21 tadzik can you be "more perfect"?
20:24 ZoffixWork waressearcher2, having programmed Perl 5 for a decade and barely knowing a few lines of Perl 6, I do find that some of the warts of Perl 5 got smoothed out... but the two are pretty different languages to so simplistically compare them.
20:25 waressearcher2 ZoffixWork: so the difference is noticeable only to experience programmers who dive really deep into all language intricacies and for others who barely write more than 100 lines per program for them there will no much diffence in between perl 5 and perl 6 ?
20:26 waressearcher2 I mean from "efficiency" point of view
20:26 ZoffixWork waressearcher2, that's axiomatically true for any two languages: if you barely know anything about both of them, you'll find them quite similar :)
20:26 ZoffixWork waressearcher2, efficiency in what? Writing code?
20:27 dalek doc: c40a1aa | moritz++ | lib/Language/containers.pod:
20:27 dalek doc: Rework containers.pod
20:27 dalek doc:
20:27 dalek doc: closes #139
20:27 dalek doc: review: https://github.com/perl6/doc/commit/c40a1aaab3
20:27 waressearcher2 ZoffixWork: yes, like in newer version have to make you more efficient and faster at writing code, or something like that
20:29 ZoffixWork waressearcher2, I guess... both Perls do extensively use syntax instead of stuff like 'preg_replace_callback_array'.
20:29 ZoffixWork waressearcher2, Perl 5 has a much larger repository of modules at the moment, so... depending on what you're making you might find Perl 5 "more efficient and faster at writing code"
20:30 diana_olhovik_ joined #perl6
20:31 ZoffixWork waressearcher2, and to clarify: both modern Perl 5 and Perl 6 are "new". Perl 5's last release was about 45 days ago. Both are modern languages, they're just in the same family for historical reasons.
20:33 Skarsnik waressearcher2, if you want perf, don't use perl6 x)
20:33 dha Oh heck. Perl 6 style is to not use parens, isn't it?
20:33 moritz dha: unless they are necessary :-)
20:33 ZoffixWork Don't use it *yet* :)
20:34 * dha has been looking at the parens in the signatures and replicating them in usage statements. Oops. Back to the salt mines.
20:35 atweiden waressearcher2: Coming from a background in Bash, and having toyed in Perl5, Perl6 seems more approachable to me
20:36 atweiden The 6 syntax makes a world of difference, and the p6 grammar-debugger is life changing if you ever need a regex
20:36 diana_olhovik_ joined #perl6
20:37 jnthn Also worth noting that Perl 6 is in a much better place for multi-core hardware.
20:39 rindolf joined #perl6
20:43 lizmat Yet Another Perl 6 Weekly: https://p6weekly.wordpress.com/2015/10/05/2015-41-a-new-face/
20:43 ZoffixWork \o/
20:43 jnthn \o/
20:43 colomon lizmat++
20:44 mr_ron joined #perl6
20:45 jnthn lizmat++
20:51 masak lizmat++
20:51 laouji joined #perl6
20:55 dha joined #perl6
20:55 masak lizmat: you got the order of the function composition backwards.
20:55 masak m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; my &double-invert = &double o &invert; say double-invert(0.25)
20:55 camelia rakudo-moar e2ff16: OUTPUT«8␤»
20:55 masak blog post says 2.
20:55 masak lizmat: &this-gets-applied-second o &this-gets-applied-first
20:55 lizmat :-(
20:56 masak lizmat: or, for the visually inclined, (&f o &g)($x) === f(g($x))
20:58 lizmat could you reload ?
20:59 masak looks better :)
20:59 lizmat masak++
21:00 masak lizmat: another, even slighter nitpick "Three Types of Macros", no possessive apostrophe
21:00 lizmat fixed, masak++ again
21:01 jnthn Now the post has less grammar mistakes!
21:01 lizmat *fewer
21:01 lizmat :-)
21:01 jnthn :D
21:01 jnthn Yay, I've got it so when multiple LEAVE/POSTs throw exceptions we collect 'em all and show 'em all
21:02 lizmat jnthn++
21:03 ab5tract_ jnthn: that sounds.. tricky
21:04 jnthn Wasn't too bad :)
21:04 * jnthn is relieved he didn't have to do any VM-level changes for it :)
21:04 masak looks like all the ecosystem additions were by Japanese contributors.
21:04 lizmat yup
21:04 masak is Perl 6 getting a big following in .jp ?
21:04 ab5tract_ I can understand why :)
21:04 lizmat I would hope so
21:05 masak すごい!
21:06 masak ^_^
21:06 * Juerd likes the function composition operator, but wonders why there even is a unicode variant for it.
21:06 masak Juerd: I'm not sure I understand what you're wondering about.
21:06 masak Juerd: that's exactly what that character in Unicode is there for.
21:07 PerlJam Juerd: oddly, I wondered why there was a Texas variant when I first saw it.
21:07 jnthn masak: Perhaps some of the Perl 6 talks at YAPC::Asia caused some excitement.
21:07 Juerd For a programming language, I don't really see a point in using the hard to type unicode thing... We type -> instead of → too..
21:07 masak from Wikipedia: "The composition symbol ∘  is encoded as U+2218 ∘ RING OPERATOR"
21:08 Juerd Uh oh. Please don't do →.
21:08 lizmat https://www.youtube.com/watch?v=6r7bNYVdUVw   # by Tokuhiro Matsuno
21:08 ab5tract_ masak: the modules I've seen are so far are ported p5 code. but it looks like YAPC season has resulted in increased Japanese interest :)
21:08 masak \o/
21:08 Juerd (Probably someone will now tell me that → was the original operator all along...)
21:09 masak YAPC::Asia 2016!? I'm scared -- should I be watching this now...?
21:09 masak what if I create a time paradox or something
21:09 Juerd lol
21:09 PerlJam → should be synonymous with ->  ... good catch Juerd!  ;)
21:10 masak Juerd++ # bringing this to our attention
21:10 lizmat masak: where does the 2016 come from ?
21:10 masak lizmat: video you posted
21:10 masak lizmat: title slide
21:10 * Juerd contemplates virtual suicide
21:10 lizmat aha...  : -) completely missed that  :-)
21:11 lizmat anyway, I was there, and the room was *packed*, with standing room only on all sides
21:11 masak lizmat: my hypothesis is that tokuhirom, like the rest of us, sometimes writes last year instead of the current year in his presentations. but unlike the rest of us, tokuhirom is moving *backwards in time*
21:12 lizmat in that light "Perl6 on the JVM sorta works" does not bode well  :-)
21:12 masak hehe
21:13 jnthn lizmat: Yeah, and one of us still needs to implement the shift-jis encoding...well, I probably need to remember it's name first :)
21:13 mspo targeting two runtimes is a lot
21:13 lizmat *its
21:13 lizmat :-)
21:14 jnthn bah :P
21:14 lizmat jnthn: if you can point me to where it would need to be done, perhaps I can work it out
21:14 dalek doc/usage_statements: 792ca93 | (David H. Adler)++ | lib/Type/Cool.pod:
21:14 dalek doc/usage_statements: Added usage statements and fixed signature order in Cool.pod
21:14 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/792ca93095
21:14 PerlJam lizmat: btw, reading your example for ∘ made me wish you'd mentioned that if you're uncomfortable specifying the order of your functions as right to left, you can always do  my &double-invert = &double Ro &invert;
21:15 lizmat ooohhhh invert the invert inverter
21:15 jnthn lizmat: To add it in Moar, it'd be implemented in src/strings/ following the same pattern as other encodings.
21:15 dha Whew. Cool.pod is long.
21:16 pink_mist dha++
21:16 pink_mist good effort!
21:16 jnthn Ah, I got the POST semantics a tad wrong.
21:16 dha Thanks. I hope I got it all right. Did notice that I screwed up split in Str.pod. fixing...
21:16 masak m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; say (&double o &invert)(0.25); say (&double Ro &invert)(0.25)
21:16 camelia rakudo-moar e2ff16: OUTPUT«8␤2␤»
21:16 masak \o/
21:17 jnthn spectests++
21:17 masak m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; say infix:<o>(&double, &invert)(0.25); say infix:<Ro>(&double, &invert)(0.25)
21:17 camelia rakudo-moar e2ff16: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xCLu39DQAz␤Undeclared routine:␤    infix:<Ro> used at line 1. Did you mean 'infix:<o>', 'infix:<∖>', 'infix:<lt>', 'infix:<eq>'?␤␤»
21:17 masak boo
21:17 masak also, Rboo
21:17 PerlJam heh
21:18 masak NO I DID NOT MEAN infix:<∖>
21:18 masak WHAT'S WRONG WITH YOU LEVENSHTEIN
21:18 dalek doc/usage_statements: a8fc200 | (David H. Adler)++ | lib/Type/Str.pod:
21:18 dalek doc/usage_statements: Fixed usage statement for C<split> in Str.pod
21:18 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/a8fc20073c
21:20 laouji joined #perl6
21:22 dha Oh yeah, I was confused by this. Why is C<pack> (with signature "sub pack(Str $template, *@items) returns Buf") in Blob.pod rather than Buf.pod?
21:22 dha Or somewhere else?
21:22 [Coke] dha: question: instead of using [, ARG] to indicate an optional arg, why not ARG?
21:23 [Coke] one less syntax for our doc readers to learn.
21:23 PerlJam Coke++
21:25 dha so, for instance, "split /PATTERN/, STRING[, LIMIT]" "split /PATTERN/, STRING, LIMIT\nsplit /PATTERN/, STRING" like in the perl 5 docs?
21:26 [Coke] apologies for not asking this sooner.
21:26 dha Yeah, sooner would probably have been better. :-)
21:26 [Coke] dha: no. use the perl 6 syntax for optional args.
21:26 PerlJam dha: he meant   ARG?   instead of [, ARG]
21:26 dha uh... which is?
21:26 dha oh!
21:26 [Coke] m: sub a($this, $that?) { say "$this $that" }; a("this"); a("this",3);
21:26 camelia rakudo-moar e2ff16: OUTPUT«Use of uninitialized value $that of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in sub a at /tmp/TqspHBWTxS:1␤this ␤this 3␤»
21:26 dalek rakudo/nom: 590c6f7 | jnthn++ | src/ (3 files):
21:26 dalek rakudo/nom: Correct semantics of dieing LEAVEs.
21:26 dalek rakudo/nom:
21:26 dalek rakudo/nom: Just in time for autumn! Now as per design docs, an exception thrown
21:26 dalek rakudo/nom: by a LEAVE does not prevent evaluation of further LEAVE/UNDO/KEEP/POST
21:26 dalek rakudo/nom: blocks. If we get one exception we just throw it; if we get multiple
21:26 dalek rakudo/nom: we collect them all and throw an X::PhaserExceptions containg them.
21:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/590c6f73a2
21:27 pmurias joined #perl6
21:27 dalek roast: 489c492 | jnthn++ | S04-phasers/enter-leave.t:
21:27 dalek roast: Unfudge RT #121530 test; more related tests.
21:27 dalek roast: review: https://github.com/perl6/roast/commit/489c4921e8
21:27 dha Ah. I parsed that as an actual question mark. :-)
21:27 [Coke] I'm happy to take that as a TODO and update existing ones.
21:27 dha Ah.
21:27 pmurias are the Japanee Perl programmers more interested in Perl 6 on the JVM?
21:28 dha If you want to. but I can do it. I'm about to remove a bunch of parens, so I can do that while I go.
21:29 jnthn Enough for today. 'night, #perl6!
21:29 dha night jnthn
21:29 lizmat gnight jnthn
21:30 PerlJam jnthn: sleep well!
21:30 lizmat pmurias: can't really say: but that was the only Perl 6 talk in Japanase, afiak
21:30 lizmat *afaik
21:31 n0xff joined #perl6
21:32 ab5tract_ https://gist.github.com/ab5tract/18b95160763bf901c74e
21:32 khw joined #perl6
21:33 ab5tract_ ^^ offered as a potential addition to the examples section on perl6.org
21:33 dha In the meantime, anyone have any ideas on my question about C<pack> in Blob.pod?
21:36 lizmat dha: that may be for hysterical raisins
21:36 lizmat a Blob is an immutable Buf nowadays
21:36 lizmat right ?
21:36 dha Ok. Unsure how to usage that, then.
21:36 dha that's what the docs say.
21:40 lizmat I guess it would need to live in Buf.pod then
21:40 TEttinger joined #perl6
21:41 masak aww, the "Custom Unicode operators" example on the web page was turned into just "Custom operators"...
21:41 masak good that we're using postfix:<!> instead of that silly Unicode exclamation mark, though
21:42 pmurias lizmat: I'm under the impression that the JVM is really alien to a lot of Perl hackers (as there isn't much interest in this backend), it would be interesting if it was different in Japan
21:43 masak FROGGS: re https://github.com/perl6/perl6.org/commit/12ca1d84fca024260e49eb6bd04bdbc466651074
21:43 masak FROGGS: what does this `is tighter` add to the example? could you show me an expression that would be wrongly allowed if that trait weren't there?
21:43 lizmat well, judging from the attendence at Tokuhiro Matsuno talk, there was a lot of interest for it at YAPC::Asia
21:43 dalek doc/usage_statements: 111a73e | (David H. Adler)++ | lib/Type/ (2 files):
21:43 dalek doc/usage_statements: Fixed paren and optional arg issues for Types through Cool.pod
21:43 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/111a73e616
21:44 leont joined #perl6
21:45 masak FROGGS: S06 says that postfixes are created with precedence equivalent to postfix:<++>
21:46 masak FROGGS: so I guess your `is tighter` actually makes the new postfix looser than it would have otherwise been.
21:46 simon joined #perl6
21:46 simon hello"
21:47 dha Having gotten up to "C" in the lib/Type directory, I think I shall merge back into the main repository.
21:47 masak looser than autoincrement, exponentiation, and symbolic unaries
21:47 masak simon: hello!
21:47 lizmat dha++
21:47 * dha bows
21:48 masak FROGGS: frankly, I think it's confusing to think of postfix:<!> as looser than either of those three precedence levels... :)
21:48 dalek doc: ef69b16 | (David H. Adler)++ | lib/Type/Any.pod:
21:48 dalek doc: Added usage statements for ACCEPTS and junctions to Any.pod
21:48 dalek doc: review: https://github.com/perl6/doc/commit/ef69b16216
21:48 dalek doc: ff764d8 | (David H. Adler)++ | lib/Type/B (2 files):
21:48 dalek doc: Added usage statements to Backtrace.pod and Blob.pod (except for pack,
21:48 dalek joined #perl6
21:49 masak 'night, #perl6
21:49 dha Aw. I broke the dalek.
21:49 dha Why is that bot called dalek, anyway?
21:49 simon i am new with perl but interested in socket programming. i think perl would be a good choice, but now I heard from perl6.. should i start with perl5 or is perl6 ready to play with it?
21:49 dha It does not seem to exterminate anything...
21:49 jdv79 good ? dha
21:49 dalek rakudo/nom: ebc1c38 | lizmat++ | src/core/ (3 files):
21:49 dalek rakudo/nom: Move SET_(LEAD|TRAIL)ING_DOCS to Rakudo::Internals
21:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebc1c38341
21:50 simon haha
21:50 jdv79 p5 is ok cept threading
21:50 laouji joined #perl6
21:51 simon i like the new functional features in perl6... and the good oo style..
21:52 simon but what is the status of the language? are things changing or is there a fixed core?
21:54 lizmat simon: you could check out http://perl6.org, or https://p6weekly.wordpress.com  :-)
21:54 lizmat if you want to keep a little bit up to date
21:54 PerlJam simon: it's been fairly fixed for a while now with the exception of the recent Great List Refactor to nail down the semantics of certain usage of lists
21:54 lizmat and/or hang out here :-)
21:57 simon thank you lizmat, PerlJam ;-) i will do this
22:00 dalek rakudo/nom: 4725e2e | lizmat++ | src/core/ (3 files):
22:00 dalek rakudo/nom: Move EXPORT_SYMBOL to Rakudo::Internals
22:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4725e2edf4
22:02 simon sorry for this question, but is there just a little evidence that the specification will be released in the next years? ;)
22:02 simon maybe 3 years
22:02 bjz joined #perl6
22:03 dalek doc/usage_statements: 3f016cd | (David H. Adler)++ | lib/Type/Date.pod:
22:03 dalek doc/usage_statements: Added usage statements to Date.pod
22:03 dalek doc/usage_statements: review: https://github.com/perl6/doc/commit/3f016cd385
22:03 lizmat simon: https://www.youtube.com/watch?v=RvCkvXvqi3U   # Get Ready To Party!
22:03 El_Che simon: perl 6 should be out by Christmas
22:03 lizmat s/should/will/
22:03 El_Che simon: *This* Christmas! (that's new) :)
22:03 El_Che \o/
22:03 simon El_Che: haha i read alerady the wiki article ;)
22:04 dalek rakudo/nom: 93d2c93 | lizmat++ | src/core/traits.pm:
22:04 dalek rakudo/nom: Remove superfluous Pair stub
22:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/93d2c9395a
22:04 tokuhirom joined #perl6
22:06 laouji joined #perl6
22:06 dp joined #perl6
22:07 dp hello
22:07 lizmat dp o/
22:08 waressearcher2 left #perl6
22:09 dp Is there still any point in learning some other version of perl than perl6?
22:10 cognominal joined #perl6
22:10 grondilu dp: Yes.  For the same reason that there still is a point in learning C for instance.  Perl 6 is not supposed to replace Perl 5.
22:11 Skarsnik perl5 is very different than perl6. and perl6 is not really production ready IMO
22:11 dalek rakudo/nom: 218357e | lizmat++ | src/Perl6/Grammar.nqp:
22:11 dalek rakudo/nom: Remove reference to deprecated "winner"
22:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/218357e010
22:12 dp Alright. Would you recommend picking up perl6 before perl5 or the other way around?
22:13 leont That depends on what you want to do, really
22:13 Skarsnik yes, exactly
22:13 Skarsnik actually is there some modern p5 tutorial?
22:14 leont There are several good books, Modern Perl and Beginning Perl being the best known ones
22:15 gtodd joined #perl6
22:15 dp I'm mostly just curious about the language and it's features
22:16 dp Will I be able to understand perl5 if I only learn perl6?
22:16 leont They're quite distinct nowadays, so not really
22:17 Juerd dp: Depends on what you mean by 'understand'. You'll recognise a lot, but you'll also be baffled by some things that are completely different.
22:17 gtodd I upgraded trusty perl6 on an rarely used machine and I borked my repl :-)  (no curson or arrow keys or Ctrl-a )
22:17 gtodd wahh
22:18 El_Che dp: I have found perl5 knowledge (and some Ruby knowledge) pretty handy when trying perl 6.
22:19 gtodd I thought there was basic linenoise style line editing "built in"
22:19 kid51 joined #perl6
22:20 ilmari gtodd: you need to install the Linenoise module
22:20 ilmari or just use rlwrap, since linenoise sucks and makes repl startup time really slow
22:21 laouji joined #perl6
22:22 gtodd ahh ok I thought linenoise was builtin with schmancy tab completion of builtins etc. etc. planned to be a module
22:23 gtodd ..  REPL::Schmancy   :-D
22:23 gtodd anyway thanks
22:25 Zoffix ,
22:25 yoleaux 12:25Z <lizmat> Zoffix: http://perl6.org/getting-started/ seem to have CSS issues
22:25 Zoffix Fixed! :)
22:25 lizmat :-)
22:27 dalek rakudo/nom: 68f233a | lizmat++ | src/core/ (2 files):
22:27 dalek rakudo/nom: Remove some deprecations that we missed
22:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/68f233a03a
22:27 El_Che Isn't the R* name on the site a little confusing (implying a relation with R) ?
22:29 lizmat perhaps better "R *" ?
22:29 tadzik or Rakudo Star? :)
22:29 El_Che Rakudo*
22:29 El_Che ?
22:29 lizmat the line in question: follow these instructions to build and install Rakudo Star (“R*”), a Perl 6 distribution with a number of useful modules included.
22:29 El_Che although some people will look for a footnote :)
22:30 lizmat maybe (aka R*)
22:30 El_Che Find available modules — use the panda installer (comes with R*) to install modules listed at the Perl6 modules directory.
22:31 lizmat El_Che: why not do a PR on perl6/perl6.org ?
22:34 El_Che ok, so Rakudo*?
22:34 El_Che or stick with R*
22:35 lizmat I would say: (comes with Rakudo Star)
22:35 lizmat and perhaps remove the mention on the "install a compiler"
22:36 lizmat R* is really echo chamber lingo
22:36 El_Che "Install Rakudo Star" instead of "iNSTALL a compiler"
22:37 El_Che got it
22:38 lizmat no, I actually meant: on that loine
22:38 lizmat line
22:38 lizmat just remove
22:38 lizmat ("R*")
22:38 lizmat from the line "install a compiler..."
22:40 lizmat hmmm... it's late already...
22:40 lizmat good night, #perl6!
22:40 El_Che done
22:42 kuzgun joined #perl6
22:42 timotimo .u star
22:42 yoleaux U+0001 START OF HEADING [Cc] (␁)
22:42 yoleaux U+0002 START OF TEXT [Cc] (␂)
22:42 yoleaux U+0086 START OF SELECTED AREA [Cc] (<control>)
22:42 timotimo no, damn %)
22:42 dalek perl6.org: 7d769ab | (Claudio Ramirez)++ | source/getting-started/index.html:
22:42 dalek perl6.org: R* -> Rakudo Star
22:42 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/7d769abe13
22:42 dalek perl6.org: 6a65b5e | lizmat++ | source/getting-started/index.html:
22:42 dalek perl6.org: Merge pull request #37 from nxadm/master
22:42 dalek perl6.org:
22:42 dalek perl6.org: R* -> Rakudo Star to avoid confusion with the R system.
22:43 dalek perl6.org:
22:43 dalek perl6.org: See http://irclog.perlgeek.de/perl6/2015-10-05#i_11323264 for discussion.
22:43 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/6a65b5e598
22:43 lizmat El_Che++
22:43 lizmat sleep&
22:43 timotimo R★
22:43 El_Che yeah, I made the site leaner (sarcasm sign) :)
22:44 larion joined #perl6
22:44 El_Che Rakudo⛧  (the Gothic release)
22:48 skids joined #perl6
22:49 ^elyse^ .tell vendethiel http://repzret.org/p/repzret/
22:49 yoleaux ^elyse^: I'll pass your message to vendethiel.
22:49 ^elyse^ .botsnack
22:49 yoleaux :D
22:50 laouji joined #perl6
22:51 ^elyse^ jnthn: ^ you may also like that link, as you're implementing a JIT compiler (IIRC)
22:52 ^elyse^ anyway, time to sleep. bye!
22:52 El_Che I love the batteries include approach of sub MAIN for command line parsing. I wonder if there is an option to pass parameters as "--option value" instead of "--option=value". The first is more UNIX like
22:58 greez11 joined #perl6
22:59 greez11 left #perl6
23:06 laouji joined #perl6
23:20 telex joined #perl6
23:21 laouji joined #perl6
23:31 mr_ron joined #perl6
23:32 Peter_R joined #perl6
23:47 BenGoldberg joined #perl6

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

Perl 6 | Reference Documentation | Rakudo