»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:00 AlexDaniel left
ingy /msg NickServ VERIFY REGISTER ingy pwwuogzfjjhr 00:15
tadzik oh :)
that's why you do it in the server window ingy :P
ingy oops 00:16
how do I talk to an operator in freenode? 00:17
My account got messed up somehow 00:18
awwaiid ls 00:19
awwaiid wants to be link ingy
timotimo ln -s ingy
the -Ofun page on perl6.org is kind of empty 00:20
we should put more fun up on the 'nets
timotimo puts a few thoughts into the issues of the repository 00:22
00:26 mr_ron joined
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
not necessarily every day, but perhaps at least on a weekly basis?
Zoffix ingy, /j #staff and ask there 00:35
ingy Zoffix: OK 00:40
Zoffix: you need to be invited 00:41
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
I had already asked about this in #freenode
I had 32 chans regeistered 00:44
but now they are registered to freenode-staff
Zoffix ingy, oh, if I try to join #staff, it redirects me to #freenode. I think #freenode is the right staff channel.
ingy because I hadn't identified recently before a freenode database cleanup
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
Zoffix :D
ShimmerFairy timotimo: looking at perlhex's recent tweets, if you could somehow fit in something about Rats and FatRats, that might be interesting. 00:47
dalek href="https://perl6.org:">perl6.org: 56c61f7 | (Zoffix Znet)++ | source/whatever/index.html:
Replace outdated Inline::Rakudo mention with Inline::Perl6 (Closes #24)
00:49
href="https://perl6.org:">perl6.org: 607580e | (Zoffix Znet)++ | source/whatever/index.html:
Use community-favoured MetaCPAN for Perl 5 docs
timotimo ShimmerFairy: what makes you say that? 00:53
00:53 laouji_ joined
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:53
timotimo ah 00:54
00:54 aborazmeh joined, aborazmeh left, aborazmeh joined 00:57 lichtkind left
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
00:58 tokuhirom joined
timotimo aye, that's a good one 00:59
01:02 tokuhirom left
dalek href="https://perl6.org:">perl6.org: d821680 | (Zoffix Znet)++ | source/compilers/index.html:
Fix invalid markup
01:03
href="https://perl6.org:">perl6.org: 23ee70a | (Zoffix Znet)++ | source/compilers/index.html:
Mark Niecza as discontinued (Closes #26)
c: f76fb3d | skids++ | lib/Language/functions.pod:
Catch docs up with +/+@ slurpies

Remove example that does not work for form that should now, as it turns out, be discouraged, as it may never work unless Capture is changed to carry hanging comma information.
01:05
href="https://perl6.org:">perl6.org: 7b7d585 | (Zoffix Znet)++ | source/compilers/ (2 files):
Mark STD and viv as not actively developed (Closes #29)
01:06
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:07
ShimmerFairy It's been discussed before, and it sounds nice, but the "try it" evaluator should be separate from camelia methinks :) 01:08
Zoffix Reuse. Reduce. Recycle! :) What is the reason to avoid using camelia? 01:09
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:10
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 :)
Zoffix I would keep them together, to simplify keeping stuff up to date :) A topic for another time, I guess :) 01:12
ShimmerFairy yeah, in at least a few hours there'll be more people available to discuss this with :) 01:14
01:16 kid51 left 01:17 leont left 01:20 lichtkind joined
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:26
as well as Proc::Async 01:27
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
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:28
because there's a "how to get your kernel working using python code" guide on the jupyter page 01:29
01:29 mr_ron left
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:30
Zoffix 's plan was to use Perl 5's Mojolicious 01:32
timotimo why u no dogfood?
(of course, done trumps done in perl6 :) )
ShimmerFairy timotimo: I disagree, perl6 done in perl6 is way cooler than perl6 done :P 01:36
01:41 mr_ron joined
timotimo we're making headway 01:48
01:59 kaare__ joined 02:17 pochi_ left, pochi joined 02:29 noganex joined 02:32 noganex_ left 02:41 tokuhirom joined, pochi_ joined 02:43 pochi left 02:44 lichtkind_ joined 02:46 lichtkind left 02:58 BenGoldberg left 03:12 telex left 03:14 telex joined 03:17 lichtkind_ left 03:45 aborazmeh left 04:01 tokuhirom left 04:11 Xor_ left 04:18 Xor_ joined, crux joined 04:21 mr_ron left 04:22 timbunce__ left, timbunce_ joined 04:28 skids left 04:34 PotatoGim joined
PotatoGim Hi. 04:34
04:37 Xor_ left 04:45 Xor_ joined 04:59 TEttinger left 05:00 tokuhirom joined 05:04 [Sno] left 05:05 Xor_ left 05:06 Xor_ joined 05:15 Xor_ left 05:18 Xor_ joined 05:27 Xor_ left 05:33 apotheon_ is now known as apotheon 05:34 apotheon left, apotheon joined 05:44 laouji_ left 05:45 laouji_ joined 05:46 Xor_ joined, FROGGS left 06:01 quester joined
quester p6: say EVAL "2+2"; 06:02
camelia rakudo-moar 2765b6: OUTPUT«4␤»
quester p6: say eval "2+2";
camelia rakudo-moar 2765b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ eval used at line 1. Did you mean 'val'?␤␤»
quester thinks that could considered an LTA error message...
06:10 rurban joined 06:14 FROGGS joined, domidumont joined 06:16 diana_olhovik joined
quester submitted RT #126264 06:18
06:19 domidumont left, quester left, domidumont joined 06:26 brrt joined
brrt good * 06:27
FROGGS o/ 06:28
06:28 Xor_ left 06:29 Xor_ joined
[Tux] test 50000 37.214 37.095 06:29
test-t 50000 38.534 38.415
tux.nl/Talks/CSV6/speed4.html 06:30
tokuhirom how do i get remote-addr by socket from IO::Socket::Async.listen?
brrt [Tux], that's a regression, isn't it? 06:31
06:31 Ven joined
[Tux] I think it is noise 06:31
brrt hmmm
well, here's hoping
[Tux] look at the bottom graph
brrt aye 06:32
i finally have a reason why the tiler-combination-generator terminates 06:39
as in, i finally know why it can't oscillate
FROGGS oscillate? 06:40
brrt yes, well, it's a fixed-point algorithm that tries to find the complete set of allowable combinations 06:41
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
FROGGS ohh :o) 06:42
06:42 [Sno] joined
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:42
another worry is whether the sets are always the *complete* set 06:43
but i think i can reason my way out of that
the tl;dr of it is that not generating a complete set would seem to cause a logical contradiction
moritz \o 06:45
thanks Zoffix
brrt good * moritz :-)
avuserow does anyone know if TimToady++'s talk tomorrow will be recorded or streamed? I was hoping to go but tickets are sold out.
brrt is TimToady giving a talk tomorrow, again? :-o where? 06:47
FROGGS at a craigslist++ office I think? 06:48
avuserow perl6releasetalk.ticketleap.com/per...lk/details
it's actually at the exploratorium, which sounds awesome 06:49
brrt omg :-o
stuff is in motion
exciting
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
Timbus_ im so glad it's gone 06:51
brrt i guess it really just resonated with me
want one item of a list? prefix with $. want many? prefix with @
moritz it starts to get when you do a hash slice 06:52
and write @h{qw/a b/}
and then you do a hash slice on a hash ref
and the beginner's mind just goes WAT? 06:53
brrt but ain't that fun though
:-)
i agree it's complex. but we've reduced that complexity and introduced the distinction between := and =
which, to my mind, still says WAT 06:54
moritz except that the normal user basically never has to use := 06:59
before GLR, there were use cases for := to avoid eager evaluation 07:00
those are gone now, afaict
07:00 zakharyas joined
brrt hmmm 07:00
yeah, that is true 07:01
lets hope that remains true
07:01 Xor_ left
Ven waves at #perl6 07:02
brrt \o Ven 07:03
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.
nine .tell masak Enum's gone :) There's just Pair now.
yoleaux nine: I'll pass your message to masak.
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'?␤␤»
moritz \o/ 07:16
07:16 laouji_ left 07:18 laouji_ joined 07:23 ely-se joined 07:28 rurban left 07:30 espadrine_ joined
masak morning, #perl6! 07:32
yoleaux 07:14Z <nine> masak: Enum's gone :) There's just Pair now.
masak \o/ 07:33
07:33 pdcawley joined
masak well, this came up in a discussion where we talked about making .value immutable 07:35
07:35 Xor_ joined, maddingu1 is now known as maddingue
masak I guess what we can do instead with Pair is to make it an rvalue 07:35
how do you construct a Pair with an rvalue .value ? :)
brrt that took some parsing 07:36
07:36 espadrine_ left
moritz masak: key => $value 07:36
07:37 bjz joined
masak ah, yes. 07:37
m: my $p = (key => 42); say $p.perl; $p.value = 5; say $p.perl
camelia rakudo-moar 2765b6: OUTPUT«:key(42)␤Cannot modify an immutable Int␤ in block <unit> at /tmp/zmd5ndj_D7:1␤␤»
masak \o/
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
camelia rakudo-moar 2765b6: OUTPUT«key => 23␤»
Ven fwiw, that's going to bug people :) 07:39
bug newcomers and bite users, probably. oh well, that ship sailed the very first day of perl6 :)
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␤»
Ven m: sub _($a) is rw { $a }; my $p = (key => _(42)); $p.value = 23; say $p
camelia rakudo-moar 2765b6: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/1DCnhMKyKA:1␤␤»
Ven yarrh
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␤»
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:43
masak how would it bite them in a loop? 07:45
we're doing an assignment of a literal
07:45 bjz left 07:46 RabidGravy joined
Timbus_ thats actually.. kinda neat 07:46
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:50
we just teach people to go `$ = 42` instead of `42` 07:51
it's like "the smallest possible thing that can be a container" :) 07:53
07:54 darutoko joined 07:57 jsimonet joined
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␤»
dalek kudo/nom: 8dd7440 | FROGGS++ | src/ (4 files):
handle Type:D and Type:U on variables and attributes

  `my Int:D $foo` compiles to something like `my Int $foo where *.defined = 0`
now. Some occurrences of Int:D in the setting had to be removed because at the time it is compiled we can't instanciate Pair. And we need Pair to add the constraint to the variable or attribute. However, these occurrences had no affect yet anyway.
08:00
FROGGS .tell jnthn please try to break github.com/rakudo/rakudo/commit/8dd74406e6 :o)
yoleaux FROGGS: I'll pass your message to jnthn.
08:01 bjz joined
ely-se can't help but read :D and :U as smileys 08:01
FROGGS ely-se: that's what they are called, yes
ely-se :U
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
FROGGS m: my Int:D $foo; say $foo # happy code is happy. ... in a bit
camelia rakudo-moar 2765b6: OUTPUT«(Int)␤»
FROGGS nine: yeah, I was thinking about that, but was too sleepy last night when I changed it to think about it 08:03
08:03 Xor_ left
FROGGS eww, that sentence sounds weird 08:03
08:07 bjz left, bjz joined 08:08 vytas left
nine FROGGS: well I think my sentence was not that much of a sentence either ;) It is Monday morning after all :) 08:08
FROGGS yeah 08:09
FROGGS yawns
08:11 Xor_ joined 08:13 bjz left
dalek href="https://perl6.org:">perl6.org: c3ac91f | (Ilmari Vacklin)++ | source/index.html:
Fix typo.
08:15
iv to my surprise I had commit rights 08:16
08:17 Xor_ left
FROGGS iv: well, you are mentioned in the perl(5)guts, arn't you? ;o) 08:19
ely-se lol
08:22 Ven left 08:23 dakkar joined 08:26 Ven joined 08:27 saaki left 08:28 saaki joined, araujo joined, araujo left, araujo joined
brrt yes, the new perl6 design is very nice 08:28
bootstrap i guess?
ely-se obviously 08:29
08:38 rindolf joined 08:39 Ven left, rurban joined 08:41 bjz joined
grondilu TimToady: I'm reading en.wikipedia.org/wiki/Function_composition and I admit I'm a bit confused. It is said that &infix:<o> is always associative. 08:41
08:42 mattprelude joined
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);
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 ␤»
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 08:45 bjz left
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))
(f o (g o h))(x) = f((g o h)(x)) = f(g(h(x)) 08:47
it *is* associative
08:47 Xor_ joined
grondilu (if I'm not mistaken) 08:48
brrt hmmmmmmmm
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
grondilu I vaguely remember now that I've been taught that long ago and was a bit puzzled by it then. 08:50
but I forgot about it as the composition operator is rarely used anyway.
brrt that is a new interpretation of my nickname ely-se
i've heard it compared to machine guns, too
ely-se burrito*
next time I'm in the local burrito shop I'll ask for a vowelless burrito 08:51
08:54 Xor_ left
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␤␤»
grondilu m: say &infix:<o>.prec 08:58
camelia rakudo-moar 8dd744: OUTPUT«Method 'prec' not found for invocant of class 'Sub'␤ in block <unit> at /tmp/VJM8bFte4U:1␤␤»
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) ... }␤»
grondilu doesn't get it
09:03 FROGGS left
grondilu m: m: say find-reducer-for-op(&[o]) 09:04
camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_LEFT (| is raw) { #`(Sub|73469344) ... }␤»
grondilu m: m: say find-reducer-for-op(&[**])
camelia rakudo-moar 8dd744: OUTPUT«sub METAOP_REDUCE_RIGHT (| is raw) { #`(Sub|74108528) ... }␤»
grondilu &[o] is seen as left associative, so why does it try to reverse in [o] &cos xx * ?
09:06 Skarsnik joined, Xor_ joined
grondilu also: say [+] # is ok 09:07
m: say [+] # is ok
camelia rakudo-moar 8dd744: OUTPUT«0␤»
grondilu m: say [o] # is not
camelia rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤ in block <unit> at /tmp/2cuPDkeZso:1␤␤»
ShimmerFairy m: say &infix:<+>() 09:10
camelia rakudo-moar 8dd744: OUTPUT«0␤»
ShimmerFairy m: say &infix:<∘>()
camelia rakudo-moar 8dd744: OUTPUT«Too few positionals passed; expected 2 arguments but got 0␤ in block <unit> at /tmp/XzqCiSNFYi:1␤␤»
ShimmerFairy function composition doesn't have a 0-arg form, that's why it doesn't work :)
grondilu yes, that's the issue
&[o] should be { $_ } 09:11
or something like that
I mean &[o]()
-> |args{ |args }
a general identity function can be useful anyway. 09:12
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 ?
jnthn: I'll pass your message to lizmat.
08:00Z <FROGGS> jnthn: please try to break github.com/rakudo/rakudo/commit/8dd74406e6 :o)
jnthn .tell lizmat VM supported hashes are an implementation detail; nope.md is about language things 09:14
09:14 Ven joined
yoleaux jnthn: I'll pass your message to lizmat. 09:14
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.
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) ... }␤»
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)
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 *
camelia rakudo-moar 8dd744: OUTPUT«(timeout)(3.14159265358979)␤»
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 09:26 Xor_ left 09:28 Xor_ joined 09:29 avar joined, Ven left, groky joined
grondilu notices the note: 09:31
# 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.
in src/core/Any-iterable-methods.pm
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.
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 groky left
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
jnthn .tell FROGGS That latter one is why I was more pondering a MOP-level solution: so they are first class. 09:35
yoleaux jnthn: I'll pass your message to FROGGS.
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
moritz Skarsnik: did you open an issue in the DBIish repo, with code to reproduce it?
09:36 Xor_ left
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. :)
jnthn has a nagging feeling he forgot something...
moritz has the JIT issue with named args been fixed?
grondilu discovers the sub (+arg) {...} syntax 09:37
jnthn moritz: Not afaik
moritz: Last I know brrt++ had managed to get it down to a really small reproduction 09:38
ely-se Wait, are :D and :U really called "smileys" in Perl 6? 09:39
09:40 Xor_ joined 09:41 yakudza joined
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? github.com/perl6/DBIish/blob/maste...g.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
ely-se ok :P
09:43 rurban left
nine jnthn: maybe bool_enum? 09:44
ely-se uh, I mean: ok :U
jnthn nine: Ooh. Thanks :)
brrt would require a good afternoon with gdb and nice amenities to figure that one out, and just hasn't found it yet
jnthn is currently looking into the status of method postcircumfix:<( )> 09:46
iirc, that went away in favor of CALL-ME 09:47
09:48 larion joined
ely-se Is it possible to implement COMEFROM in Perl 6? 09:48
jnthn But CALL-ME hasn't got a single mention in the design docs 09:49
lizmat good *, #perl6!
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: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:14Z <jnthn> lizmat: VM supported hashes are an implementation detail; nope.md is about language things
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:50
09:50 Xor_ left
lizmat jnthn: MapIterator would be the first thing in Rakudo::Internals 09:51
would it be ok if I just rename it to MAPITERATOR (all uppercase) like many other currently exposed internals ?
brrt i think comefrom is implemented by translating it to a goto-label pair 09:53
and iirc we've not implemented goto
but as far as vm level support goes, i'm fairly sure we can 09:54
either as a true jump or as a lexotic exception
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
lizmat: e.g. ::IO::...
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
lizmat we could just adapt PseudoStash keys / AT-KEY etc. :-)
brrt would suggest that cleanup from exposed internals would be before christmas, because otherwise they may accidentally become features
09:56 Ven joined, mattp__ joined
lizmat but ok, I hear you... 09:56
09:56 domidumont left
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:56
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 :-)
I guess we want Rakudo::Internals to be a -package- right ? 09:58
jnthn *nod* 09:59
That makes it easy to extend as we go
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 :)
jnthn :) 10:00
10:02 Xor_ joined
lizmat nine: give me a few mins, and Rakudo::Internals should be ready to be used :-) 10:02
nine lizmat: take your time :) There's still $day-job to take care of 10:03
jnthn Do we know what caused the startup time regression? 10:06
lizmat no
jnthn k
spectest is getting rather messy on Windows... 10:08
lizmat hmmm... first stab at Rakudo::Internals makes settings parse go infiniloop :-( 10:09
10:10 ely-se left
lizmat jnthn: the bag/mix failures are mine and will be dealt with shortly 10:10
jnthn lizmat: OK, thanks.
10:10 laouji left
jnthn is busy breaking the world :) 10:10
10:11 laouji joined
jnthn But it's hard to see how much 10:11
Because heredoc changes have shagged up quite a few spectests :(
(On Windows only) 10:12
10:13 RabidGravy left, Bucciarati joined 10:14 Ven left
dalek kudo/nom: 88907fc | jnthn++ | src/Perl6/ (4 files):
Eliminate use of postcircumfix:<( )> method.

We replaced it long ago with CALL-ME.
10:14
10:14 ribasushi left
jnthn oops, missed one mention 10:16
10:16 rurban joined
jnthn Well, two, the second was deliberate 10:16
m: class C { method @($idx) { } }; say C.^methods
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␤»
jnthn m: class C { method @.($idx) { } }; say C.^methods
camelia rakudo-moar 8dd744: OUTPUT«(postcircumfix:<[ ]>)␤»
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:17
dalek kudo/nom: 07c5694 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
Remove one more method postcircumfix:<( )> use.
10:19
10:19 ribasushi joined
dalek kudo/nom: 24e2dc4 | lizmat++ | / (3 files):
Introduce Rakudo::Internals with MapIterator
10:22
kudo/nom: 2291b05 | lizmat++ | src/core/ (2 files):
Use Rakudo::Internals::MapIterator
10:27 literal joined
jnthn gah, coercion/invocation is such a tangle 10:31
10:31 brrt left
lizmat
.oO( YAT :-)
10:31
jnthn I really don't like how it gets overloaded onto CALL-ME 10:32
10:33 pippo joined
pippo o/ #perl6; 10:33
10:33 ely-se joined
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])␤»
pippo ^^ Is that correct?
lizmat pippo: yes, that's the 1 argument rule in action 10:35
my @a = ^10; my @b = ^10; my @c = @a, @b; say @c.elems
m: my @a = ^10; my @b = ^10; my @c = @a, @b; say @c.elems
camelia rakudo-moar 8dd744: OUTPUT«2␤»
ShimmerFairy not even that, it's just less flattening
lizmat m: my @a = ^10; my @b = ^10; my @c = @a; say @c.elems 10:36
camelia rakudo-moar 8dd744: OUTPUT«10␤»
jnthn Well, the other question would be "why doesn't unique consider two arrays the same", which is because they're mutable reference types.
lizmat m: my @a = ^10; my @b = ^10; my @c = |@a, |@b; say @c.elems
camelia rakudo-moar 8dd744: OUTPUT«20␤»
lizmat m: my @a = ^10; my @b = ^10; my @c = |@a, |@b; say @c.unique
camelia rakudo-moar 8dd744: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
jnthn prefers to write that as `my @c = flat @a, @b` fwiw :)
(Yes, it behaves the same.)
lizmat well, suppose you want to |@a but not @b :-) 10:37
m: my @a = ^10; my @b = ^10; my @c = |(@a, @b); say @c.elems
camelia rakudo-moar 8dd744: OUTPUT«2␤»
lizmat m: my @a = ^10; my @b = ^10; my @c = flat (@a, @b); say @c.elems
camelia rakudo-moar 8dd744: OUTPUT«20␤»
jnthn Sure, then it'd wirte |@a, @b :)
pippo shouldnt unique return a warning/error when used like I did it?
jnthn pippo: Not really; sometimes unique references are just what you want 10:38
lizmat pippo: why? feels more like a case of DHIWIDT
jnthn @customers.unique # only want to consider each Customer object once, in a list with potential duplicate instances
10:38 FROGGS joined
jnthn I think you can do: 10:38
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])␤»
jnthn Yeah 10:40
pippo jnthn: lizmat: OK. I'll do like that although it is not very intuitive. :-)
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. :)
pippo :-)) 10:41
jnthn manages a partial heredoc improvement on Windows, at least
ShimmerFairy m: my @a ^10; my @b = ^10; say (@a.List, @b.List).unique 10:42
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))␤»
ShimmerFairy m: my @a = ^10; my @b = ^10; say (@a.List, @b.List).unique
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))␤»
jnthn hah, nice error :)
FROGGS o/
yoleaux 09:32Z <jnthn> FROGGS: I think we want to do it at MOP level in the future, if nothing else for speed.
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 }`
09:34Z <jnthn> FROGGS: also we totally drop the thing on the floor in some situations, like `my $x = Int:D; say $x`
09:35Z <jnthn> FROGGS: That latter one is why I was more pondering a MOP-level solution: so they are first class.
ShimmerFairy heh, I guess I should've expected .List to carry over the scalar containers too :P
jnthn ShimmerFairy: [...] isn't a Scalar anymore. :)
FROGGS jnthn: do we want to keep my patch in until then? 10:43
ShimmerFairy jnthn: but the elements inside an Array are, no?
jnthn ShimmerFairy: yes :)
ShimmerFairy: I think it does keep those though?
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
FROGGS: Oh, one more problem
m: my Int:omg $x
camelia rakudo-moar 8dd744: OUTPUT«===SORRY!===␤Unsupported type smiley 'omg' used in type name␤»
jnthn That just nqp::die's instead of $/.CURSOR.panic, so we get no source position :(
FROGGS ahh, yes
jnthn But yeah, your patch did better than I'd first feared :)
FROGGS++ 10:45
FROGGS *g*
hehe
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:46
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
ShimmerFairy nine: heh, I certainly am not surprised it didn't do the decont magic :)
jnthn ShimmerFairy: Well, all the methods starting with ! are depended on very directly by the code-gen the regex engine does 10:51
ShimmerFairy: And so coupled tightly to it, and fair game for changes in the future
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.
But yeah, it's really not designed for doing that.
(Writing your own overrides)
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 ☺)
jnthn ShimmerFairy: What are you actually wanting to do? :) 10:53
oh wait, you wrote that and I didn't read it :)
ShimmerFairy jnthn: implement the sorry/worry/panic stuff for grammars: github.com/ShimmerFairy/grammar-parsefail
jnthn Why do you need to override things ooc? 10:54
ShimmerFairy see the test added here: github.com/ShimmerFairy/grammar-pa...8e86f11a2c
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
(and reasonably could, I think)
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
jnthn: I'm not familiar with the highwater/expect stuff. I'll check the docs and synopses, if they happen to be there :)
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
ShimmerFairy: Does your problem boil down to "where do put contextuals"? 10:57
ShimmerFairy: If so, would it be possible for your role to provide a method parse that declares them and them callsame?
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
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
dalek p: 9a5fca6 | (Pawel Murias)++ | tools/build/ (2 files):
[js] start working on make js-bootstap - it will build a boostraped nqp-js once it's done
FROGGS pmurias++
jnthn FROGGS: Got a succinct description for me of that?
FROGGS jnthn: look at 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.
FROGGS jnthn: it serializes an array to disk, deserializes it, pushes, and serializes
jnthn: all works well until you *not* modify the array
jnthn: so I think it is about lazy deserialization or write barriers 11:00
though, I thought the scdisclaim op forces non-lazy deserialization
11:01 travis-ci joined
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.org/perl6/nqp/builds/83669570 github.com/perl6/nqp/compare/c67d5...5fca6c7882
11:01 travis-ci left
masak vendethiel: oh, I see what you mean now about the dangers of putting it in a loop. 11:02
in fact, gotta try that... :)
11:04 spider-mario joined
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␤»
masak ok, yeah. that's the risk Ven pointed out.
reference sharing: useful and pernicious at the same time.
dalek kudo/nom: 125db10 | jnthn++ | src/Perl6/Grammar.nqp:
Make heredocs a bit less busted on Windows.

Can likely go away again once we make \r\n a single grapheme in the upcoming NFG changes.
11:07
FROGGS ohh, so CRLF will become a grapheme? nice, I think 11:08
11:08 mr_ron joined
dalek ast: 0528f0c | jnthn++ | S12-methods/fallback.t:
s/postcircumfix:<( )>/CALL-ME/
11:09
masak .oO( -MAYBE )
pippo o/
11:10 pippo left
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
ShimmerFairy FROGGS: yep, since the extended grapheme cluster definition specifically names CRLF :)
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
11:11 domidumont joined
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
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
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
*facing
Of course, would be nice to figure out both :) 11:14
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:16
jnthn ShimmerFairy: Oh, for sure we'll still keep doing NFC first. 11:18
ShimmerFairy: Because that in turn gets us NFD
ShimmerFairy: Which is what is responsible for equality working out
(Because it does the stable sort on ccc) 11:19
dalek ast: 1eed483 | jnthn++ | S13-overloading/operators.t:
s/postcicumfix:<( )>/CALL-ME/
ast: a18cc07 | jnthn++ | S13-overloading/operators.t:
Update test to use AT-KEY API; unfudge.
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:20
dalek ast: 917701b | jnthn++ | S13-overloading/typecasting-long.t:
s/postcircumfix:<( )>/CALL-ME/
11:24
jnthn Of course, the K is for Korrupt :P
dalek ast: beb8db4 | jnthn++ | S14-roles/mixin.t:
s/postcircumfix:<( )>/CALL-ME/
11:25
jnthn OK, I think I've cleaned up the fallout of removing the method postcircumfix:<( )> support :)
11:25 leont joined
jnthn That still leaves me to ponder coercion stuff some more. But now, lunch and boring errand. & 11:26
11:35 kid51 joined
dalek osystem: 3f5252f | (Tokuhiro Matsuno)++ | META.list:
Added Getopt-Tiny
11:37
href="https://perl6.org:">perl6.org: c01db68 | (Zoffix Znet)++ | README.md:
Update README to mention new tech
timotimo Zoffix: youmightnotneedjquery.com/ :P 11:39
leont Tokuhirom++ # I've been wanting a getopt for quite some time 11:40
Zoffix timotimo, ¯\_(ツ)_/¯
11:40 Ven joined
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.
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␤␤»
lizmat huh? am I going crazy?
Zoffix It also has a very nice API. So *shrug* why not use it for everything :P
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␤»
timotimo www.doxdesk.com/img/updates/2009111...-large.gif
FROGGS lizmat: ^^
lizmat ah, eh, duh! 11:44
:-)
FROGGS :o)
11:45 kid51 left 11:50 myu joined
lizmat London Perl Workshop is looking for Perl 6 related presentations: act.yapc.eu/lpw2015/ 11:51
any takers ?
11:52 woolfy joined, Ven left
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
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'
See anonscm.debian.org/cgit/pkg-rakudo...ation-path
Can anyone give a hint on how to solve that ? 11:53
dalek p: 1c21422 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] Fix passing named parameters to multis.
p: bde8f6c | (Pawel Murias)++ | t/nqp/51-multi.t:
Test passing named and positional parameters to multis.
p: 5e820a7 | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
[js] Fix loading modules with :: in the name.
woolfy I think Liz already mentioned act.yapc.eu/lpw2015/ but this year the theme of the London Perl Workshop is "Perl6/Christmas".
timotimo i remember FROGGS worked a fair bit with packagers
DrForr woolfy: Not two minutes ago :)
woolfy So it would be very nice if some of you would like to submit Perl 6 talks to the London Perl Workshop: act.yapc.eu/lpw2015/newtalk (yes, you have to register first to be able to submit a talk). 11:54
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
domidumont FROGGS: ok. Thanks :-) 11:56
11:56 mr_ron left, Xor_ left
leont woolfy: was planning to go, have some ideas for a talk 11:56
timotimo going to london intimidates me a bit 11:57
dalek kudo/nom: bd22d7e | lizmat++ | src/core/Pair.pm:
Introduce Pair.freeze

After running .freeze on a Pair, you can no longer change its value
11:59
lizmat ^^^ felt cleaner rather than re-introducing Enum's for this purpose 12:00
timotimo fair point
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:
m: my $p = Pair.new("a",42); $p.value = 666
camelia rakudo-moar 125db1: OUTPUT«Cannot modify an immutable Int␤ in block <unit> at /tmp/rXvej3Lw0x:1␤␤»
lizmat m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666
camelia ( no output )
lizmat m: my $a = 42; my $p = Pair.new("a",$a); $p.value = 666; dd $p
camelia rakudo-moar 125db1: OUTPUT«Pair $p = :a(666)␤»
moritz uhm, but now Pair isn't immutable anymore :( 12:02
lizmat Pair was not immutable for a long time already
many months pre-GLR, afaicr
moritz what about doing a .frozen instead that returns a Pair which is immutable?
timotimo welllllll 12:03
in the case lizmat's building for right now it'd be 100% of cases it'd create a Pair then .frozen it
lizmat yup... 12:04
maybe we want that too...
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
lizmat and maybe we need it to be an internal method
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, leont left
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.
timotimo since all you have to do is nqp::decont the thing you want to make it RO, that'd be fine
lizmat moritz: that wouldn't help, because I need to change the pair during bag initialization
once that is done, *then* I can freeze the Pair 12:06
timotimo oh
lizmat -> $_ { (%e{$_.WHICH} //= ($_ => my Int $ = 0)).value++ } for @args;
.freeze for %e.values;
timotimo ah, of course
moritz so, hashes guarantuee that all the values are containers 12:08
12:08 rurban left
moritz and then you iterate over them and freeze? 12:08
no, that doesn't sound right 12:09
or I misunderstood
sorry, afk
lizmat moritz: it's a hash of Pairs 12:10
_itz I suspect perl6maven.com may need some "MSCE fixing" (restarting) 12:12
lizmat anyway, Pair.freeze seemed like a nice thing to have
_itz MCSE even
12:14 bjz left, travis-ci joined
travis-ci NQP build failed. Pawel Murias '[js] Fix loading modules with :: in the name.' 12:14
travis-ci.org/perl6/nqp/builds/83676702 github.com/perl6/nqp/compare/9a5fc...820a7eab9d
12:14 travis-ci left, bjz joined
pmurias the travis failures are getting annoying, I must figure out how to upgrade node.js on travis 12:15
12:15 camelia left
DrForr timotimo: I wouldn't worry about it, the only sticking point is finding the venue, really. 12:15
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
12:16 camelia joined
timotimo DrForr: i've just never been to england and i hear the government is quite orwellian there 12:17
12:18 ChanServ sets mode: +v camelia, Freddy_ joined
Freddy_ p6: say 3; 12:18
camelia rakudo-moar 125db1: OUTPUT«3␤»
12:19 Kcop joined
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?
woolfy channel tunnel -> chunnel 12:21
timotimo k
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.
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.
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.
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.
timotimo hah 12:24
i didn't even look when the lpw is going to be
_itz timotimo: the UK isn't remotely orwellian and you can do pretty much what you want
lizmat _itz: perl6.org/getting-started/ seems having CSS issues
timotimo lizmat: why ping itz about that? the newest changes are from Zoffix
_itz SEP :) 12:25
lizmat timotimo: good point :-)
.tell Zoffix perl6.org/getting-started/ seem to have CSS issues
yoleaux lizmat: I'll pass your message to Zoffix.
12:26 trottrt11 joined
FROGGS lizmat: that already was reported as issue #31 12:26
lizmat ah, ok... :-)
timotimo that page is missing a bunch of css links
FROGGS ++timotimo :o)
lizmat it's just that the new homepages is at #3 in news.ycombinator.com/news
timotimo perhaps it wasn't put into the regeneration thing properly? 12:27
DrForr +1 :)
lizmat so a quick fix would be nice :-)
cognominal thx timotimo for your help, I closed the "bug". rt.perl.org/Ticket/Display.html?id...1c2226f77c 12:28
12:28 salva left
cognominal timotimo++ 12:28
12:28 domidumont1 joined
dalek ast: e604f6f | lizmat++ | S02-types/ (2 files):
Remove some superfluous tests
12:28
timotimo yeah, i wonder if we can get at the variable's name somehow 12:29
dalek href="https://perl6.org:">perl6.org: f01f7f9 | coke++ | source/compilers/index.html:
note that pugs isn't active either
12:31
12:32 zakharyas1 joined, domidumont left, arcore joined, domidumont joined, Freddy_ left, vytas joined 12:33 salva joined, puffinblue joined, zakharyas left 12:34 trottrt11 left
timotimo was going to install mowyw on his desktop, but it's ... difficult 12:34
there's no config::file module in fedora 12:35
there's a thousand packages in the config:: namespace, though
_itz perlbrew + cpanm?
12:35 domidumont left
timotimo sounds like a lot of work :P 12:35
_itz its two lines :)
12:35 domidumont1 left
timotimo first i'll have a look if there's actually a Config/File.pm in any of these package 12:35
_itz . o O ( and 20 mins of deps installing ) 12:36
timotimo it's in perl-AppConfig
[Coke] jnthn: (blocking) being able to profile 'exit' would be nice.
timotimo didn't help :|
12:37 domidumont joined
alpha- will perlbrew be able to install perl6 ? 12:37
_itz alpha-: try rakudobrew
timotimo perlbrew will be able to install rakudo 12:38
alpha- cool
timotimo well, i seem to recall someone once said something like that 12:39
i can't run perlbrew; it complains about Getopt::Long missing, but the package is installed 12:40
12:40 Ven joined
[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
timotimo my existing perl is /usr/bin/perl 12:41
want me to throw out /usr/bin? :)
_itz \curl -k -L install.perlbrew.pl | bash
timotimo that's what i'm doing
12:41 puffinblue left 12:42 Augusto is now known as agst92
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?
timotimo i don't think i did
and the perl -e 'piornt join "\n", @INC' thing does list that
12:42 agst92 left
_itz that shouldn't use perl .. just curl and a shell script ISTR 12:43
12:43 tokuhirom left
timotimo the shell script downloads a perl script 12:43
and runs that
you know what? 12:44
i'll just dnf install perlbrew
_itz or hack in -I/usr/share/perl5/vendor_perl/ I guess 12:46
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?
timotimo not yet
wait, doc.perl6.org?
FROGGS err 12:49
s/doc\./
timotimo i *wanted* to start working on that
there were some dependencies i had to chase first …
FROGGS I was talking about the getting started page
12:50 ZoffixWork joined, espadrine_ is now known as espadrine 12:51 c0mrad3 joined 12:52 camelia left
pmurias camelia keeps quiting when I private msg it 12:52
12:52 oka_ joined 12:53 camelia joined
FROGGS pmurias: maybe she's offended? 12:53
12:54 chope joined
chope Hi 12:54
FROGGS hi chope
12:54 chope left, ChanServ sets mode: +v camelia 12:55 c0mrad3 left
dalek href="https://perl6.org:">perl6.org: 1c6585e | coke++ | source/compilers/index.html:
fix typo
12:56
href="https://perl6.org:">perl6.org: c9e07fa | coke++ | source/compilers/index.html:
mark perlito as not actively developed

Closes #30
href="https://perl6.org:">perl6.org: db64b14 | coke++ | source/compilers/index.html:
Use "standard" language for niecza.

Updates #26.
12:56 mr_ron left
pmurias nqp: say("Hi") 12:57
12:57 camelia left
pmurias FROGGS: maybe camelia is a js hater? ;) 12:57
FROGGS :o( 12:58
12:58 camelia joined
timotimo i think nqp: has been b0rked for a while now 12:59
FROGGS nqp-m: say("Hi")
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
..nqp-moarvm: OUTPUT«Hi␤»
..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 ChanServ sets mode: +v camelia
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 ?
timotimo make the type non-compile-time? 13:01
m: my \Type = Int; my Type $foo = 13;
camelia rakudo-moar bd22d7: OUTPUT«===SORRY!===␤No compile-time value for Type␤»
timotimo well, has to be compile-time, then
so only possible with a role?
lizmat m: my ::("Int") $foo = "foo"
camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ("Int") but got Str␤ in block <unit> at /tmp/EkUu9xlVVf:1␤␤»
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␤␤»
[Coke] m: my $a="Int"; my ::($a) $foo = 42;
camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($a) but got Int␤ in block <unit> at /tmp/n092czdlgT:1␤␤»
timotimo wow, ouch
lizmat m: my Int $i my ::($i) $foo = 42
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…»
dalek href="https://perl6.org:">perl6.org: 4cf8a73 | FROGGS++ | source/getting-started/index.html:
add css classes "lead well" to getting-started page
timotimo m: sub test(::T $foo) { my T $bar = $foo }; test(10);
camelia ( no output )
lizmat m: my Int $i; my ::($i) $foo = 42
camelia rakudo-moar bd22d7: OUTPUT«Type check failed in assignment to $foo; expected ($i) but got Int␤ in block <unit> at /tmp/l3R9tJgzFN:1␤␤»
timotimo FROGGS: is that the fix? 13:03
FROGGS timotimo: no idea
lizmat timotimo: but if I want the T to be a parameter to the sub ?
timotimo m: sub test(\T, $foo) { my T $bar = $foo }; test(Int, 10);
camelia rakudo-moar bd22d7: OUTPUT«===SORRY!===␤No compile-time value for T␤»
timotimo m: sub test(::T $, $foo) { my T $bar = $foo }; test(Int, 10);
camelia ( no output )
timotimo like that ^
_itz that "getting started" page looks fine on a fresh build on one of my systems
FROGGS hmmm 13:04
_itz I suspect its a deployment problem 13:05
timotimo it seemed like it didn't include the bootstrap css at all
FROGGS perl6.org/getting-started/ \o/
ZoffixWork timotimo, FROGGS lol, I was working on that :D 13:06
FROGGS :P
ZoffixWork was a bit confused why the push failed
13:06 mr_ron joined
timotimo shift-ctrl-r 13:06
FROGGS ZoffixWork: now the bus number is a little bit higher :o)
ZoffixWork Bus number?
timotimo how many buses can be flung at the right devs without killing the project 13:07
dalek href="https://perl6.org:">perl6.org: 506c1a0 | (Zoffix Znet)++ | source/getting-started/in (2 files):
Update styles (Closes #31)
lizmat _itz ZoffixWork : a reload of the getting stated page now looks ok
13:08 Ven left
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
13:08 arcore left
timotimo that's suboptimal 13:08
dalek href="https://perl6.org:">perl6.org: 1e862ba | FROGGS++ | source/getting-started/involved.html:
add css classes "lead well" to getting-involved page
13:09 Kcop left
FROGGS ahh, the three-way-merge made my commit just adding a &nbsp; ;o) 13:09
ZoffixWork :D
timotimo hrhrhr
13:12 [ptc] joined, ely-se left, laouji_ left 13:13 burnersk joined
_itz shouldn't the butterfly flap its wings? or is the <BLINK> of the C21st? 13:13
timotimo oh
ZoffixWork No! :)
timotimo _itz: i have perlbrew completed now; i just go to cpanmin.us and follow the instructions?
ZoffixWork timotimo, perlbrew install-cpanm
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++
_itz yes and then "cpanm ." inside a github checkout of mowyw (unless it is on CPAN and my quick look failed to find it)
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?
timotimo no
nine timotimo: you forgot to mention that the webservice is provided by some uber cool .io company
ZoffixWork timotimo, perlbrew install perl-5.22.0 13:16
nine timotimo: at least for all of 3 weeks to come that is
ZoffixWork timotimo, errr.. I mean, that is if you've not installed it yet. And after install, do perlbrew switch perl-5.22.0
timotimo ZoffixWork: i perlbrew install perl-stable
and, yeah, i switched now
ZoffixWork That's good too
Then it should work now :)
timotimo nine: :3
_itz mowyw has an impressive number of warnings (at least on 5.22) :) 13:17
13:17 yt_ joined
timotimo how long has the latest released version of mowyw been out? 13:17
13:17 yt_ left 13:18 rurban joined
ZoffixWork timotimo, since June 15, 2011: metacpan.org/pod/App::Mowyw 13:18
timotimo hah
moritz: maybe it wants a bit of a touch-up? :)
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
ZoffixWork :D
timotimo it turns out i don't need to work on the site directly any more
ZoffixWork heh
timotimo so ... i've just been wasting that time
ZoffixWork Look on the bright side, at least now you have a shiny Perl 5! :)
13:19 ely-se joined
timotimo ... what do i use this perl 5 thing for? 13:20
ZoffixWork Apparently you can use it to hack 100,000 routers to fix security issues :) thehackernews.com/2015/10/hack-wifi-router.html 13:21
*10,000
13:21 Kcop joined 13:23 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo this cpan process is taking AGES 13:24
dalek c: c91af90 | (Steve Mynott)++ | lib/Type/List.pod:
GLRify two examples
href="https://perl6.org:">perl6.org: 840c66b | (Zoffix Znet)++ | source/compilers/index.html:
Create "Historical Compilers" section (Closes #33)
13:25
ZoffixWork If you're going to do the plackup thing after generating with mowyw, you'll also need to cpanm Plack 13:26
13:27 Kcop left 13:29 woolfy left
timotimo oh, mowyw finished installing 13:30
13:30 FROGGS left
timotimo oh f***k 13:30
now i have a "perl5" folder in my home
i can't just p<tab>r<tab> to get into my rakudo source
ZoffixWork aww :( 13:31
13:31 RabidGravy joined 13:32 Kcop joined
timotimo this won't do at all 13:32
perlpilot just make an alias so that it's "r<enter>" to get there :) 13:33
ZoffixWork You can change PERLBREW_ROOT to something else and redo the whole thing from start :P 13:34
13:34 perlpilot is now known as PerlJam
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
right; what's the clean way to get rid of the perlbrew things?
is rm -rf perl5 enough?
ZoffixWork timotimo, yeah. And also remove "source ~/perl5/perlbrew/etc/bashrc" if you added it 13:35
In .bashrc
timotimo right
DrForr There's also a .perlbrew/ directory.
timotimo does ~/.perlbrew seem good?
oh, that's not a good value for the perlbrew root then
ZoffixWork Hm 13:36
ZoffixWork wonders if you can just 'mv' the ~/perl5 and then update paths in .perlbrew/init
and the source ~/blah
timotimo too late 13:37
ZoffixWork hah
13:37 babygetoboy joined
timotimo ERROR: Failed to download www.cpan.org/src/5.0/perl-5.22.0.tar.bz2 13:38
hooray
everything's broken today
i shouldn't do anything today. just get back to bed, sleep until tomorrow arrives
ZoffixWork Sounds like a plan :P 13:39
timotimo plan *;
13:40 TEttinger left
ZoffixWork Does anyone know how to use Text::VimColour? I'm failing miserably. 13:40
_itz ZoffixWork: yes 13:41
13:41 myu left
timotimo ah, of course i have to set PERLBREW_ROOT for every invocation of perlbrew 13:41
_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 :)
Aye! 13:43
ZoffixWork * Achievement Unlocked * Reading Perl 6 sauce
_itz for bonus marks install the newer, better (and slower) perl6 syntax files :)
timotimo hum? i seem to recall someone put a lot of time into profiling and optimizing the syntax files 13:44
_itz github.com/vim-perl/vim-perl 13:45
oh my versions are outdated now .. hopefully delete 'slower' from above
timotimo :) 13:46
13:48 nightfrog left 13:52 aborazmeh left
jnthn back 13:52
lizmat hopes the drag was bearable
13:53 mr_ron left
masak ..."the drag"? :) 13:53
masak hopes the bear was draggable 13:54
13:54 mr_ron joined
moritz installs a droppable bear 13:54
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
masak _itz: sounds like something you could post as an issue to the panda repository, maybe?
13:56 lookyloo joined
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 adhoc left
timotimo jnthn: yeah, it is :\ 13:57
13:58 nightfrog joined, adhoc joined
[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. 13:59
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
14:00 FROGGS joined
[Coke] well, the end profile function does get -called-, anyway. 14:00
(otherwise I wouldn't see that weird exception). but beyond that, I unno. :) 14:01
jnthn my @END := nqp::gethllsym('perl6', '@END_PHASERS');
@END.push: -> { self.dump_profile_data($prof_end_sub(), $filename) } if nqp::defined(@END);
omg, that isn't how you architecture...that must break profiling NQP code.
hm, somehow not 14:03
oh, I missed the if defined
But yeah, that's fragile
14:04 ely-se left
timotimo i seem to recall i put that line in %) 14:05
masak nope
FROGGS++ did
jnthn :)
timotimo hum. i did *something* to try to make profiling with exit not blow up :|
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
oh, true
it's basically getting a dependency going the wrong way, yeah
jnthn aye
timotimo isn't this in rakudo's compiler, though?
FROGGS timotimo: I remember that we discussed the patch
jnthn timotimo: No, it's in NQP 14:07
Anyway, it's not directly to blame for the problem at hand. It's just not an ideal factoring.
14:07 babygetoboy left
timotimo okay, i had *some* involvement :) 14:07
FROGGS aye :o)
masak aye, timotimo++ is karma'd in the commit comment :)
14:08 vexingfish joined, vexingfish left
masak .oO( "timotimo++ for busting up the architectural layers" ) :P 14:08
anyway, so what *would* be a good solution to this one? 14:09
we want to run some code at the very-very end, even after all the END phasers?
jnthn Add some method on the compiler object that should be called to do exit stuff 14:10
masak yeah
jnthn And have Rakudo call it at the appropriate points
14:11 spider-mario left
masak why is the patch doing the self.dump_profile_data in two different ways? is the END phaser way better somehow? 14:11
14:11 FROGGS_ joined
masak could we get the same benefit by adding the method on the compiler object? 14:11
14:13 skids joined
jnthn Wow, just found in src/profiler/log.c 14:13
/* Ensure we've a current frame; panic if not. */
/* XXX in future, don't panic, try to cope. This is for debugging
* profiler issues. */
14:14 lookyloo left
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 FROGGS left
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:15
masak: That we've (afaik) never had that happen means the thing's pretty robust to interesting control flow (continuations, exceptions) 14:16
jnthn decides that since the thing is robust enough, we may as well just leave the panic there 14:17
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:21
moritz trait? attribute or method, more likely 14:23
pmurias jnthn: I made a pull request to fix a bug in popcompsc on MoarVM
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:25
14:26 spider-mario joined
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 --> users-cs.au.dk/danvy/sfp12/papers/k...-sfp12.pdf 14:26
jnthn pmurias: Seems legit 14:28
[Coke]: There's a patch in Moar now that fixes the exit data
pmurias: Merged, thanks. 14:29
14:31 cdg joined 14:32 telex left
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:32
jnthn Skarsnik: That you're ever seeing an instance of a str as an object something is very broken somewhere... 14:33
dalek p: a3660e3 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for profiler/popsc fixes.
14:34
14:34 telex joined
timotimo Skarsnik: are you on the very latest rakudo version now? 14:34
14:34 FROGGS_ is now known as FROGGS
Skarsnik yes 14:35
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:36
14:37 travis-ci joined
travis-ci NQP build failed. jnthn 'Bump MOAR_REVISION for profiler/popsc fixes.' 14:37
travis-ci.org/perl6/nqp/builds/83703823 github.com/perl6/nqp/compare/5e820...660e38a02c
14:37 travis-ci left
Skarsnik jnthn, Pg.pm get the result from the nativecall with :=, maybe that why it keep the str type? 14:37
jnthn Skarsnik: Don't think that'd be it 14:38
The thing that's on the right of the := is probably already wrong
dalek href="https://perl6.org:">perl6.org: d77c2fb | (Zoffix Znet)++ | source/ (3 files):
Use VIM highlighter for code instead of Pygments. Ulti++
Skarsnik github.com/perl6/DBIish/blob/maste...g.pm6#L282 I was thinking it's maybe to save memory? like it keep the C representation instead of a perl6 Str 14:40
14:41 tokuhirom joined
jnthn Yeah, but we should still be boxing the str... 14:42
If you store it into an untyped Scalar
dalek p: f260957 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::{scgethandle,scgetdesc,scsetdesc}
p: 4994539 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] implement nqp::pushcompsc/nqp::popcompsc

The serialization doesn't use that yet.
p: 443203e | (Pawel Murias)++ | src/vm/js/nqp-runtime/runtime.js:
[js] stringify null to null to so that nqp::null_s doesn't cause trouble
p: dd45df1 | (Pawel Murias)++ | t/serialization/01-basic.t:
Add tests for serialization context related ops.
pmurias nqp-m: say(1)
camelia nqp-moarvm: OUTPUT«1␤»
pmurias nqp-m: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array)) 14:43
camelia nqp-moarvm: OUTPUT«foo,bar␤»
pmurias jnthn: ^^ this seems weird
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
jnthn Skarsnik: I suspect it's a bug somewhere, maybe in NativeCall 14:45
Well, almost certainly in NativeCall
14:45 rocha joined, rocha left, tokuhirom left
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
pmurias jnthn: I wouldn't get suprised by an exception
jnthn: NQPMu being silently ignore just seems weird
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.
jnthn pmurias: Yeah, not sure why it does that. 14:49
FROGGS github.com/abraxxa/DBIish/blob/mas...Pg.pm6#L87
jnthn pmurias: Wonder what JVM does...
FROGGS can't we just uppercase that?
jnthn FROGGS: We could but somebody else will just hit the same issue :)
pmurias nqp-jvm: my $array := [NQPMu, "foo", "bar"]; say(nqp::join(",", $array))
camelia nqp-jvm: OUTPUT«(signal ABRT)»
jnthn FROGGS: I'd rather work out why it's bust
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
jnthn FROGGS: But str is a native type
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" :)
pmurias: But I don't mind somebody caring and tidying it up too :)
FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say $foo.WHAT 14:51
camelia rakudo-moar bd22d7: OUTPUT«(Str)␤»
jnthn FROGGS: You should only be able to have one in a natively typed scalar, etc.
FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec($foo)
camelia rakudo-moar bd22d7: OUTPUT«0␤»
FROGGS m: sub foo returns str { "hello" }; my $foo := foo(); say nqp::objprimspec(nqp::decont($foo))
camelia rakudo-moar bd22d7: OUTPUT«0␤»
jnthn Right, we correctly box it there
We're failing to box it somewhere in nativecall, at a guess 14:52
14:52 ibo2perl6 joined
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␤»
[Coke] jnthn: need a nqp bump in rakudo to get the nqp that bumps moar, yes?
(for profile/exit fix) ?
14:53 Kcop left
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.
dalek kudo/nom: 28b470a | lizmat++ | src/core/ (6 files):
Pretty extensive Bag/Mix(Hash) refactor

  - should be faster
  - immutable Bag/Mix are now really immutable
  - now uses a custom BUILD with "local" features
  - generalized new/new-from-pairs by adding PAIR and SANITY methods
  - which resulted in fewer lines of code (for a change)
jnthn .tell nine Do we really have to key/value methods added in BOOTSTRAP?
yoleaux jnthn: I'll pass your message to nine.
ZoffixWork I just love all the haters on news.ycombinator.com/item?id=10331008
Skarsnik interesting, when I do .Num I get a 'Num', but .Str still give me 'str' on this
ZoffixWork Makes me feel we're doing something right :)
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
m: my $bh = «a a a b c».BagHash;for $bh.kv -> ($k, $v) { say "$k => $v".perl }
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␤␤»
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.
yoleaux jnthn: I'll pass your message to nine.
14:55 ely-se joined
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"␤»
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.
jnthn .tell nine Uh, in last .tell I meant mixins support. :)
yoleaux jnthn: I'll pass your message to nine.
15:00 Kcop joined
jnthn [Coke]: I already did the bumps in NQP and Rakudo. 15:01
oh, wait, the push failed
[Coke] was going to say, I only saw a push for nqp.
jnthn++
dalek kudo/nom: 0cca607 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for various fixes.

Among them, --profile of a program that uses exit() now works out.
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.
Skarsnik *grumble* even writing my Str $s = @array[$i]; %hash{@names[$i]} = $s; I still get a str in my %hash
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.
Skarsnik: If you want a workaround, tweak the return type in the PG native call to Str 15:03
Skarsnik but why can I call .Int or .Num and get... the right type? 15:04
jnthn Probably because things manage to work out sort-of well enough for them to work. 15:06
str ~~ Str, so doing .Str is going to be a no-op
Sticking an nqp::unbox_s before the := may work, but may just result in things being even more confused. :) 15:07
uh, *after* the :=
15:07 diana_olhovik left 15:09 dbasak joined
[Coke] OS X stresstest failures; gist.github.com/coke/bfed3f4e4e24e7b522ca 15:09
15:09 dbasak left
lizmat [Coke]: bag/mix failures should be fixed after the commit I sneaked in 15:10
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
lizmat [Coke]: I have 2 installs, one for moar and one for jvm 15:11
[Coke] right, sorry, -3- checkouts, those original two are moar only. :) 15:12
masak Skarsnik: what in the world are you trying to do? :) 15:13
Skarsnik: convert a value to a Str?
m: my Int $n = 42; my Str $s = ~$n; say $s 15:14
camelia rakudo-moar bd22d7: OUTPUT«42␤»
masak m: my Int $n = 42; my Str $s = $n.Str; say $s
camelia rakudo-moar bd22d7: OUTPUT«42␤»
masak Skarsnik: those are the two easiest ways I can think of.
dalek atures: fb13309 | (Zoffix Znet)++ | template.html:
Fix styles (Closes github.com/perl6/perl6.org/issues/34)
Skarsnik Oh yeah, should I tried ~
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.
masak oh.
[Coke] wonders if it's worth consolidating these N different web apps that are all being served out from www.perl6.org
Skarsnik ~ does not work
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
masak hehe
15:16 ayelsboro joined
Skarsnik err, should affecting an array attribute with a scalar value should fail? 15:16
masak well, you know. crazy in, crazy out. 15:17
jnthn suspects it's golfable :)
Skarsnik jnthn, I don't want to touch the Pg module x) (but I filled an issue about this)
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
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 *);
camelia rakudo-moar bd22d7: OUTPUT«2.41421393␤»
[Coke] well, obviously +1 from me on a patch to merge faq & features in.
15:19 ayelsboro left 15:20 Ven joined
Skarsnik m: class M { has $.a; has $.b;}; my M $m = M.new(a => "a", b => "b", c => "c"); say $m.perl; 15:21
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. :)
jnthn [Coke]: \o/
[Coke] biggest exclusive time? infix:<>=>
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
[Coke] m: my $r = 1..10; say ($r*2).gist 15:24
camelia rakudo-moar 0cca60: OUTPUT«2..20␤»
[Coke] ... huh.
jnthn [Coke]: Yes, I did :)
15:24 nachos left
jnthn Skarsnik: No, methods ignore unknown named arguments 15:25
15:25 larion left
jnthn (By design) 15:25
15:25 ely-se left
jnthn Here's some thoughts on trying to clean up coercion/invocation stuff. gist.github.com/anonymous/8efdab238ead35b1d4fa 15:28
TimToady: ^^ could do with your input when you have chance :)
Thoughts from others welcome too :)
15:29 khw joined
jnthn Darn it, I wan't logged in when I posted it, so can't edit it :/ 15:30
masak jnthn: just fork it?
jnthn Yeah, I don't care that much ab...oh! :) 15:31
grondilu wonders if a subset-defined type matches <typename>
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". :/
jnthn grondilu: Yes, though there's not (yet :)) a way to specify how such a type coerces. 15:32
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... :)
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
(because he thinks it would be cooler)
masak jnthn: +1 on killing off the useless shortcuts. sounds like the conservative thing to do.
jnthn masak: Yeah, that's my leaning also 15:35
dalek ast: 9f44fc0 | lizmat++ | S02-types/ (2 files):
Fix some exception types that I forgot
15:36
masak jnthn: "since in the grammar this is spread over term:sym and term:sym" -- eaten <> contents?
15:36 ibo2perl6 left
masak jnthn: (remember that Markdown allows inline HTML, and so anything inside <> is taken as literal HTML tags) 15:36
15:37 zakharyas1 left
masak you either want to \< \>, or `` the whole word 15:37
jnthn masak: yeah, that's what I forgot, but decided it didn't matter so much to issue a new URL :) 15:38
masak views source 15:39
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.
14:54Z <jnthn> nine: Do we really have to key/value methods added in BOOTSTRAP?
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.
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.
14:57Z <jnthn> nine: Uh, in last .tell I meant mixins support. :)
_itz I think "Digest" is broken 15:41
Skarsnik hm, how I delete a key from a hash? 15:42
pink_mist :delete
15:43 domidumont left
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
camelia rakudo-moar 0cca60: OUTPUT«0␤1␤»
grondilu m: my %h; say %h<foo>++; %h<foo> :delete; say %h<foo>
camelia rakudo-moar 0cca60: OUTPUT«0␤(Any)␤»
[Coke] t/spec/S17-supply/syntax.t hanging. 15:44
15:44 molecules joined, Ven left
[Coke] lizmat: reran stress test after rebuilding rakudo: got: gist.github.com/coke/bfed3f4e4e24e7b522ca still 15:44
15:45 molecules is now known as Guest56815
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)
Guest56815 p6: spurt('ABCD.txt', "A\nB\nC\nD"); for 'ABCD.txt'.IO.lines() -> $x, $y { say "$x, then $y"; }
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␤␤»
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␤␤»
lizmat [Coke]: I guess you missed 9f44fc0622ebc17e296 in roast :-(
I had forgotten to push :-(
[Coke] one more time! ;)
Skarsnik is there a way to affect how .perl display stuff? like putting new line after each attribute value? 15:47
lizmat cycling&
pmurias jnthn: takeclosure has been turned into a noop? 15:48
15:48 ZoffixWork left
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␤»
jnthn pmurias: Yeah, as part of switching to the declarative model for those things taht the Moar code-gen does
15:49 larion joined
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
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␤␤»
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␤␤»
masak Guest56815: spurt is disallowed in restricted setting.
pmurias jnthn: is there a description for the new model as I'm not sure how to implement that in js
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
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
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
nine jnthn: ok, so I'll rework it to be less intrusive and remove the dubious spec tests
jnthn: thanks for having a look :)
masak yep, reproduced.
masak submits rakudobug
Guest56815++ 15:54
Guest56815 Thanks!
jnthn nine++
grondilu m: say ([o] (1 + 1/*), (2 + 1/*))(1000)
camelia rakudo-moar 0cca60: OUTPUT«1.499750␤»
grondilu m: say ([o] (++$ + 1/*) xx 2)(1000)
camelia rakudo-moar 0cca60: OUTPUT«2.999001␤»
grondilu ^that's weird
Guest56815 exit
masak golfed:
15:54 Guest56815 left
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␤␤»
masak no need for &spurt :)
grondilu m: say ([o] (2 + 1/*), (1 + 1/*))(1000)
camelia rakudo-moar 0cca60: OUTPUT«2.999001␤»
jnthn m: for |(1, 2), |(3, 4), |() -> $x, $y { say "$x, then $y" }
camelia rakudo-moar 0cca60: OUTPUT«1, then 2␤3, then 4␤»
jnthn Hm, not that... :) 15:56
masak m: for "A\nB\nC\nD".lines() -> $x { say $x }
camelia rakudo-moar 0cca60: OUTPUT«A␤B␤C␤D␤»
masak m: for [1,2,3,4] -> $x, $y { say "$x, then $y" }
camelia rakudo-moar 0cca60: OUTPUT«1, then 2␤3, then 4␤»
masak ok, so something fishy with lines() 15:57
15:57 lizmat left
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␤»
jnthn m: my \i = <A B C D>.iterator; my @x; (say i.push-exactly(@x, 2)) xx 3
camelia rakudo-moar 0cca60: OUTPUT«2␤2␤␤»
jnthn That's the discrepancy. The push-many in the lines iterator is returning 0 when it should return IterationEnd 15:58
masak *nod*
masak adds that to the ticket
15:58 lizmat joined
pmurias jnthn: a bug in how closures are implemented in nqp-j: paste.debian.org/314506 16:03
jnthn pmurias: I get a DNS error on that... 16:04
pmurias checks the url
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 :)
pmurias jnthn: paste.debian.net/314506 16:05
pmurias should learn to always paste urls instead of retyping :/ 16:06
16:07 jem_ joined
pmurias jnthn: the bug shows up in the takeclosure using backends: nqp-js/nqp-j 16:07
16:07 jem_ is now known as Guest50035, hitch joined
hitch Is there a Perl compile that uses the JVM 16:07
16:08 Calibellus joined
pmurias rakudo has a jvm backend 16:08
rakudo-jvm: say "hello from the jvm" 16:09
camelia rakudo-jvm 0cca60: OUTPUT«hello from the jvm␤»
ilmari j: say $*VM 16:10
camelia rakudo-jvm 0cca60: OUTPUT«jvm (1.7)␤»
16:10 laouji left 16:12 hitch left, dha joined
masak pmurias: pasting URLs, besides being less error-prone, is also less work! win-win! :P 16:13
grondilu m: say ([o] (2 + 1/*), (1 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf) 16:14
camelia rakudo-moar 0cca60: OUTPUT«True␤»
grondilu m: say ([o] (1 + 1/*), (2 + 1/*))(Inf) == ([o] (++$ + 1/*) xx 2)(Inf)
camelia rakudo-moar 0cca60: OUTPUT«False␤»
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 :/
dha slightly less consistent, but, I think, clearer.
16:16 ^elyse^ joined
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
$ perl6 -e 'say ([o] (2 + 1/*), (1 + 1/*))(Inf);' 16:17
[Coke] dha: I have no preference.
dha *nod*
grondilu #126269
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 larion left
pmurias masak: my xterm seems to ignore such things 16:20
[Coke] gist.github.com/coke/bfed3f4e4e24e7b522ca now has verbose output from the failing tests.
16:20 laouji joined
dha Junctions interpret the innocent as a list. Should the usage statement be (e.g.) LIST.any or EXPR.any? 16:22
masak pmurias: I wish I could help with that. 16:23
dha Gah! several entries in Any.pod don't even have signatures. 16:24
[Coke] dha: context on the junctions/innocent line? 16:25
16:25 laouji left
jnthn haha, I think it should be invocant, not innocent :D 16:25
dha sorry. Invocant. stupid autocorrect.
I'm currently looking at lib/Types/Any.pod 16:26
16:26 pmurias_ joined
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
Found it by accident while looking at another bug :)
16:28 ^elyse^ left
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:29 pmurias left, pmurias_ left
dalek p: 082efa3 | coke++ | src/vm/moar/profiler/template.html:
Use latest bootstrap for moar profile HTML.
16:31
masak dha: I'd go with LIST.any 16:32
dha Oh good. Now I don't have to search and replace. :-) 16:33
masak++
masak dha: on the grounds that even if it isn't a list, it gets coerced to one as part of the .any call
at least conceptually
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
travis-ci NQP build failed. Will "Coke" Coleda 'Use latest bootstrap for moar profile HTML.' 16:35
travis-ci.org/perl6/nqp/builds/83725608 github.com/perl6/nqp/compare/dd45d...2efa3b8f00
16:35 travis-ci left
[Coke] ... can we disable whatever is making nqp fail travis? 16:35
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:36 pdcawley left
timotimo "since in the grammar this is spread over term:sym and term:sym." - hooray for markdown :) 16:37
16:37 Loren_ joined
masak I like Markdown, but ya gotta know how to use it ;) 16:38
16:38 pdcawley joined
masak (it's `term:sym<identifier>` and `term:sym<name>`, by the way) 16:38
ab5tract_ o/ #perl6 16:39
masak \o
ab5tract_ how are you today masak?
16:39 gregf__ joined, gregf__ left 16:40 pdcawley left
ab5tract_ glad to see you here, as I actually dropped by for a 'design smell' discussion and I always enjoy reading your opinions 16:40
masak ab5tract_: fine, thank you; tell me more :) 16:41
ab5tract_ got into a discussion about custom operators at $work
masak ooh
ab5tract_ apparently some people find the custom unicode operator example to be distasteful
masak which example? 16:42
16:42 tokuhirom joined
ab5tract_ perl6.org/#samp-ops 16:42
timotimo that link doesn't do it right :( 16:43
masak huh.
timotimo also, why should we recursively implement factorial?
masak yeah, that
timotimo and not just [*] 2..$n
ab5tract_ yeah
that's a good point
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
masak surely there is some other Unicode symbol which would better motivate reaching for Unicode? :)
ab5tract_ masak: well the discussion distended into a few different gutters
masak I can imagine
16:44 pdcawley joined
ab5tract_ including "custom assoc/prec" ??? 16:44
masak .u ❢
yoleaux U+2762 HEAVY EXCLAMATION MARK ORNAMENT [So] (❢)
masak ab5tract_: could you be more specific?
ab5tract_: Perl 6 allows it, for sure. 16:45
ab5tract_ being able to define operators with custom associativity / precedence as a design smell
jnthn m: use Test; { my $x = 42; ok MY::.values.grep({ ($_ // 0) == 42 }) }
camelia rakudo-moar 0cca60: OUTPUT«not ok 1 - ␤␤# Failed test at /tmp/oIDieAsjnk line 1␤»
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
(the two main gutters)
masak ab5tract_: were the "non-issue" people from a language which uses mostly ASCII characters? :)
s/from/speakers of/ 16:47
ab5tract_ yes :)
16:47 tokuhirom left
masak wait, that's not even relevant either 16:47
these people are the "old man shouts at cloud kind of people"
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? :)
jnthn In a dynamic language, the *real* smell is overloading two different semantics on the same symbol.
masak +1
grondilu ❢ looks ugly indeed
jnthn That's why being able to add new operators for new semantics is important, not just a show-offy thing.
ab5tract_ jnthn: that's I think where the fear came from
a few different modules define various forms of UNICODE_CHARACTER_FOR_UNICODE_ALPHABET 16:49
or, EPSILON
with slightly different semantics 16:50
maintenance was raised as a potential pitfall
timotimo at least in p6 you know at compile time what's going to be where & who 16:51
due to our very sane lexical scoping
and lexical imports
Loren_ I think it has some error in the site :perl6.org/#samp-fib
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?
ab5tract_ while we are on the topic of this example
masak m: sub infix:<±>($l, $r) { $l-$r .. $l+$r }; say 42 ~~ 50 ± 10
camelia rakudo-moar 0cca60: OUTPUT«True␤»
masak ^^ is a better and more useful example of a Unicode operator, methinks
ab5tract_ I think it's a great idea to have a unicode example on the front page
timotimo oh, yeah, the anchor is called "fib", but it doesn't implement fibonacci
dha s/Blob.pm/Blob.pod/ 16:53
Loren_ I mean i can't switch to tab 'Lazy Infinite Lists', under IE or firfox 16:54
firfox -> firefox
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)
camelia rakudo-moar 0cca60: OUTPUT«True␤False␤»
timotimo huh? weird. do the devtools allow you to golf it?
masak how 'bout 'em apples.
please put that example on the web page instead :D
ab5tract_: the "maintenance" argument is bogus once you equate operators and subroutines. 16:56
ab5tract_: unless they also abhor subroutines for the same reasons.
ab5tract_ but maybe a dice roller with unicode dice might be more introductory. that could even include just a unicode sub, maybe with ❓
masak: Thanks for that man. I had the exact same feeling. 16:57
16:57 pmurias joined, zakharyas joined
pmurias jnthn: I'll move nqp-js to the closure model nqp-js is using 16:57
s/nqp-js/nqp-moar/:2nd
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.
it also showcases a not-contrived use of an operator adverb 16:59
16:59 pdcawley left, AlexDaniel joined
ab5tract_ masak: yeah, I think that would make a much better "custom operator" example for the front page, tbh 16:59
masak who do I contact to change this 17:00
ab5tract_ I'm going to code the dice roller example anyway though :)
it's a PR on perl6.org.git AFAIK
jnthn masak: You probably have commit to perl6.org already :)
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.
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...
doesn't look like it's github.com/perl6/perl6.org/tree/ma...e/snippets 17:02
jnthn masak: Grep for the funky Unicode symbol in the example there now? :D
17:02 ^elyse^ joined
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 dakkar left
ab5tract_ kind of hardcoded in there for now, it seems. 17:03
DrForr wonders if Unicode actually has that symbol...
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."
masak ab5tract_: that looks generated to me.
17:04 duncan_dmg left
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
ab5tract_ masak: my bad
jnthn dha: $foo ~~ $bar is approx $bar.ACCEPTS($foo)
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
[Coke] RT: 1043; glr: 4; lta:88 weird: 12; testneeded: 10: xmas: 99
FROGGS good evenang #perl6
17:05 laouji joined
colomon o/ 17:05
dha So... putting a usage statement in for Code.ACCEPTS does not seem to be functional. :-/ 17:06
Loren_ o/
ilmari class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new
m: class Foo { method ACCEPTS($t) { $t > 42 }; }; say 43 ~~ Foo.new
camelia rakudo-moar 0cca60: OUTPUT«True␤»
jnthn [Coke]: Yeah, I pushed xmas a ticket further away today. But I'm going to clsoe one real soon :)
*close
ilmari m: class Foo { method ACCEPTS() { False }; }; say Any ~~ Foo.new
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␤␤»
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 pmurias left
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:07
timotimo FROGGS: i'm not the gatekeeper for perl6.org ;) 17:08
ilmari m: sub a($t) { $t > 42 }; 42 ~~ a
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␤»
timotimo i'll also be AFK for a bit
dalek kudo/nom: 2997e4d | jnthn++ | src/Perl6/Grammar.nqp:
Fix thinko in add_variable.

Mis-constructed the operator name, leading to us wrongly generating ops.
kudo/nom: 24babbb | jnthn++ | src/ (2 files):
Make dispatchers behave like Perl 6 objects.

Also speed up their construction along the way. This was the only thing exposed in the CORE:: pseudo-package that wouldn't nicely gist.
ilmari m: sub a($t) { $t > 42 }; say 42 ~~ &a
camelia rakudo-moar 0cca60: OUTPUT«False␤»
ilmari m: sub a($t) { $t > 42 }; say 44 ~~ &a
jdv79 dha: was there any interesting take aways from the last PM meeting?
camelia rakudo-moar 0cca60: OUTPUT«True␤»
FROGGS timotimo: if nobody feels like doing something I'd change it to a much simpler example
ilmari m: sub a($t) { True }; say 44 ~~ &a
camelia rakudo-moar 0cca60: OUTPUT«True␤»
ilmari m: sub a() { True }; say 44 ~~ &a
camelia rakudo-moar 0cca60: OUTPUT«True␤»
ilmari m: sub a { True }; say 44 ~~ &a
camelia rakudo-moar 0cca60: OUTPUT«True␤»
dha m: sub a {say "beep"};a.ACCEPTS("topic");
camelia rakudo-moar 0cca60: OUTPUT«beep␤»
dha m: sub a {say "beep"};a.ACCEPTS;
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…»
dha Beeps all around.
ilmari m: sub a() { True }; say a.ACCEPTS
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…»
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 laouji left
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. :-)
timotimo ab5tract_: yeah, we have "is tighter" "is looser" and "is equiv"
at least for precedence
for associativity ... dunno?
17:10 Jaglor left
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
kudos
jnthn ab5tract_: is tigheter/is equiv/is loser for prec
jdv79 oh 17:12
jnthn ab5tract_: And is assoc for associativity
ab5tract_ "watch who ya calling a loser, buddy"
El_Che next: try to convert a inhoud Digicert rest api inhouse perl5 lib + programs to see how far I get.
ab5tract_ ;)
dha jdv79 - I may be talking Jim into doing some p6 documentation, though. we'll see. :-)
jnthn oh my...*looser* :D
dha Ok, I'm ignoring Code.ACCEPTS until this becomes clearer. 17:13
Loren_ multi sub infix:<foo> is tighter(&infix:<+>)
is assoc('left')
dalek p: 72b284c | jnthn++ | tools/build/MOAR_REVISION:
Bump for context iterator fixes.
17:14
ab5tract_ Loren_: thanks for the clarification!
masak: any luck finding where those examples live? :( 17:16
Loren_ ab5tract_, Em
dalek c/usage_statements: 47e2521 | (David H. Adler)++ | lib/Type/Int.pod:
Removed $tries from signature and docs of is-prime to bring docs in line
17:17
doc/usage_statements: 462ad11 | (David H. Adler)++ | lib/Type/ (3 files):
17:17 dalek left 17:18 travis-ci joined, dalek joined
travis-ci NQP build failed. jnthn 'Bump for context iterator fixes.' 17:18
travis-ci.org/perl6/nqp/builds/83733145 github.com/perl6/nqp/compare/082ef...b284cc0a31
17:18 travis-ci left, ChanServ sets mode: +v dalek
[Coke] lizmat: Pair.freeze need tests? 17:19
17:19 sunnavy left 17:20 sunnavy joined 17:21 laouji joined
dalek kudo/nom: e2ff161 | jnthn++ | tools/build/NQP_REVISION:
Bump NQP_REVISION for context iterator fixes.

Means that things like MY::.values now provides all the values in the current lexical scope; before it just gave a (Mu) for each of them.
17:22
17:23 ZoffixWork joined
ZoffixWork masak, I generated them with Text::VimColour. I wasn't aware of the /snippets/ 17:23
17:23 espadrine left
ZoffixWork looks closer into that 17:23
dalek href="https://perl6.org:">perl6.org: da2ced2 | FROGGS++ | source/index.html:
change custome ops example to a simpler one

While the unicode example with the precedence traits shows some powerness, it might frighten newcomers that this kind of complexity would be needed to add a custom operator.
17:24
ast: 41a40f4 | jnthn++ | S02-names/pseudo.t:
Tests to cover RT #123154.
17:25
[Coke] might want to remove/update the STD.pm link to the "official Perl 6 grammar". 17:26
plus, I imagine that's not a thing we need to have in the footer regardless.
17:26 laouji left
dalek href="https://perl6.org:">perl6.org: 12ca1d8 | FROGGS++ | source/index.html:
okay, we need to set precedence in example
17:28
17:31 dha left
masak ZoffixWork: if you could just replace the Unicode ❢ example with irclog.perlgeek.de/perl6/2015-10-05#i_11321129 , that would be an immense improvement 17:32
kthx
17:32 larion joined
ZoffixWork masak, I think that's what FROGGS++ just done in the commit above :) 17:32
Or maybe not. 17:33
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 Hor|zon left
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
(it's now live on perl6.org)
17:36 laouji joined
dalek href="https://perl6.org:">perl6.org: 4d5630c | (Zoffix Znet)++ | source/ (3 files):
Fix styles on /archive/ stuff
17:37
Loren_ I think we should
learn from haskell home page
FROGGS Loren_: in what way? 17:38
Loren_ www.haskell.org/ just see the Try it
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
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.
Loren_ I think so friendly to beginners ...
17:40 fling left, laouji left
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: irclog.perlgeek.de/perl6/2015-10-05#i_11317151 ) 17:40
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
FROGGS pink_mist: sure, fsdo 'on a webpage' :o) 17:41
pink_mist as in, under a javascript vm
FROGGS we'll see
dalek q: 6bf1fb6 | (Ingo Blechschmidt)++ | answers.md:
Fix a few tiny typos
17:42
q: a0bc48a | FROGGS++ | answers.md:
Merge pull request #3 from iblech/patch-1

Fix a few tiny typos
17:43 lichtkind joined
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:43
Loren_ haha .. 17:44
FROGGS yes, that makes more sense
17:46 st_iron joined
st_iron hi 17:46
FROGGS hi st_iron
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.
grondilu m: my @a = (++$ + 1/*) xx *; my $f = @a.iterator.pull-one; say $f.(1) for ^10;
camelia rakudo-moar 0cca60: OUTPUT«2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤»
grondilu I was execting only ones. 17:48
compare this with:
ZoffixWork Loren_, yeah, that's a good point.
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␤»
grondilu hang on, let me do this again.
timotimo grondilu: why? the state becomes a part of the WhateverCode, i expect 17:50
grondilu I doubt it
17:51 espadrine joined
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: perl6.org/archive/ 17:51
yoleaux ZoffixWork: I'll pass your message to moritz.
grondilu m: my @f = ($++ / *) xx 4; say { .(1) }, @f
camelia rakudo-moar 0cca60: OUTPUT«-> ;; $_? is raw { #`(Block|61622048) ... }[WhateverCode.new WhateverCode.new WhateverCode.new WhateverCode.new]␤»
17:51 domidumont joined, laouji joined
grondilu m: my @f = ($++ / *) xx 4; say map { .(1) }, @f 17:51
camelia rakudo-moar 0cca60: OUTPUT«(0 1 2 3)␤»
grondilu m: my @f = ($++ / *) xx 2; say map { .(1) }, @f 17:52
camelia rakudo-moar 0cca60: OUTPUT«(0 1)␤»
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: perl6.org/archive/
grondilu m: my @f = ($++ / *) xx 2; my $f = @f.iterator.pull-one; say $f.(1) for ^2
camelia rakudo-moar 0cca60: OUTPUT«0␤1␤»
ZoffixWork \o/
grondilu there is only on $f since we pulled the iterator only once
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␤»
grondilu it's even more ridiculous with ten iteration since @f is supposed to have only two elements.
jnthn is part way into working on RT #121530
Dinner time &
17:56 laouji left
grondilu or even this: 17:56
m: my @f = $++ / *; my $f = @f.iterator.pull-one; say $f.(1) for ^10
camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
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␤»
PerlJam m: my @f = $++ / *; my $f = @f[0]; say $f.(1) for ^10;
camelia rakudo-moar e2ff16: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤»
grondilu that can't be right
can it?
moritz why not? 17:58
PerlJam I'm going with ZoffixWork I think ... the anon state var becomes closued over by the WhateverCode
grondilu oh wait
I see 17:59
PerlJam oh wait, it was timotimo who suggested that.
ZoffixWork :)
17:59 mattp__ left
grondilu the state variable is part of the function indeed 17:59
PerlJam in any case, the original code has too many red herrings to think about what's going on :) 18:00
18:00 espadrine left
moritz ZoffixWork: I've patched the update script to run a full update if includes/ was changed 18:00
ZoffixWork moritz++ 18:01
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
see what I mean?
moritz ZoffixWork: if it doesn't seem to work, please complain :-)
ZoffixWork ;)
grondilu should an anonymous state be closed by priming? 18:03
moritz why not? 18:04
grondilu why?
moritz because it's consistent
grondilu I mean, how then can I create a list of functions with a parameter?
I guess I could use map
18:04 [Sno] left
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
timotimo i suggested what? oh no! what did i do! what did i doooooooo~
grondilu m: my @f = map { $_ / * }, ^10; say @f[0].(1) for ^10
camelia rakudo-moar e2ff16: OUTPUT«0␤0␤0␤0␤0␤0␤0␤0␤0␤0␤»
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
18:06 laouji joined
timotimo put a " in there and find out :) 18:06
dalek href="https://perl6.org:">perl6.org: 0746d12 | moritz++ | update.sh:
Bring update script under version control
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␤␤»
timotimo m: my @funcs = (1..*).map({ &infix:</>.assuming($_) }); say @funcs[4](1); say @funcs[4](1);
camelia rakudo-moar e2ff16: OUTPUT«5␤5␤»
lizmat [Coke]: re Pair.freeze, yes I can do that (provided we all feel Pair.freeze is a good idea?)
timotimo grondilu: how do you feel about that? ^
grondilu yeah using a map will do 18:08
m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1)
camelia rakudo-moar e2ff16: OUTPUT«2␤3␤»
grondilu oops 18:09
[Coke] lizmat: oh, i have no idea if it's a good idea. ;)
grondilu wrong paste
[Coke] er, :)
grondilu m: my @a = (++$ + 1/*) xx 2; my $f = @a.iterator.pull-one; say $f.(1); say $f.(1)
camelia rakudo-moar e2ff16: OUTPUT«2␤3␤»
grondilu ahh
sorry wrong paste again
m: my @a = 1, |(2 xx *); say ([o] map {@a[$_] + 1/*}, ^10)(Inf); 18:10
camelia rakudo-moar e2ff16: OUTPUT«1.41421362489487␤»
grondilu so that does work
18:10 laouji left
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
18:11 mattp__ joined
dalek ast: 1933600 | lizmat++ | S02-types/pair.t:
Add tests for Pair.new(key,value)
18:12
18:12 Jaglor joined
timotimo hm 18:16
Skarsnik Well I think I will get the " as \", still funny how it put a single word without quote 18:18
dalek ast: c2b51f0 | lizmat++ | S02-types/pair.t:
Test Pair.freeze
18:20
Iish: 312196a | moritz++ | lib/DBDish/Pg.pm6:
Return non-native Str from PQgetvalue

Closes #21
vendethiel masak: I guess that falled into the "looks cute now" trap :P 18:22
fell*.
ab5tract_ is possible to create a sub with a unicode character name that is not an operator? 18:23
*is it
I notice that we don't seem to support it for package names either
moritz ab5tract_: if it's an identifier character, sure 18:24
m: sub ä() { 'ae' }; say ä
camelia rakudo-moar e2ff16: OUTPUT«ae␤»
18:24 Hor|zon joined
FROGGS it has to be a word character, aye 18:24
moritz m: module Ä { our sub ö { 'wtf' } }; say Ä::ö()
camelia rakudo-moar e2ff16: OUTPUT«wtf␤»
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␤»
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
ab5tract_ moritz: yeah, I got that :)
it makes sense to a degree, and I assume it was chosen this way for good reason 18:28
pink_mist ab5tract_: 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
pink_mist: thanks. that clarifies the rules of the game indeed. 18:31
18:31 cdg left
moritz and you can always create prefix ops 18:31
dalek Iish: 4be9ebe | moritz++ | t/10-mysql.t:
Fix mysql tests; closes #20

  * fix grep { /.../ } (use grep /.../, ... instead)
  * GLR fixes
  * use .roll instead of hand-made map
18:33
18:34 zakharyas left
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
moritz ab5tract_: that's a term
18:35 laouji joined
moritz m: say term:<¿>() { (1..6).roll }; say ¿ 18:36
ab5tract_ moritz: thank you!
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:…»
moritz m: sub term:<¿>() { (1..6).roll }; say ¿
camelia rakudo-moar e2ff16: OUTPUT«1␤»
FROGGS .tell domidumont I... cannot reproduce the problem you reported :o(
yoleaux FROGGS: I'll pass your message to domidumont.
moritz m: sub term:<¿>() { (1..6).roll }; say ¿
camelia rakudo-moar e2ff16: OUTPUT«4␤»
ab5tract_ that clarifies 'term' for me as well
thank you!
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, st_iron left
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:37Z <FROGGS> domidumont: I installed moarvm, nqp, and rakudo/fix-lib-installation-path, but it works here 18:38
18:38 yqt left, yqt joined
FROGGS domidumont: that's my directory layout now: gist.github.com/FROGGS/f235b280bc61ff2ecad0 18:39
18:40 laouji left
domidumont FROGGS: I end up with the same directory layout ... 18:42
FROGGS domidumont: and when do you get that error message?
ab5tract_ the more I think about it, the more obvious the choice to reserve punctuation as 'not for names' makes more and more sense :)
domidumont FROGGS: Just that: perl6 -e 'say "hello";'
FROGGS: I get : nhandled exception: failed to load library 'dynext/libperl6_ops_moar.so' 18:43
  at <unknown>:1  (/usr/share/perl6/runtime/perl6.moarvm:<dependencies+deserialize>:81)
ab5tract_ it's pretty much the way we programmers have about always divied it up
or, I should say, them language designers ;) 18:44
FROGGS hmmmm
it does work here...
what am I doing wrong?
(besides using ubuntu)
domidumont is wondering the same thing
FROGGS: Did you modify also the way moarvm is built ? 18:45
FROGGS domidumont: no
domidumont: do I have to?
domidumont no. I use a moarvm package that I built (and uploaded) before
18:46 Hor|zon left
FROGGS I also used nqp/master, not the feature/moarvm-and-jvm-backends branch 18:46
[Coke] is the package recent?
domidumont 2015-09 18:47
FROGGS [Coke]: 2015.09
[Coke] ok.
FROGGS ohh 18:48
now I get the error message!
domidumont ah.. A heisenbug ?
FROGGS no, I left the pkg-rakudo directory :o)
domidumont ah ha
El_Che does rakudo build on cygwin? 18:49
18:51 laouji joined
FROGGS El_Che: almost I think 18:51
domidumont: when you do `cat /usr/bin/perl6`, you'll notice and empty --libpath option 18:53
domidumont: and it'll work if you put /usr/lib/perl6/runtime in there 18:54
domidumont ok. So I forgot something in the patch that's supposed to fix the installation path 18:55
18:56 bakedb left
FROGGS yeah... let me check what exatlxy 18:56
18:56 laouji left
FROGGS exactly* 18:56
18:56 Hor|zon joined
domidumont How dumb: I forgot to define the AM_DLLPATH variable with the weird @slash@share .. 18:58
line 12 in makefile-moar.in
El_Che this (www.jnthn.net/papers/2015-spw-perl6-course.pdf) should be directly in perl6.org/documentation/. Those slides were really useful to get started fast
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:00
19:00 Alina-malina left 19:02 Alina-malina joined
domidumont FROGGS: ok 19:04
19:05 bakedb joined 19:06 laouji joined
jdv79 is Centos 5 too old to compile on? 19:10
masak try-it-and-see?
jdv79 i did
cc error
FROGGS and?
can you put that in a gist?
19:10 laouji left
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"
FROGGS ohh
jdv79 i compiled on this box a few months ago
masak might be a new -W option
new in Rakudo's build, I mean
FROGGS yes, we added these -Werror options just recently
jdv79 that would be my guess
FROGGS it is meant to force devs to care about MSVC 19:12
and actually not break things :/
19:12 woolfy joined
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
19:13 woolfy left
FROGGS O.O 19:13
domidumont Anyway, I'll find a way to fix this. Thanks for your help
FROGGS domidumont++
domidumont but tomorrow :-p
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
:o)
jdv79 ok
neato
FROGGS jdv79: so, if you don't want to tackle it yourself, please open an issue in the moarvm repo
jdv79 looks like RHEL 5 is "not EOL'd til 2017 or 2020
so maybe worth supporting
FROGGS aye 19:15
jdv79 i'll ticket it ^H
FROGGS jdv79++
19:17 domidumont left 19:27 atweiden joined 19:32 dha joined 19:35 laouji joined
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
atweiden proto token alphabetic {*}; token alphabetic:a { ... }; token alphabetic:b { ... }; token alphabetic:c { ... };
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
moritz atweiden: proto tokens to longest-token matching, so <a> | <b> | <c>, not with ||
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
dha i.e. abs(NUMERIC) or abs(NUMBER)? 19:39
moritz dha: I kinda like Perl 6's type names 19:40
abs(Numeric)
they have the distinct advantage that they are very well-defined
19:41 laouji left
dha Yeah, that's what I was thinking. It reads a bit weird, but probably the right choice. 19:41
atweiden moritz: is it best practice to use LTM everywhere in grammars? 19:44
PerlJam atweiden: that's a weird question.
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
19:45 ][Sno][ joined 19:46 [Sno] left
moritz atweiden: it's a sensible default. "Everyhwere" is too encompasssing 19:47
mspo ][Sno][: hi
moritz atweiden: there's a useful pattern for error reporting that uses ||
atweiden: 'for' <list> [ <block> || <.panic: "Missing block"> ] 19:48
][Sno][ hi mspo
vendethiel moritz: mmh, I guess "when to use ||" could be an interesting FAQ point
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:49
grondilu m: say (map {$_}, 1 xx *)[10]; 19:52
camelia rakudo-moar e2ff16: OUTPUT«1␤»
grondilu m: say (map {$_}, 2, |(1 xx *))[10];
camelia rakudo-moar e2ff16: OUTPUT«(timeout)» 19:53
grondilu ^not sure if this hanging is ok
does slip lose lazyness or something?
m: say (map {$_}, 2, slip (1 xx *))[10];
camelia rakudo-moar e2ff16: OUTPUT«1␤»
grondilu m: say (map {$_}, 2, slip (1 xx *))[1000];
camelia rakudo-moar e2ff16: OUTPUT«1␤»
grondilu isn't |@ supposed to be the same as slip @ ? 19:54
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
Should that change?
moritz dha: IMHO that's neglectable in comparison to all the other issues that perl6/doc has :-) 19:56
19:56 tokuhirom joined
dha True, but since I'm going through it, should I change this while I'm there? 19:56
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. :-)
pink_mist can't hurt with more consistency
19:58 darutoko left
dha So mote it be. 20:00
moritz dha: there's github.com/perl6/doc/issues/
dha True. 20:01
20:01 tokuhirom left
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.
WANTED strikes me as... incomplete. :-) 20:02
moritz it doesn't claim to be complete
m: say (my $).VAR.^name 20:03
camelia rakudo-moar e2ff16: OUTPUT«Scalar␤»
dha I know. But complete would be helpful.
I guess my goal is to make the documentation usable for people who *don't* hang out in #perl6. :-) 20:08
colomon +1 ;)
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.
I should point out that I'm not complaining so much as worrying. Which I tend to do. :-) 20:11
Admittedly, sometimes too much...
20:17 rurban left 20:19 waressearcher2 joined
waressearcher2 is perl6 more perfect than perl5 ? 20:19
PerlJam waressearcher2: are daisies more perfect than tulips? 20:20
moritz waressearcher2: we certainly strife to make it so
20:20 Loren_ left
waressearcher2 I mean at least it was "reason", right ? 20:20
20:21 Psyche^_ joined
tadzik can you be "more perfect"? 20:21
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:24
20:24 Psyche^ left
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:25
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 :)
waressearcher2, efficiency in what? Writing code?
dalek c: c40a1aa | moritz++ | lib/Language/containers.pod:
Rework containers.pod

closes #139
20:27
waressearcher2 ZoffixWork: yes, like in newer version have to make you more efficient and faster at writing code, or something like that
ZoffixWork waressearcher2, I guess... both Perls do extensively use syntax instead of stuff like 'preg_replace_callback_array'. 20:29
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
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:31
20:32 mr_ron left 20:33 diana_olhovik_ left
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?
moritz dha: unless they are necessary :-)
ZoffixWork Don't use it *yet* :)
dha has been looking at the parens in the signatures and replicating them in usage statements. Oops. Back to the salt mines. 20:34
atweiden waressearcher2: Coming from a background in Bash, and having toyed in Perl5, Perl6 seems more approachable to me 20:35
The 6 syntax makes a world of difference, and the p6 grammar-debugger is life changing if you ever need a regex 20:36
20:36 rindolf left, diana_olhovik_ joined
jnthn Also worth noting that Perl 6 is in a much better place for multi-core hardware. 20:37
20:39 rindolf joined 20:41 diana_olhovik_ left
lizmat Yet Another Perl 6 Weekly: p6weekly.wordpress.com/2015/10/05/...-new-face/ 20:43
ZoffixWork \o/
jnthn \o/
colomon lizmat++
20:44 mr_ron joined
jnthn lizmat++ 20:45
20:49 ZoffixWork left
masak lizmat++ 20:51
20:51 laouji joined, dha left 20:55 dha joined
masak lizmat: you got the order of the function composition backwards. 20:55
m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; my &double-invert = &double o &invert; say double-invert(0.25)
camelia rakudo-moar e2ff16: OUTPUT«8␤»
masak blog post says 2.
lizmat: &this-gets-applied-second o &this-gets-applied-first
lizmat :-(
20:55 laouji left
masak lizmat: or, for the visually inclined, (&f o &g)($x) === f(g($x)) 20:56
20:56 xfix left
lizmat could you reload ? 20:58
masak looks better :) 20:59
lizmat masak++
masak lizmat: another, even slighter nitpick "Three Types of Macros", no possessive apostrophe 21:00
lizmat fixed, masak++ again
jnthn Now the post has less grammar mistakes! 21:01
lizmat *fewer
:-)
jnthn :D
Yay, I've got it so when multiple LEAVE/POSTs throw exceptions we collect 'em all and show 'em all
lizmat jnthn++ 21:02
21:03 fieroguy left
ab5tract_ jnthn: that sounds.. tricky 21:03
jnthn Wasn't too bad :) 21:04
jnthn is relieved he didn't have to do any VM-level changes for it :)
masak looks like all the ecosystem additions were by Japanese contributors.
lizmat yup
masak is Perl 6 getting a big following in .jp ?
ab5tract_ I can understand why :)
lizmat I would hope so
masak すごい! 21:05
^_^ 21:06
Juerd likes the function composition operator, but wonders why there even is a unicode variant for it.
masak Juerd: I'm not sure I understand what you're wondering about.
Juerd: that's exactly what that character in Unicode is there for.
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.
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..
masak from Wikipedia: "The composition symbol ∘  is encoded as U+2218 ∘ RING OPERATOR"
Juerd Uh oh. Please don't do →. 21:08
21:08 kaare__ left
lizmat 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 :)
masak \o/
Juerd (Probably someone will now tell me that → was the original operator all along...)
masak YAPC::Asia 2016!? I'm scared -- should I be watching this now...? 21:09
what if I create a time paradox or something
Juerd lol
PerlJam → should be synonymous with -> ... good catch Juerd! ;)
masak Juerd++ # bringing this to our attention 21:10
lizmat masak: where does the 2016 come from ?
masak lizmat: video you posted
lizmat: title slide
Juerd contemplates virtual suicide
21:10 Guest50035 left
lizmat aha... : -) completely missed that :-) 21:10
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*
lizmat in that light "Perl6 on the JVM sorta works" does not bode well :-) 21:12
masak hehe
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
lizmat *its
:-)
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
dalek c/usage_statements: 792ca93 | (David H. Adler)++ | lib/Type/Cool.pod:
Added usage statements and fixed signature order in Cool.pod
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;
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.
dha Whew. Cool.pod is long.
21:15 skids left
pink_mist dha++ 21:16
good effort!
jnthn Ah, I got the POST semantics a tad wrong.
dha Thanks. I hope I got it all right. Did notice that I screwed up split in Str.pod. fixing...
masak m: sub double($x) { $x * 2 }; sub invert($x) { 1 / $x }; say (&double o &invert)(0.25); say (&double Ro &invert)(0.25)
camelia rakudo-moar e2ff16: OUTPUT«8␤2␤»
masak \o/
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)
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>'?␤␤»
masak boo
also, Rboo
PerlJam heh
masak NO I DID NOT MEAN infix:<∖> 21:18
WHAT'S WRONG WITH YOU LEVENSHTEIN
21:18 khw left
dalek c/usage_statements: a8fc200 | (David H. Adler)++ | lib/Type/Str.pod:
Fixed usage statement for C<split> in Str.pod
21:19
21:20 laouji joined
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
Or somewhere else?
[Coke] dha: question: instead of using [, ARG] to indicate an optional arg, why not ARG?
one less syntax for our doc readers to learn. 21:23
PerlJam Coke++
21:25 laouji left
dha so, for instance, "split /PATTERN/, STRING[, LIMIT]" "split /PATTERN/, STRING, LIMIT\nsplit /PATTERN/, STRING" like in the perl 5 docs? 21:25
[Coke] apologies for not asking this sooner. 21:26
21:26 rindolf left
dha Yeah, sooner would probably have been better. :-) 21:26
[Coke] dha: no. use the perl 6 syntax for optional args.
PerlJam dha: he meant ARG? instead of [, ARG]
dha uh... which is?
oh!
[Coke] m: sub a($this, $that?) { say "$this $that" }; a("this"); a("this",3);
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␤»
dalek kudo/nom: 590c6f7 | jnthn++ | src/ (3 files):
Correct semantics of dieing LEAVEs.

Just in time for autumn! Now as per design docs, an exception thrown by a LEAVE does not prevent evaluation of further LEAVE/UNDO/KEEP/POST blocks. If we get one exception we just throw it; if we get multiple we collect them all and throw an X::PhaserExceptions containg them.
21:27 pmurias joined
dalek ast: 489c492 | jnthn++ | S04-phasers/enter-leave.t:
Unfudge RT #121530 test; more related tests.
21:27
dha Ah. I parsed that as an actual question mark. :-)
[Coke] I'm happy to take that as a TODO and update existing ones.
dha Ah.
pmurias are the Japanee Perl programmers more interested in Perl 6 on the JVM?
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:28
jnthn Enough for today. 'night, #perl6! 21:29
dha night jnthn
lizmat gnight jnthn
PerlJam jnthn: sleep well! 21:30
lizmat pmurias: can't really say: but that was the only Perl 6 talk in Japanase, afiak
*afaik
21:31 n0xff joined
ab5tract_ gist.github.com/ab5tract/18b95160763bf901c74e 21:32
21:32 khw joined
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?
lizmat dha: that may be for hysterical raisins 21:36
a Blob is an immutable Buf nowadays
right ?
dha Ok. Unsure how to usage that, then.
that's what the docs say.
lizmat I guess it would need to live in Buf.pod then 21:40
21:40 TEttinger joined
masak aww, the "Custom Unicode operators" example on the web page was turned into just "Custom operators"... 21:41
good that we're using postfix:<!> instead of that silly Unicode exclamation mark, though
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:42
masak FROGGS: re github.com/perl6/perl6.org/commit/...c466651074 21:43
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?
lizmat well, judging from the attendence at Tokuhiro Matsuno talk, there was a lot of interest for it at YAPC::Asia
dalek c/usage_statements: 111a73e | (David H. Adler)++ | lib/Type/ (2 files):
Fixed paren and optional arg issues for Types through Cool.pod
21:44 leont joined
masak FROGGS: S06 says that postfixes are created with precedence equivalent to postfix:<++> 21:45
FROGGS: so I guess your `is tighter` actually makes the new postfix looser than it would have otherwise been. 21:46
21:46 simon joined, bjz left
simon hello" 21:46
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
simon: hello!
lizmat dha++
dha bows
masak FROGGS: frankly, I think it's confusing to think of postfix:<!> as looser than either of those three precedence levels... :) 21:48
dalek c: ef69b16 | (David H. Adler)++ | lib/Type/Any.pod:
Added usage statements for ACCEPTS and junctions to Any.pod
doc: ff764d8 | (David H. Adler)++ | lib/Type/B (2 files):
doc: Added usage statements to Backtrace.pod and Blob.pod (except for pack,
21:48 dalek left 21:49 dalek joined, ChanServ sets mode: +v dalek
masak 'night, #perl6 21:49
dha Aw. I broke the dalek.
Why is that bot called dalek, anyway?
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?
dha It does not seem to exterminate anything...
jdv79 good ? dha
dalek kudo/nom: ebc1c38 | lizmat++ | src/core/ (3 files):
Move SET_(LEAD|TRAIL)ING_DOCS to Rakudo::Internals
simon haha 21:50
21:50 plicease left
jdv79 p5 is ok cept threading 21:50
21:50 laouji joined
simon i like the new functional features in perl6... and the good oo style.. 21:51
but what is the status of the language? are things changing or is there a fixed core? 21:52
lizmat simon: you could check out perl6.org, or p6weekly.wordpress.com :-) 21:54
if you want to keep a little bit up to date
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
lizmat and/or hang out here :-)
21:55 laouji left
simon thank you lizmat, PerlJam ;-) i will do this 21:57
dalek kudo/nom: 4725e2e | lizmat++ | src/core/ (3 files):
Move EXPORT_SYMBOL to Rakudo::Internals
22:00
22:01 vendethiel left
simon sorry for this question, but is there just a little evidence that the specification will be released in the next years? ;) 22:02
maybe 3 years
22:02 bjz joined
dalek c/usage_statements: 3f016cd | (David H. Adler)++ | lib/Type/Date.pod:
Added usage statements to Date.pod
22:03
lizmat simon: www.youtube.com/watch?v=RvCkvXvqi3U # Get Ready To Party!
22:03 RabidGravy left
El_Che simon: perl 6 should be out by Christmas 22:03
lizmat s/should/will/
El_Che simon: *This* Christmas! (that's new) :)
\o/
simon El_Che: haha i read alerady the wiki article ;)
dalek kudo/nom: 93d2c93 | lizmat++ | src/core/traits.pm:
Remove superfluous Pair stub
22:04
22:04 tokuhirom joined 22:05 dha left 22:06 laouji joined, dp joined
dp hello 22:07
lizmat dp o/
22:08 waressearcher2 left, larion left
dp Is there still any point in learning some other version of perl than perl6? 22:09
22:09 tokuhirom left 22:10 cognominal left, cognominal joined
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:10
22:11 laouji left
Skarsnik perl5 is very different than perl6. and perl6 is not really production ready IMO 22:11
22:11 bjz left
dalek kudo/nom: 218357e | lizmat++ | src/Perl6/Grammar.nqp:
Remove reference to deprecated "winner"
22:11
dp Alright. Would you recommend picking up perl6 before perl5 or the other way around? 22:12
leont That depends on what you want to do, really 22:13
Skarsnik yes, exactly
actually is there some modern p5 tutorial?
leont There are several good books, Modern Perl and Beginning Perl being the best known ones 22:14
22:15 gtodd joined
dp I'm mostly just curious about the language and it's features 22:15
Will I be able to understand perl5 if I only learn perl6? 22:16
22:16 Skarsnik left
leont They're quite distinct nowadays, so not really 22:16
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 )
wahh
22:18 yqt left
El_Che dp: I have found perl5 knowledge (and some Ruby knowledge) pretty handy when trying perl 6. 22:18
gtodd I thought there was basic linenoise style line editing "built in" 22:19
22:19 kid51 joined
ilmari gtodd: you need to install the Linenoise module 22:20
or just use rlwrap, since linenoise sucks and makes repl startup time really slow
22:21 laouji joined
gtodd ahh ok I thought linenoise was builtin with schmancy tab completion of builtins etc. etc. planned to be a module 22:22
.. REPL::Schmancy :-D 22:23
anyway thanks
Zoffix , 22:25
yoleaux 12:25Z <lizmat> Zoffix: perl6.org/getting-started/ seem to have CSS issues
Zoffix Fixed! :)
lizmat :-)
22:26 laouji left
dalek kudo/nom: 68f233a | lizmat++ | src/core/ (2 files):
Remove some deprecations that we missed
22:27
El_Che Isn't the R* name on the site a little confusing (implying a relation with R) ?
lizmat perhaps better "R *" ? 22:29
tadzik or Rakudo Star? :)
El_Che Rakudo*
?
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.
El_Che although some people will look for a footnote :)
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.
lizmat El_Che: why not do a PR on perl6/perl6.org ? 22:31
22:32 simon left
El_Che ok, so Rakudo*? 22:34
or stick with R*
lizmat I would say: (comes with Rakudo Star) 22:35
and perhaps remove the mention on the "install a compiler"
R* is really echo chamber lingo 22:36
El_Che "Install Rakudo Star" instead of "iNSTALL a compiler"
got it 22:37
lizmat no, I actually meant: on that loine 22:38
line
just remove
("R*")
from the line "install a compiler..."
hmmm... it's late already... 22:40
good night, #perl6!
El_Che done
22:42 kuzgun joined
timotimo .u star 22:42
yoleaux U+0001 START OF HEADING [Cc] (␁)
U+0002 START OF TEXT [Cc] (␂)
U+0086 START OF SELECTED AREA [Cc] (<control>)
timotimo no, damn %)
dalek href="https://perl6.org:">perl6.org: 7d769ab | (Claudio Ramirez)++ | source/getting-started/index.html:
R* -> Rakudo Star
href="https://perl6.org:">perl6.org: 6a65b5e | lizmat++ | source/getting-started/index.html:
Merge pull request #37 from nxadm/master

R* -> Rakudo Star to avoid confusion with the R system.
See irclog.perlgeek.de/perl6/2015-10-05#i_11323264 for discussion.
lizmat El_Che++
sleep&
timotimo R★
El_Che yeah, I made the site leaner (sarcasm sign) :)
22:44 larion joined
El_Che Rakudo⛧ (the Gothic release) 22:44
22:48 skids joined
^elyse^ .tell vendethiel repzret.org/p/repzret/ 22:49
yoleaux ^elyse^: I'll pass your message to vendethiel.
^elyse^ .botsnack
yoleaux :D
22:50 laouji joined
^elyse^ jnthn: ^ you may also like that link, as you're implementing a JIT compiler (IIRC) 22:52
anyway, time to sleep. bye!
22:52 ^elyse^ left
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:52
22:53 spider-mario left 22:55 laouji left 22:58 greez11 joined 22:59 greez11 left 23:06 laouji joined 23:10 laouji left 23:19 telex left 23:20 mr_ron left, telex joined 23:21 laouji joined 23:26 laouji left 23:31 mr_ron joined 23:32 Peter_R joined 23:38 pmurias left 23:47 BenGoldberg joined