»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:01 spider-mario left, kanishka joined
cygx 'night o/ 00:02
ZoffixWin m: my \b = 3; my $a = 3; my $a-b = 3; say $a-b 00:03
camelia rakudo-moar 1bdb78: OUTPUT«3␤»
ZoffixWin night
00:03 cygx left 00:04 kjs_ left, telex left 00:08 llfourn joined
BenGoldberg m: my \b = 3; my $a = 3; my $a-b = 3; say $a; 00:08
camelia rakudo-moar 1bdb78: OUTPUT«3␤»
BenGoldberg m: my \b = 3; my $a = 3; my $a-b = 42; say $a-b;
camelia rakudo-moar 1bdb78: OUTPUT«42␤»
BenGoldberg m: my \b = 3; my $a = 3; my $a-b = 42; say b;
camelia rakudo-moar 1bdb78: OUTPUT«3␤»
00:08 Some-body_ joined
BenGoldberg wonders how that works. 00:08
ZoffixWin BenGoldberg, $a-b is a var name
BenGoldberg D'oh, I see.
ZoffixWin That's pretty much it :)
00:09 telex joined
BenGoldberg feels silly now. 00:09
dlynes Is it normal to see rakudobrew build moar take aeons with zero updates to the screen?
ZoffixWin dlynes, nope
dlynes i.e. it's takeing forever to clone into 'moar-nom' 00:10
s/takeing/taking/
timotimo geekosaur: oh, sorry!
ZoffixWin Maybe try restarting it.
timotimo i'm only eye-ing the channel with ... parts of a single eye i suppose
dlynes ZoffixWin: yeah...tried that, and then it throws up all over itself
ZoffixWin the whole build takes ~2-3 minutes on my box
dlynes, I'd try removing ~/.rakudobrew and ~/.perl6 and starting from scratch.
00:11 zhmylove_ joined, Jonis_ joined
dlynes And it always seems to hang on something git related 00:11
ZoffixWin weird
00:11 ChoHag_ joined
dlynes git works fine...I use it daily at the office 00:11
ZoffixWin Maybe Chaina is DoSing github again XD
*China
00:11 AWei joined 00:12 sjohnson` joined, noganex joined 00:13 llfourn left
dlynes ZoffixWin: ic 00:13
ZoffixWin: didn't realize China had an interest in bullying opensource software
00:13 Ari__ joined
ZoffixWin they did it a few months ago. There's an OSS that allows bypassing their Great Firewall 00:14
00:14 Ari__ left
ZoffixWin Why is this vodka flavour named "cherrys" and not "cherry", "cherries", or "cherry's" -_- 00:14
gfldex if they misspell it, they get a TM 00:15
dlynes Nice...have multiple instances of git running inside of perl 00:16
perl 5.18.2 is fine for the bootstrap, right? 00:17
flussence 5.10.0 or higher is fine
00:18 ChoHag left, noganex_ left, crux left 00:19 DarthGandalf left, sjohnson left, zhmylove left, wtw left, Some-body_ is now known as DarthGandalf, bakedb joined, jervo joined 00:23 crux joined, wtw joined
grondilu seems like the amount of hate on /. is high 00:29
timotimo twitter.com/FakeUnicode/status/680...4017700864 - time for a new slang
flussence grondilu: must be a day of the week ending in "y" again...
timotimo grondilu: i'm a bit shocked the amount of hate on "hater news" is so small. i guess i must be wrong in my impression of those people 00:30
vendethiel grondilu: on /. ?
timotimo slashdot, however ...
that never surprises, i guess
vendethiel oh. 00:31
[Coke] "people still read /." ?
timotimo [Coke]: thanks again for doing the honors of the release :)
and the releases before that
[Coke] ... so the haters have a visible target? you're welcome. :)
timotimo hah 00:32
if any haters hate on you personally, bet on me to give them a punch to the face
[Coke] You're welcome. Many hands made the release light work.
timotimo <3
00:35 rurban1 joined 00:36 rurban left 00:37 lichtkind left 00:38 rurban joined
dalek c/category: aad0a2f | coke++ | / (3 files):
Add categorized search results.
00:38
[Coke] ^^ anyone playing with the doc site, please check that out, see if it renders to your liking.
00:39 rurban1 left
timotimo man, i'd love it if we had builds of branches of the doc and spec repositories ... and why not also the perl6.org repository 00:40
i wonder how hard that is to do
a little VHost here, a little DocumentRoot there, a bit of a for loop around git while building ...
github.com/perl6/ye-olde/issues/3 - i opened an issue about handling the perl foundation perl6 wiki 00:43
00:44 aigan_ is now known as aigan, regreg left
[Coke] ISTR I have an email open about that. 00:45
timotimo oh, neat!
[Coke] ... can't find it. 00:46
timotimo Drafts/ ? :)
[Coke] ... found it. 00:47
sent Nov 20, no reply from the webmaster at the perl foundation.
timotimo maybe we should be contacting someone in a more political position about this?
the only person i know at TPF is karen; no clue if she'd be a good address?
00:52 Ox0dea joined 00:53 virtualsue left
[Coke] I repinged the webmaster, cc'd timo, we can reach out karen in a few days if needed. I'm happy to do it if someone reminds me. 00:53
timotimo i added an event to my calendar to remind me to remind you 00:55
00:56 Sgeo left
Ox0dea Why are types falsy? 00:56
00:56 dududuedu joined
timotimo because they are not defined 00:56
00:56 Sgeo joined
timotimo that meshes more or less well with "empty list is falsy", "0 is falsy" and "empty string is falsy" 00:56
00:57 secwang joined
timotimo well, it doesn't mesh "less well" 00:57
00:57 bpmedley_ joined
BenGoldberg m: my $foo; say $foo 00:58
camelia rakudo-moar 1bdb78: OUTPUT«(Any)␤»
BenGoldberg m: my $foo; say so $foo
camelia rakudo-moar 1bdb78: OUTPUT«False␤»
BenGoldberg m: my $foo; say $foo.^attributes
camelia rakudo-moar 1bdb78: OUTPUT«()␤»
00:58 rurban left
timotimo m: my $foo = Any.new; say so $foo 00:59
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
00:59 bpmedley left
timotimo a new instance of Any. super useful! 00:59
00:59 ellybelly left 01:00 herby_ joined
herby_ Good evening, everyone! 01:00
Ox0dea Hi, herby_!
BenGoldberg Ox0dea, Think of it this way, the default value of any scalar variable, before you've assigned anything to it, is not some value resembling perl5's 'undef', but rather whatever class that variable has been defined to be.
herby_ o/
AlexDaniel timotimo: yeah, look! 01:01
m: my Any:D $x = Any
camelia rakudo-moar 1bdb78: OUTPUT«Type check failed in assignment to $x; expected Any:D but got Any␤ in block <unit> at /tmp/avlnxDYPx4 line 1␤␤»
AlexDaniel m: my Any:D $x = Any.new
camelia ( no output )
timotimo that could be called ... a use ... yeah :) 01:02
anyway, i ought to head to bed
head and body
AlexDaniel so let's say you want it to accept anything as long as it is defined 01:03
m: my Any:D $x = Int
camelia rakudo-moar 1bdb78: OUTPUT«Type check failed in assignment to $x; expected Any:D but got Int␤ in block <unit> at /tmp/iaQWzn4oJr line 1␤␤»
AlexDaniel m: my Any:D $x = 25
camelia ( no output )
AlexDaniel I'm not sure that you'd expect Any.new :D 01:04
timotimo nobody expects the spanish Any.new! 01:05
AlexDaniel m: say Any.^methods
camelia rakudo-moar 1bdb78: OUTPUT«(Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new cache Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new Method+{<anon|58612832>}.new Method+{<anon|586…»
timotimo m: say Any.^methods>>.name
camelia rakudo-moar 1bdb78: OUTPUT«(EXISTS-KEY DELETE-KEY DELETE-POS cache list flat eager List Slip Array hash Hash elems end keys kv values pairs antipairs invert pick roll iterator classify categorize rotor reverse combinations permutations join nodemap duckmap deepmap tree push append u…»
timotimo (don't ask me why it looks like that, though ...) 01:06
good night!
AlexDaniel m:
m: say ~Any.new
camelia rakudo-moar 1bdb78: OUTPUT«Any<139711291550128>␤»
AlexDaniel m: say ~Any.new
camelia rakudo-moar 1bdb78: OUTPUT«Any<140648963639728>␤»
AlexDaniel m: say ~Any.new
camelia rakudo-moar 1bdb78: OUTPUT«Any<139805361641904>␤»
uruwi Has anyone discussed floating point shenanigans on Blob.pack / unpack yet?
timotimo that's actually the memory location right there
herby_ shenanigans? 01:07
Ox0dea timotimo: Why decimal?
timotimo uruwi: gist.github.com/Juerd/ae574b87d40a66649692 - this is juerd's proposition for what to replace current pack/unpack with
Ox0dea: i suppose because it's not really meant to be seen/read by humans?
uruwi oh, nice!
01:08 llfourn joined
uruwi It does mean I have to rewrite what little code depends on the current method, but I'll read. 01:08
timotimo don't have to rewrite it yet; you will however have to put "use experimental :pack" 01:09
AlexDaniel m: say (Any.new .. Any.new).WHAT
camelia rakudo-moar 1bdb78: OUTPUT«(Range)␤»
AlexDaniel m: say (Any.new .. Any.new)
camelia rakudo-moar 1bdb78: OUTPUT«Any.new..Any.new␤»
AlexDaniel m: say Any .. Any
camelia rakudo-moar 1bdb78: OUTPUT«Any..Any␤»
herby_ any recommended reads on how to OO-program with Perl6? 01:10
figured I could learn both at the same time
AlexDaniel retupmoca: what about this? doc.perl6.org/language/classtut
oops
wrong nick
herby_ :)
AlexDaniel herby_: ↑
herby_ I'll give it a read, thanks! 01:11
01:12 llfourn left 01:18 BloodShura_ left
AlexDaniel m: say min(Any.new, 5); say max(Any.new, 5) 01:18
camelia rakudo-moar 1bdb78: OUTPUT«5␤Any.new␤»
AlexDaniel m: say Any.new ~ 42 01:19
camelia rakudo-moar 1bdb78: OUTPUT«Any<140611433156480>42␤»
ZoffixWin :/ 01:20
01:21 Ox0dea left
ZoffixWin m: say 0+Any.new 01:21
camelia rakudo-moar 1bdb78: OUTPUT«Cannot call Numeric(Any: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/zP0Gq1ffAA line 1␤␤»
uruwi Of course that doesn't work
After all, there's an Any<> wrapped around it
AlexDaniel m: say Any.new.kv 01:23
camelia rakudo-moar 1bdb78: OUTPUT«(0 Any.new)␤»
01:23 herby_ left
uruwi Let me guess: converting to a one-element array and getting the index as the key? 01:24
01:24 bpmedley joined 01:25 bpmedley_ left
zacts so is the christmas release of rakudo the first official stable release? 01:26
or is it still alpha / beta / unstable?
AlexDaniel zacts: Maybe this will help: 6guts.wordpress.com/2015/12/26/ref...g-forward/ 01:27
zacts: section starting with “So, about the release…”
zacts: maybe we can give a more detailed answer if you narrow down your question to something simpler 01:31
flussence hm, I think github's having a bad day...
AlexDaniel flussence: yes
01:35 thomax_ joined
zacts AlexDaniel: oh thanks, /me reads 01:35
AlexDaniel zacts: the problem is that there is no way to say if something is “stable” or “unstable”, because there are various states in between 01:36
01:37 thomax left, thomax_ is now known as thomax
AlexDaniel zacts: some find that Perl 6 is just right for their tasks (that is, some people are already using it in production), others find it extremely unstable. Well, it depends on the task 01:37
zacts oh cool 01:38
so really there are two points to consider
#1 where the language specification is at
01:38 xfq joined
zacts and #2 where the implementations of this specification are at 01:38
flussence doc.perl6.org/language/faq :)
AlexDaniel zacts: this release is supposed to mean that what you write today is going to work 3 months from now, unlike what we had previously
zacts oh I see, cool 01:39
so kind of analagous to a stable API/ABI?
the language specification is stable, and rakudo implements this, and any diversion from this is a bug in rakudo christmas?
flussence "Perl 6" is analogous to "HTML 5", where Rakudo 2015.12 is equivalent to Chromium 47 01:40
zacts ah I see ok
cool!
=)
bpmedley bitbucket.org/snippets/bpmedley/rKoda <-- This doesn't print the desired results for me. I don't get anything from "@leaving". Any ideas for what I'm doing wrong?
flussence note that nothing actually implements all of HTML5 or C++14 for that matter
zacts well congrats on Perl6 christmas and Rakudo cchristmas
flussence: my brain does
(kidding kidding)
\o/ 01:41
ZoffixWin \o/ 01:42
AlexDaniel bpmedley: your perl 6 is probably old, let's see 01:43
m: say ['camel', 'vicuna', 'llama'].splice(1)
camelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤»
bpmedley I got it from brew.
AlexDaniel m: my @animals = ['camel', 'vicuna', 'llama']; my @leaving = splice(@animals, 1); say @leaving;
camelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤»
bpmedley Has brew been updated?
AlexDaniel bpmedley: try perl6 --version
bpmedley This is perl6 version 2015.03 built on MoarVM version 2015.03 01:44
AlexDaniel ewwwwww
flussence went a bit overboard there but sends that rakudo PR anyway
bpmedley Doh. My bad.
Even the ewwww version is impressive.. :-0
AlexDaniel bpmedley: though there is a high chance that you will have to nuke your installation 01:45
01:45 disturbingly_rea joined
disturbingly_rea *tips hat to the gentlemen responsible for yesterday's release* 01:45
als
*also ladies
ZoffixWin camelia, gist.github.com/zoffixznet/ad160008e76b5ac1f2bf 01:46
m: gist.github.com/zoffixznet/ad160008e76b5ac1f2bf
camelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤[vicuna llama]␤»
ZoffixWin disturbingly_rea, what about robots? :D
AlexDaniel camelia should support bitbucket as well
disturbingly_rea *considers robots*
bpmedley m: bitbucket.org/snippets/bpmedley/rKoda
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qCnGLIcFTx␤Confused␤at /tmp/qCnGLIcFTx:1␤------> 3https:7⏏5//bitbucket.org/snippets/bpmedley/rKoda␤ expecting any of:␤ colon pair␤»
disturbingly_rea *finds the whole concept overwhelming*
bpmedley m: bitbucket.org/!api/2.0/snippets/bp...ddness.txt 01:47
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JAFEsUCywK␤Confused␤at /tmp/JAFEsUCywK:1␤------> 3https:7⏏5//bitbucket.org/!api/2.0/snippets/bpmedl␤ expecting any of:␤ colon pair␤»
AlexDaniel I mean, someone should add support for bitbucket
ZoffixWin bpmedley, only gist is supported
bpmedley Gotcha
ZoffixWin AlexDaniel, well volunteered!
:D
AlexDaniel ZoffixWin: where's the source code?
ZoffixWin AlexDaniel, /evalbot
AlexDaniel ah right
ZoffixWin github.com/perl6/evalbot
01:48 herby_ joined
flussence who likes docs? I got ya some right here! github.com/flussence/rakudo/commit...fd5fdb9a01 01:48
AlexDaniel let's see if I can do it in 20 minutes…
ZoffixWin flussence++
disturbingly_rea How would one round a number to n decimal places? If I wanted the following to be -1, for example
say e**(i*π) 01:49
flussence (this was prompted by the realisation that I have no idea what the hell those precomp vars actually did)
AlexDaniel m: say round(25.555, 2)
camelia rakudo-moar 1bdb78: OUTPUT«26␤»
AlexDaniel m: say round(25.555, -2)
camelia rakudo-moar 1bdb78: OUTPUT«26␤»
disturbingly_rea m: say e**(I*π)
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dUR8eFo2XL␤Undeclared name:␤ I used at line 1␤␤»
AlexDaniel m: say round(25.555, 0.02)
camelia rakudo-moar 1bdb78: OUTPUT«25.56␤»
ZoffixWin AlexDaniel, likely just another condition here: github.com/perl6/evalbot/blob/196a...ter.pm#L85
disturbingly_rea awesome
ta
AlexDaniel ZoffixWin: yeah
ZoffixWin Ah, and I was wrong. It's not just gist, but github.com URLs as well 01:50
01:50 prevost joined
grondilu m: say e**(I*π) 01:50
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MJR5tR5But␤Undeclared name:␤ I used at line 1␤␤»
grondilu m: say e**(i*π)
disturbingly_rea m: say round(e**(i*π), 0.0001)
camelia rakudo-moar 1bdb78: OUTPUT«-1+0i␤»
rakudo-moar 1bdb78: OUTPUT«-1+1.22464679914735e-16i␤»
grondilu m: say e**(πi)
01:50 xpen joined
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/untnCwFs92␤Undeclared routine:␤ πi used at line 1␤␤» 01:50
ZoffixWin m: say e**(i\π)
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fmc2x_ppV4␤Confused␤at /tmp/fmc2x_ppV4:1␤------> 3say e**(i\7⏏5π)␤»
ZoffixWin :/
m: say e**(i/π)
camelia rakudo-moar 1bdb78: OUTPUT«0.949765715381639+0.312961796207787i␤» 01:51
ZoffixWin
.oO( I seem to recall there being a special case for i\ )
BenGoldberg m: say e**(π i) 01:52
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nFbQ6PQqQt␤Two terms in a row␤at /tmp/nFbQ6PQqQt:1␤------> 3say e**(π7⏏5 i)␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ …»
BenGoldberg m: sub postfix<i> (Num $x) { i*$x }; say e**(π i) 01:53
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Zf5GwaSOy5␤Missing block␤at /tmp/Zf5GwaSOy5:1␤------> 3sub postfix7⏏5<i> (Num $x) { i*$x }; say e**(π i)␤ expecting any of:␤ new name to be defined␤»
BenGoldberg m: sub postfix:<i> (Num $x) { i*$x }; say e**(π i)
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XPp834IsQs␤Two terms in a row␤at /tmp/XPp834IsQs:1␤------> 3postfix:<i> (Num $x) { i*$x }; say e**(π7⏏5 i)␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤…»
disturbingly_rea Welp, that was apparently a can of worms ;) 01:54
BenGoldberg m: sub postfix:<i> { i*$^x }; say e**(π i)
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wqhzv3rQzY␤Two terms in a row␤at /tmp/wqhzv3rQzY:1␤------> 3sub postfix:<i> { i*$^x }; say e**(π7⏏5 i)␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
BenGoldberg m: sub postfix:<i> { i*$^x };
camelia ( no output )
disturbingly_rea Can you avoid the * sometimes then?
01:54 xpen left
disturbingly_rea m: say e**(iπ) 01:57
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Et_0MOYzKE␤Undeclared routine:␤ iπ used at line 1␤␤»
01:57 secwang left
BenGoldberg m: multi postfix:<i> {...}; multi postfix:<i> (Complex $x) { i*$x }; multi postfix:<i> (Numeric $x) { Complex.new(0,$x) }; 01:57
camelia ( no output )
BenGoldberg m: multi postfix:<i> {...}; multi postfix:<i> (Complex $x) { i*$x }; multi postfix:<i> (Numeric $x) { Complex.new(0,$x) }; say 3 i;
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VKlluz_J_g␤Two terms in a row␤at /tmp/VKlluz_J_g:1␤------> 3Numeric $x) { Complex.new(0,$x) }; say 37⏏5 i;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ …»
disturbingly_rea say e**(i*τ )
m: say e**(i*τ ) 01:58
camelia rakudo-moar 1bdb78: OUTPUT«1-2.44929359829471e-16i␤»
disturbingly_rea tau FTW
BenGoldberg m: say τ;
camelia rakudo-moar 1bdb78: OUTPUT«6.28318530717959␤»
ZoffixWin \o/ 01:59
AlexDaniel disturbingly_rea: I don't think that you can avoid it but you can also use ×
ZoffixWin m: say τ == ½*π
camelia rakudo-moar 1bdb78: OUTPUT«False␤»
disturbingly_rea oooh..... *tries it out*
ZoffixWin :(
disturbingly_rea m: 1 x 2 x 3 x 4 02:00
camelia rakudo-moar 1bdb78: OUTPUT«WARNINGS for /tmp/nobl6KW70c:␤Useless use of "x" in expression "x 3 x 4" in sink context (line 1)␤»
02:00 llfourn joined
ZoffixWin disturbingly_rea, that's not the right char 02:00
.u multiplication
yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
disturbingly_rea m: say 1 x 2 x 3 x 4
yoleaux U+228D MULTISET MULTIPLICATION [Sm] (⊍)
camelia rakudo-moar 1bdb78: OUTPUT«111111111111111111111111␤»
yoleaux U+2715 MULTIPLICATION X [So] (✕)
disturbingly_rea ahh...
ZoffixWin m: say 1 × 2 × 3 × 4
camelia rakudo-moar 1bdb78: OUTPUT«24␤»
AlexDaniel what was that?
disturbingly_rea gotcha
AlexDaniel aaa
ZoffixWin AlexDaniel, where? :)
disturbingly_rea m: 4 × 6
camelia rakudo-moar 1bdb78: OUTPUT«WARNINGS for /tmp/CeCm6gpvyt:␤Useless use of "×" in expression "4 × 6" in sink context (line 1)␤»
AlexDaniel x hidden there :D
disturbingly_rea etc
m: say 5 × 7 02:01
camelia rakudo-moar 1bdb78: OUTPUT«35␤»
02:01 Su-Shee_ joined
ZoffixWin m: my $input = '٣'; say $input + 42; 02:01
camelia rakudo-moar 1bdb78: OUTPUT«45␤»
AlexDaniel m: say ½ × τ == π
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
ZoffixWin m: say ٦1٥٠3 + ٤६੬៩ - ৭۹੧
camelia rakudo-moar 1bdb78: OUTPUT«65381␤»
disturbingly_rea m: say π == ½*τ
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
ZoffixWin AlexDaniel, ah, right >_< 02:02
disturbingly_rea \o/
so cool
ZoffixWin Yeah, nifty :P
AlexDaniel disturbingly_rea: and surely you can also use ÷ and ∞ :)
ZoffixWin This works too:
m: say 42²
camelia rakudo-moar 1bdb78: OUTPUT«1764␤»
AlexDaniel and superscripts, yeah
ZoffixWin m: say 42²²
camelia rakudo-moar 1bdb78: OUTPUT«514617308132852400700537649353457664␤»
disturbingly_rea m: say 1 / ∞
camelia rakudo-moar 1bdb78: OUTPUT«0␤»
disturbingly_rea bloody hell
ZoffixWin :)
BenGoldberg No special underflow?
BenGoldberg would expect a Failure object there. 02:03
ZoffixWin too
disturbingly_rea * is just super impressed
ZoffixWin But I think that was discussed before and it was decided returning a limit is more acceptable :)
disturbingly_rea, :D spread the word! :D 02:04
02:04 Su-Shee left
disturbingly_rea say (2 × ∞) / (3 × ∞) 02:04
m: say (2 × ∞) / (3 × ∞)
camelia rakudo-moar 1bdb78: OUTPUT«NaN␤»
disturbingly_rea ah well, can'[t have everything
will nonetheless be spreading all the words 02:05
ZoffixWin \o/
02:05 lizmat left
AlexDaniel disturbingly_rea: it's true though, isn't it? ∞/∞ = NaN, what else did you expect? 02:05
disturbingly_rea 2/3
AlexDaniel after all, one expression
llfourn m: say Perl, so Cool with Uni,Code 02:06
camelia rakudo-moar 1bdb78: OUTPUT«(Perl)False␤»
disturbingly_rea lol
llfourn m: say Perl, not so Cool without Uni,Code
camelia ( no output )
AlexDaniel llfourn: this is amazing
ZoffixWin disturbingly_rea, that expectation assumes ∞ can be treated as a number :P
grondilu it would be wrong if (2 × ∞) / (3 × ∞) was returning 2/3 02:07
because Inf/Inf is not 1
disturbingly_rea yeah but limits tho
grondilu since Inf is not Inf
ZoffixWin ∞ is not a number, so I'd think returning a NaN makes perfect sense
m: say ∞ === Inf
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
grondilu m: say Inf == Inf
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
disturbingly_rea you are correct,, because yeah
grondilu m: say Inf === Inf
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
grondilu ??
disturbingly_rea could come from anywhere
ZoffixWin wat?
grondilu I thought that was false 02:08
llfourn m: say Inf ~~ Real
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
ZoffixWin doesn't see why it would be, but doesn't know much about the subject
disturbingly_rea ∞ ~~ Num
m: say ∞ ~~ Num
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
ZoffixWin m: say (.1, .2 ... *) > (1, 2 ... *)
camelia rakudo-moar 1bdb78: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/Qc0njdw7Ox line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/Qc0njdw7Ox line 1␤␤»
ZoffixWin is disappointed that doesn't return a True :P 02:09
grondilu wasn't Inf !== Inf according to IEEE or something?
BenGoldberg You might be thinking of NaN.
grondilu oh, possible
BenGoldberg Is perl6's Inf supposed to be Aleph-0 or Aleph-1? ;) 02:10
grondilu seems wrong to me that Inf == Inf
disturbingly_rea m: say grep $_ %% 365, 1..∞
camelia rakudo-moar 1bdb78: OUTPUT«Use of uninitialized value of type Any in numeric context in block <unit> at /tmp/K2ExdRd5jD line 1␤Cannot use Bool as Matcher with 'grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/K2ExdRd5jD line 1␤␤Actually thrown at:␤…»
geekosaur answer the question of whether the cardinality of the reals is aleph-1 and then maybe someone can answer that :p
disturbingly_rea m: say grep {$_ %% 365}, 1..∞
camelia rakudo-moar 1bdb78: OUTPUT«(...)␤»
ZoffixWin m: say ℵ₀ == ∞
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ltowus89Dv␤Bogus postfix␤at /tmp/ltowus89Dv:1␤------> 3say ℵ7⏏5₀ == ∞␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statem…»
ZoffixWin hm
m: say ℵ == ∞ 02:11
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/96BQh5NXGj␤Preceding context expects a term, but found infix == instead␤at /tmp/96BQh5NXGj:1␤------> 3say ℵ ==7⏏5 ∞␤»
llfourn m: say Inf.defined
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
ZoffixWin could've swore there were alephs in the roast somewhere
bpmedley This is Rakudo version 2015.12-9-g1bdb784 built on MoarVM version 2015.12 <-- Woohoo
llfourn m: say Inf > Inf
camelia rakudo-moar 1bdb78: OUTPUT«False␤»
llfourn m: say Inf >= Inf
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
flussence there's ℵ₀ in there, but the test file also defines that
disturbingly_rea alephs is ambitious 02:12
geekosaur perl 6 is nothing if not ambitious :p
ZoffixWin Ah: github.com/perl6/roast/commit/1e61...68f64ddd8c
It's def'd
jdv79 hello. goodbye.
yoleaux 26 Dec 2015 20:36Z <lizmat> jdv79: not sure what ticket you mea
Hotkeys m: say ℵ₀ == ∞
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NanKPhsZyw␤Bogus postfix␤at /tmp/NanKPhsZyw:1␤------> 3say ℵ7⏏5₀ == ∞␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statem…»
disturbingly_rea m: say ℵ₀ > ℵ₁ 02:13
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lFHKR5TiCL␤Bogus postfix␤at /tmp/lFHKR5TiCL:1␤------> 3say ℵ7⏏5₀ > ℵ₁␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ stat…»
mst nine: that should be doable, except in the case where you can't it re-runs it once and writes it into the current repo, rather than redoing the entire precomp phase
jdv79 .tell lizmat the one on specs about s22
yoleaux jdv79: I'll pass your message to lizmat.
Hotkeys m: say א₀ == ∞
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wM9fYJLdV6␤Bogus postfix␤at /tmp/wM9fYJLdV6:1␤------> 3say א7⏏5₀ == ∞␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ stateme…»
02:13 xfq left
Hotkeys m: say א₀ 02:14
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eyxiIIxuTX␤Bogus postfix␤at /tmp/eyxiIIxuTX:1␤------> 3say א7⏏5₀␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement modi…»
Hotkeys hm
I thought that one was there
the right to left one
flussence pushed both approaches as separate branches
ZoffixWin m: sub postfix:<(¬‿¬)> ($) { say 'I see what you did there' }; '(¬‿¬)'(¬‿¬)(¬‿¬)(¬‿¬)
camelia rakudo-moar 1bdb78: OUTPUT«I see what you did there␤I see what you did there␤I see what you did there␤»
Hotkeys m: say א 02:15
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EnMdFr9Dl4␤Undeclared routine:␤ א used at line 1␤␤»
02:16 lustlife left, secwang joined, lustlife joined
disturbingly_rea m: my א = Inf; say א 02:16
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JOkc1aoMBN␤Malformed my (did you mean to declare a sigilless \א or $א?)␤at /tmp/JOkc1aoMBN:1␤------> 3my א7⏏5 = Inf; say א␤»
ZoffixWin m: sub term:<א> { ∞ }; say א == ∞
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
02:17 leont left
disturbingly_rea m: my \א= Inf; א.say 02:17
camelia rakudo-moar 1bdb78: OUTPUT«Inf␤»
Hotkeys m: sub term:<ℵ₀> { ∞ }; say ℵ₀ == ∞ 02:18
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
02:18 skyl4rk left
disturbingly_rea m: my \ℵ₀= Inf; my \ℵ₁ = 2**ℵ₀; say (ℵ₀ < ℵ₁) 02:19
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/77IYWqhnKm␤Term definition requires an initializer␤at /tmp/77IYWqhnKm:1␤------> 3my \ℵ7⏏5₀= Inf; my \ℵ₁ = 2**ℵ₀; say (ℵ₀ < ℵ₁)␤»
ZoffixWin m: sub term:<(✿◠‿◠)> { ∞ }; say (✿◠‿◠) == ∞
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
AlexDaniel .u א
yoleaux U+05D0 HEBREW LETTER ALEF [Lo] (א)
Hotkeys disturbingly_rea: bad
ZoffixWin disturbingly_rea, I don't think you can use subscript numbers like that
letters work though IIRC 02:20
autarch is there any way to figure out why a piece of p6 code is using a lot of memory?
ZoffixWin Does --profile reports mem usage?
disturbingly_rea m: my \a1 = Inf; my \a2 = 2**a1; say (a1 < a2) 02:21
autarch looks
camelia rakudo-moar 1bdb78: OUTPUT«False␤»
02:21 Sm4rkey joined
disturbingly_rea so,,, no Cantorian heirarchy, then? 02:22
ZoffixWin m: m: my \ℵₐ= Inf; my \ℵₓ = 2**ℵₐ; say (ℵₐ < ℵₓ)
camelia rakudo-moar 1bdb78: OUTPUT«False␤»
disturbingly_rea dunno what I was expecting here :P
Hotkeys well for one
isn't that dependent on whether the CH is true?
:p
disturbingly_rea nah, 2**n > n
every time
Hotkeys okay but
Inf isn't a regular number
disturbingly_rea yeh, but it's just, yknow, true. x**n > n if x > 1 02:23
Hotkeys let n = 0
ZoffixWin m: say ∞ > 1
camelia rakudo-moar 1bdb78: OUTPUT«True␤»
Hotkeys wait
still true
I'm dumb
AlexDaniel disturbingly_rea: infinity is a concept 02:24
Hotkeys ++
disturbingly_rea AlexDaniel: Infinities are a lot of concepts
transfinite induction, my man
anyway, IDK what I'm complaining about. Its handling of Infs is still better than all dem other langs 02:25
02:26 FROGGS__ joined
autarch my new version of Pod::To::HTML seems to eat a lot of memory for some reaosn 02:26
and burn a lot of CPU 02:27
disturbingly_rea Hotkeys: good point, then... let n>1 too ;)
02:27 pierre-vigier joined
herby_ I'm reading a perl6 intro tutorial and the section is talking about classes. in the example, a method called ranking() is defined: %!player-points.pairs.sort({ -.value }); 02:28
how does .pairs.sort({ -.value }) work?
disturbingly_rea Hoykeys: also typod anyway, coz should be x**n > x if x > 1 && n > 1 02:29
Hotkeys I assume it takes each key-value pair and then sorts by value
herby_ the -.value throws me off
haven't seen "-." used yet
Hotkeys I haven't either
llfourn autarch: I made relatively small changes to it a week ago -- I didn't notice a difference compiling the docs
Hotkeys but seems like that's what it does
autarch I think that's -1 * .value, maybe
Hotkeys oh true
maybe
herby_ yeah, it works like that in the example, just didnt really understand how it worked
disturbingly_rea I give up I can't reember. Too much christmas
autarch llfourn: I've totally rewritten Pod::To::HTML
02:30 FROGGS_ left
Hotkeys herby_: link? 02:30
autarch github.com/perl6/Pod-To-HTML/tree/...treewalker
llfourn autarch: ah ok
disturbingly_rea Merry seasonally-specific salutations to y'all. May your calendars reflect that this was a time of year for giving and, yea, also for receiving 02:31
farewell
flussence gee thanks github, timed out when I tried to submit a PR and ate my cover letter too :(
02:31 pierre-vigier left, disturbingly_rea left
herby_ Hotkeys: www.jnthn.net/papers/2015-spw-perl6-course.pdf 02:31
flussence oh wait, browser saved it. phew
autarch heh, and now my browser is not loving the 84mb profile file 02:33
AlexDaniel yeah, although it took like 5 minutes to write it now I'm wating for the whole thing to set up
llfourn ;_; the profiler
02:33 mrPoopyButthole_ joined 02:34 cognominal joined
llfourn autarch: on the topic of pod have you seen github.com/ShimmerFairy/SUPERNOVA 02:34
flussence if anyone's got more time than sense, a static webpage generator for profile json would be a nice project :)
llfourn (I only found out about ShimmerFairy++'s work yesterday)
ZoffixWin herby_, it's -($_.value)
m: say ^10 .pairs.map: {-.value} 02:35
camelia rakudo-moar 1bdb78: OUTPUT«(0 -1 -2 -3 -4 -5 -6 -7 -8 -9)␤»
Hotkeys I'm not a fan of condensing that to -.value 02:36
might just be me
mrPoopyButthole_ should I have to nuke moar every time I want to bump it in rakudobrew, or is there a smarter way?
rakudobrew build moar doesn't bump
02:36 vendethiel left
ZoffixWin But it's not a special case tho. .foo is a method call on $_... and in this case, that value has a - for it 02:36
herby_ Zoffix, thanks!
llfourn mrPoopyButthole_: it does for me :)
Hotkeys mrPoopyButthole_: llfourn; me too 02:37
mrPoopyButthole_ :(
flussence probably because github ain't working today
mrPoopyButthole_ welp gremlins then
doesn't for me. I'll try in a VM
ZoffixWin mrPoopyButthole_, you probably should nuke starting today, because there were a lot of precomp stuff changes (depending on how old your rakudobrew is). Going into the future, I don't think you need to nuke anything
autarch chrome keeps timing out on the profile - even for a very small one
ZoffixWin Use lynx! :D
jk
Yeah, the generated profile is kinda meh 02:38
I'd think a PDF or something would be more usable
mrPoopyButthole_ thanks y'all for speedy replies
autarch firefix seems slightly better
yeah, this doesn't seem very usable as is - I like what nytprof does for p5 - it generates lots of HTML pages instead of relying on the browser to parse many megs of data
ZoffixWin yeah 02:39
mst nytprof killing my browser is pretty common actually
autarch huh, never had that happen 02:41
02:41 prevost left
flussence eh, I've used it on some pretty crusty catalyst code and haven't had half the problems perl6 --profile gives me... 02:42
02:43 kid51 left, ellybelly joined, mue joined 02:44 mempko joined, cognominal left 02:45 bucketmelia joined, ilbot3 left
AlexDaniel m: bitbucket.org/snippets/bpmedley/rKoda 02:45
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YDGbdkhM3v␤Confused␤at /tmp/YDGbdkhM3v:1␤------> 3https:7⏏5//bitbucket.org/snippets/bpmedley/rKoda␤ expecting any of:␤ colon pair␤»
bucketmelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤[vicuna llama]␤»
02:45 bucketmelia left
AlexDaniel yeah 02:45
ZoffixWin \o/
autarch llfourn: the SUPERNOVA stuff looks good - it would've made my Pod::To::HTML changes much easier
AlexDaniel So I'll commit that in a few minutes, do I have to notify somebody to update camelia? 02:46
was it TimToady?
autarch anyway, so the profiler isn't really useful for this problem - anyone have any suggestions on debugging memory usage and perf in general?
ZoffixWin AlexDaniel, there are secrut commands you can issue to camelia to pull and restart
Top secret! And they aren't listed in the source or anything... 02:47
XD
02:47 ilbot3 joined
AlexDaniel right 02:47
I see
great then
02:48 herby_ left
mst ./w 260 02:49
02:49 billN1VUX left
llfourn autarch: I think it will be the best way to fix all those pod bugs as well :) 02:50
ZoffixWin m: await IO::Socket::Async.connect( 'irc.freenode.net', 6667 ).then({given .result {
.say("NICK NotCamelia\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Good job, AlexDaniel\n");});
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GP46iuKMfN␤Missing block␤at /tmp/GP46iuKMfN:1␤------> 3enode.net', 6667 ).then({given .result {7⏏5<EOL>␤»
ZoffixWin crap
autarch llfourn: yes, seems like it
ZoffixWin m: await IO::Socket::Async.connect( 'irc.freenode.net', 6667 ).then({given .result {
.say("NICK NotCamelia\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Good job, AlexDaniel\n");});
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CFc26TpahV␤Missing block␤at /tmp/CFc26TpahV:1␤------> 3enode.net', 6667 ).then({given .result {7⏏5<EOL>␤»
ZoffixWin wtf :/ my client is glitched
02:50 ZoffixWin left, atweiden joined 02:51 Sm4rkey left, ZoffixWin joined, ZoffixWin left, ZoffixWin joined
ZoffixWin m: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK NotCamelia\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Good job, AlexDaniel\n");}}) 02:52
camelia ( no output )
ZoffixWin :(
m: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK NotCamelia\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Good job, AlexDaniel\n"); react {whenever $!sock.Supply {}}}}) 02:53
camelia rakudo-moar 1bdb78: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MEnWOZUfuC␤Variable $!sock used where no 'self' is available␤at /tmp/MEnWOZUfuC:1␤------> 3, AlexDaniel\n"); react {whenever $!sock7⏏5.Supply {}}}})␤»
02:53 woodruffw left
jdv79 ZoffixWin: wut r u doin bruh? 02:53
ZoffixWin m: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK NotCamelia\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Good job, AlexDaniel\n"); react {whenever .Supply {}}}})
02:53 NotCamelia joined
NotCamelia Good job, AlexDaniel 02:53
ZoffixWin That ^ :)
\o/
jdv79 ha
02:53 NotCamelia left
camelia rakudo-moar 1bdb78: OUTPUT«(timeout)» 02:53
AlexDaniel dammit. The worst thing is when you want to contribute something but you can't understand if the indentation is 2 spaces, 4 spaces or some other weirdness with tabs 02:55
which is exactly what happens in github.com/perl6/evalbot/blob/mast...xecuter.pm
that should be 4 spaces according to other lines… 02:56
02:56 molaf_ joined
flussence apologises to anyone on the rakudo repo who receives an email per github pull request 02:57
02:57 woodruffw joined, billN1VUX joined
AlexDaniel o/ 02:57
03:00 molaf left, Su-Shee joined
dlynes Is it normal to see the odd error and/or warning about missing or non-existent paths when building moar? 03:02
flussence complaining about not finding moar at the start of the process is normal, afaik 03:03
dlynes flussence: and nqp?
03:03 Su-Shee_ left
flussence as long as it doesn't die with an error, it's probably not important :) 03:04
probably rough edges in handling with/without --gen-nqp and --gen-moar
dlynes flussence: ok, thanks
03:04 billN1VUX left
atweiden flussence: how would you use RAKUDO_PRECOMP_PREFIX to install regular modules? 03:09
(thx again for github.com/rakudo/rakudo/pull/654)
03:10 billN1VUX joined
flussence mktemp -d, call CUR::*.install like install-core-dist.pl does, the modules should end up there. But I dunno, it might not be needed in practice with the first patch 03:10
atweiden e.g. tried setting RAKUDO_PRECOMP_PREFIX="$pkgdir/usr/share/perl6/precomp" to install JSON::Tiny 03:11
but this makes rakudo look for Test and everything in that dir instead of in system /usr/share/perl6
flussence yeah, it's kind of a nuclear footgun now that I'm a bit clearer on what it's doing... hm 03:12
03:14 Zero_Dogg left, Zero_Dogg joined, Zero_Dogg left, Zero_Dogg joined
atweiden rakudo make DESTDIR install, and panda for modules seems to work well enough for now 03:14
dalek albot: b6ecb65 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/EvalbotExecuter.pm:
Allow Bitbucket snippets

The regex is not very restrictive, but it's just like other regexes in the code.
03:15
albot: 7fbc72c | (Aleks-Daniel Jakimenko-Aleksejev)++ | / (3 files):
Fix indentation

Just a quick attempt to get everything to use one indentation style. It seems like most of the code is using 4 spaces without tabs, so that's what I did.
03:16 camelia left, noganex_ joined, camelia joined
AlexDaniel m: bitbucket.org/snippets/bpmedley/rKoda 03:16
hmmm 03:17
m: say 'hello'
03:18 ChanServ sets mode: +v camelia
camelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤[vicuna llama]␤» 03:18
rakudo-moar 1bdb78: OUTPUT«hello␤»
AlexDaniel oh
m: bitbucket.org/snippets/bpmedley/rKoda
camelia rakudo-moar 1bdb78: OUTPUT«[vicuna llama]␤[vicuna llama]␤»
AlexDaniel okay
camelia: good butterfly
03:18 xpen joined
AlexDaniel It seems like there are other possible link patterns, but I think that this one is probably enough for now 03:19
03:19 noganex left 03:22 mempko left
BenGoldberg Isn't that supposed to be spelled vicuña? 03:22
AlexDaniel I don't know. In fact, I don't see any way to fork it on bitbucket :D 03:23
BenGoldberg And this is why people use gists ;)
flussence is currently watching a package-manager-managed `make test` *actually working*... nearly there... 03:27
AlexDaniel oh well, I think that we have to be a bit more inclusive… 03:28
flussence I thought about swapping some of my ecosystem modules to gitlab URLs just to be unreasonable, but I'll put it off until things quieten down :) 03:30
AlexDaniel flussence: that's what I am doing right now – gitlab snippets
03:39 kanishka left
flussence ==> Installing Linenoise 03:41
==> Successfully installed Linenoise
~ $
...system-installed rakudo, user-installed panda. everything works. 03:42
03:42 AndyDee left
flussence only took 11 hours :D 03:42
dalek albot: 1d97cd8 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/EvalbotExecuter.pm:
Allow GitLab snippets

Let's be more inclusive!
03:43
03:43 camelia left, camelia joined
AlexDaniel m: say ‘wake up!’ 03:43
03:44 ChanServ sets mode: +v camelia
camelia rakudo-moar 1bdb78: OUTPUT«wake up!␤» 03:44
03:44 vendethiel joined 03:45 joy joined
AlexDaniel m: gitlab.com/snippets/12097 03:45
camelia rakudo-moar 1bdb78: OUTPUT«hello world␤»
AlexDaniel m: gitlab.com/snippets/1209700
camelia rakudo-moar 1bdb78: OUTPUT«snippet not found»
03:46 blub joined 03:54 yqt left, Milijus left 03:55 Milijus joined 04:00 vendethiel left
flussence clears throat 04:07
Rakudo 2015.12 is now available on Gentoo Linux: gitlab.com/flussence/perl6-overlay
AlexDaniel great! 04:09
04:10 xpen left
ZoffixWin \o/ 04:10
04:11 itaipu left, grondilu left 04:13 grondilu joined 04:16 pierrot_ is now known as pierrot
flussence pings bonsaikitten: one fully functional and mostly polished rakudo-2015.12.ebuild above if you're interested. Has a src_test and everything. :) 04:17
'night, all
04:24 dududuedu left 04:32 araujo left, araujo joined, billN1VUX left 04:33 billN1VUX joined 04:35 araujo left, araujo joined 04:37 billN1VUX left 04:48 xinming joined 04:49 upscent joined, upscent left 04:51 xinming_ left 04:53 talexb joined
talexb Just trying .. git clone github.com/tadzik/rakudobrew ~/.rakudobrew .. and getting 'RPC failed' and later, 'gnutls_handshake() failed: A TLS packet with unexpected length was received.' .. 04:54
llfourn talexb: I think github is goofing around atm 04:55
talexb That's from the page at perl6.org/downloads/ .. maybe I'll try again tomorrow.
llfourn, Ah .. OK, thanks. :)
04:55 kaare_ joined
mst talexb: that's a wtf to me 04:55
talexb: gnutls is interesting, means not an openssl lib 04:56
llfourn It actually works for me :\
mst talexb: run it again, if it fails a third time, it's probably not #perl6's bug but I'd love to see an strace -f just for personal curiosity
talexb mst, Sure, trying now ..
mst talexb: note: this is probably github being weird, I'm just curious anyway 04:57
talexb Well, that was anti-climactic .. it finished without errors.
mst tada
"github being weird" then :D
talexb "Crap, mst's watching .. no more foolin' around!!" 04:58
llfourn there are a bunch of ppl complaining about gh today on #perl6 irclog.perlgeek.de/perl6/2015-12-27 04:59
04:59 rubes joined
AlexDaniel llfourn: gh? 05:00
llfourn AlexDaniel: the hub of git!
AlexDaniel ah, github
talexb loves maxing out his Interwebs connection by pulling down all of github .. 05:01
05:01 LambdaCat joined
AlexDaniel nothing wrong here though: status.github.com/ 05:01
mst AlexDaniel: restartable SSL errors aren't really a status issue 05:02
05:06 rubes left 05:08 joy left 05:11 lnx left, smash left 05:12 Jonis_ left, jnthn left, Rotwang left, BenGoldberg left, stmuk left 05:14 labster left, AndyDee joined
AlexDaniel I wonder how relevant this is glyphic.s3.amazonaws.com/ozone/mark...300dpi.jpg 05:15
05:15 secwang left 05:17 secwang joined 05:22 khw left, haircode joined
[Coke] AlexDaniel: it's based on an older version. 05:22
05:23 _nadim left 05:25 pseydtonne joined 05:32 rubes joined, Milijus left 05:34 integral left, rubes left, integral joined, integral left, integral joined
grondilu m: say combinations(10000, 10).elems 05:34
camelia rakudo-moar 1bdb78: OUTPUT«2743355077591282538231819720749000␤»
grondilu m: say +combinations(10000, 10)
camelia rakudo-moar 1bdb78: OUTPUT«(timeout)»
grondilu slightly LTA that &prefix:<+> does not fallback to .count-only here 05:35
05:35 nige1 joined 05:36 secwang left 05:38 labster joined 05:43 mempko joined 05:44 rubes joined 05:45 cognominal joined
pseydtonne Hello? 05:46
gfldex m: say "ohai pseydtonne!";
camelia rakudo-moar 1bdb78: OUTPUT«ohai pseydtonne!␤»
pseydtonne Ooh, that's fun! 05:47
Maybe I should spend some time rewriting my test Perl5 script in Perl6.
Has anyone compiled the Xmas Perl6 for a Win64 box yet? 05:49
gfldex not yet, that will happen next year 05:50
pseydtonne Grrrr. Oh well. Guess I'll have it on my Linux VM guests and my Raspberries before I see it on my Win7 box. 05:51
I've been using the Sept Raduko build because it has an MSI.
m: my @animals = ['camel', 'vicu􏿽xF1a', 'llama']; say "The zoo contains " ~ @animals.elems ~ " animals.";
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals.␤»
05:51 skids joined
gfldex m: my @animals = ['camel', 'vicuña', 'llama']; say "The zoo contains " ~ +@animals ~ " animals."; 05:52
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals.␤»
05:52 atweiden left
pseydtonne Why didn't that return a 2? 05:52
labster m: my @animals = ['camel', 'vicuña', 'llama']; say "The zoo contains { +@animals } animals."; 05:53
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals.␤»
gfldex +@animals is @animals.Num, what in turn is @animals.elems
a3r0 m: my @animals = ['camel', 'vicuña', 'llama']; say @animals.end; 05:56
camelia rakudo-moar 1bdb78: OUTPUT«2␤»
pseydtonne Neat! Thanks.
I haven't had a lot of time to play yet. I was busy learning a certain other scripting language for work when I saw a link to perl6intro.com on Reddit. 05:57
05:58 mrPoopyButthole_ left
pseydtonne I went to a Boston.pm mtg about Perl6 back in... I think it was 2001. 05:58
Poor mrPoopyButthole 05:59
I'm a completely different person than I was when this began, but that's for the better. 06:00
MilkmanDan pseydtonne: Do you have Cygwin on your box? 06:02
pseydtonne Not this one, but I have cmder. 06:03
MilkmanDan Ah. Not heard of that before.
pseydtonne I got it for the tabbed cmd shells.
It has a lot more.
cmder.net 06:04
06:04 secwang joined
pseydtonne Is that numberwang? 06:04
06:07 xpen joined
grondilu m: my @animals = <camel vicuña llama>; say "The zoo contains @animals.elems animals" 06:08
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains @animals.elems animals␤»
grondilu thought that would interpolate
though with hindsight I see why it doesn't 06:09
06:09 espadrine left 06:12 xpen left
AlexDaniel m: my @animals = <camel vicuña llama>; say "The zoo contains {@animals.elems} animals" 06:12
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals␤»
AlexDaniel hmm 06:13
m: my $animals = <camel vicuña llama>; say "The zoo contains {$animals.elems} animals"
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals␤»
AlexDaniel hehe
06:16 secwang left
b2gills m: my @animals = <camel vicuña llama>; say "The zoo contains @animals.elems() animals" 06:25
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals␤»
06:28 pierre-vigier joined 06:30 secwang joined
gfldex m: my @animals := ['camel', 'vicuña', 'llama'] but role { method Str () {+self} }; say "The zoo contains " ~ @animals ~ " animals."; 06:31
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains 3 animals.␤»
gfldex m: my @animals = ['camel', 'vicuña', 'llama'] but role { method Str () {+self} }; say "The zoo contains " ~ @animals ~ " animals."; 06:32
camelia rakudo-moar 1bdb78: OUTPUT«The zoo contains camel vicuña llama animals.␤»
gfldex should anon roles mixins into @-sigiled containers require binding?
06:33 pierre-vigier left 06:40 CIAvash joined
TimToady safely home 06:47
06:48 FROGGS__ left
gfldex TimToady: if you want to you can give me some of your winter. We had +15°C today. 06:50
TimToady here it's about 3℃ 06:52
06:54 secwang left 06:55 xfix joined
AlexDaniel eh, it will be below 0°C for the next few days. Exactly 0°C right now 06:55
.oO( “Be careful when cycling!” )
06:56
pseydtonne ice freezes on the bridges and overpasses before it does on land roads. 06:57
06:57 secwang joined 07:03 AndyDee left 07:04 haircode left 07:05 secwang left 07:12 pseydtonne left 07:13 myu left 07:18 rcy joined, hiinn joined 07:19 haircode joined, hiinn left 07:20 uiil joined 07:21 uiil left 07:22 yuipo joined, yuipo left, Zero_Dogg left
LambdaCat hi, i am from china , hangzhou ! 07:22
07:23 Zero_Dogg joined 07:27 cognominal left
ZoffixWin Hello \o 07:27
Ni how ma
07:28 LambdaCat_ joined
ZoffixWin m: sub 您好 { say "您好" }; 您好 07:28
camelia rakudo-moar 1bdb78: OUTPUT«您好␤»
TimToady I'm fine; I finally broke out the port I was saving from the Braga conference 10 years ago, which makes it 21-year-old port...old enough to drink. :) 07:29
07:29 xfix_ joined
ZoffixWin :P 07:29
07:31 xfix left, LambdaCat_ left 07:33 integral left
AlexDaniel m: { say ‘one’; CATCH { “exception: $_” }; die ‘hello world’ } 07:34
camelia rakudo-moar 1bdb78: OUTPUT«one␤hello world␤ in block <unit> at /tmp/dUikkaxwgr line 1␤␤»
AlexDaniel m: { say ‘one’; die ‘hello world’; CATCH { “exception: $_” }; }
camelia rakudo-moar 1bdb78: OUTPUT«one␤hello world␤ in block <unit> at /tmp/qLrd6bdx4_ line 1␤␤»
07:34 integral joined 07:35 nsh_ joined
AlexDaniel m: { say ‘one’; die ‘hello world’; CATCH { say “exception: $_” }; } 07:35
camelia rakudo-moar 1bdb78: OUTPUT«one␤exception: hello world␤hello world␤ in block <unit> at /tmp/ClNyYWQAya line 1␤␤»
AlexDaniel m: { say ‘one’; CATCH { say “exception: $_” }; die ‘hello world’ }
camelia rakudo-moar 1bdb78: OUTPUT«one␤exception: hello world␤hello world␤ in block <unit> at /tmp/w2R32i1SGt line 1␤␤»
07:37 pierre-vigier joined 07:40 nsh_ left 07:48 xinming_ joined 07:51 aindilis left, xinming left 07:53 xinming_ left 07:54 xinming joined, integral left, integral joined, integral left, integral joined 07:56 rubes left 07:57 nige1 left 07:58 pierre-vigier left 07:59 pierre-vigier joined, xpen joined 08:01 dlynes left 08:04 skids left 08:05 xpen left, xpen joined 08:07 domidumont joined 08:08 xpen_ joined 08:10 Tonik joined 08:11 xinming_ joined, RabidGravy joined, lnx joined, smash joined 08:12 xpen left, jnthn joined, Jonis joined, Rotwang joined, stmuk joined, domidumont left 08:14 domidumont joined, nige1 joined, xinming left 08:16 Rotwang left
RabidGravy morning 08:16
08:16 darutoko joined, smash left, stmuk left 08:17 Jonis left, jnthn left, lnx left
ZoffixWin is it already?\ 08:19
08:19 xinming joined 08:20 integral left
RabidGravy well it is here, much to my surprise 08:21
08:22 xinming_ left 08:24 ultrmaozg joined 08:25 pierre-vigier left, ultrmaozg left, pierre-vigier joined
AlexDaniel ZoffixWin: well, timezones are from -12 to +14. Which basically means that for some people who have 20:00 locally there are other people who see 08:00 morning of this day and other people who have 08:00 of the next day all at the same time… 08:25
what is this country that has +14 by the way 08:26
“Kiribati” 08:27
08:27 tef left
RabidGravy yeah, I guess there aren't that many people there into Perl 6 08:28
AlexDaniel again, what was the reason to have timezones? Besides pretending that the clock is somehow associated with the sun.
08:30 _nadim joined
ZoffixWin we should have just one time.... people for whom 12 noon is the middle of the night should just deal with it :P 08:30
RabidGravy it was so that they could have timetables for things that aren't complicated by "sub-dial time" 08:31
sun dial
ZoffixWin Sun dial? What is it, the middle ages? 08:32
RabidGravy definitely in the UK it was the railway companies that led the call for "all one timezone"
ZoffixWin, no but it was used as an approximation for setting clocks 08:33
(in fact there were reasonably accurate clocks in the middle ages)
08:34 CoconutCrab joined
bonsaikitten flussence: sounds good. Once I'm back to a proper internet connection I'll take care of it 08:35
bonsaikitten does some obscene gestures at O2
AlexDaniel and while we are at it, perhaps we should also get rid of sexagesimal system and switch to decimal time…
RabidGravy didn't Napoleon try that? 08:36
which didn't go so well in the long term
AlexDaniel was it Napoleon? 08:37
08:38 mempko left
AlexDaniel oh, and while we are at it… perhaps we should also fix the calendar… 08:40
08:40 pierre-vigier left
thomax netanel rubin will held another perl jam speak tomorrow at the 32c3. i guess he will not mention p6 but will rant against perl in general and "detail" 08:43
RabidGravy oh well 08:46
I think I could rant about every language I have used in the last thrirty years 08:47
thomax here is his talk from last year: www.youtube.com/watch?v=gweDBQ-9LuQ 08:48
RabidGravy you can't fool me like that ;-)
08:49 karl_ joined
thomax :-) 08:49
08:49 karl_ left 08:50 matematikaadit joined 08:54 LambdaCat left
El_Che thomax: not that guy again 09:07
09:08 smash joined, Jonis joined, jnthn joined, stmuk joined, xfix_ is now known as xfix 09:09 Rotwang joined 09:10 integral joined, integral left, integral joined, lnx joined
thomax yes, he again. tomorrow 20:30 in a live stream at 32c3 09:11
09:13 dotness joined, raiph joined 09:17 vividsnow left 09:18 rindolf joined, pierre-vigier joined
masak good antenoon, #perl6 09:19
yoleaux 26 Dec 2015 18:31Z <andreoss> masak: I've made some PRs for 007. You might want to consider them.
masak andreoss++
09:25 rurban joined 09:30 deniska joined, pdcawley left
AlexDaniel .tell tadzik well, if you are not going to fix the issue with POST params then consider giving me push access so that I can do it. Same nickname on github. Basically I will just merge the pull request and apply my 1-character patch, that should make the tests green as well (if not, then I'll try to look into it, but anyway it will fix the issue with POST params…) 09:32
yoleaux AlexDaniel: I'll pass your message to tadzik.
09:33 lizmat joined
dalek kudo/nom: c6d759c | (Anthony Parsons)++ | docs/running.pod:
Rewrite and complete the manpage's env var list

This includes everything I could find with an `ack 'ENV<' src/` command. Descriptions have been expanded on, expected datatypes are shown, and items are now broken up into categories.
09:34
kudo/nom: 600f58b | lizmat++ | docs/running.pod:
Merge pull request #653 from flussence/doc-env-update

Rewrite and complete the manpage's env var list
09:36 pierre-vigier left 09:38 X-Scale left
thomax is there a way to assign the stdout of a program to a var like $bla=`ps`; or do i need to open a pipe? 09:39
masak thomax: qx[ps]
AlexDaniel ehhhh, not really unless you really need shell 09:40
thomax: my $output = run(‘cmd’, ‘arg1’, ‘arg2’, :out).out.slurp-rest
masak oh, this discussion again...
AlexDaniel masak: yeah, too bad it was not improved. Whatever 09:41
masak yeah, the people who favor pragmatic solutions and getting things done with actual code won out. bummer. 09:42
AlexDaniel thomax: you can still use shell though, if you understand the consequences
thomax i thought one of the paradigms was, perl X is a glue language :-( 09:43
dalek kudo/nom: fb00ed3 | (Anthony Parsons)++ | tools/build/ (3 files):
Fix `make install` when nqp is distro-installed

During the installation process, tools/build/install-core-dist.pl is called to precompile the bundled non-CORE.setting libraries such as Test.pm. The way this 4fe18ce | (Anthony Parsons)++ | / (2 files): Add RAKUDO_PRECOMP_PREFIX env var
As suggested by nine++, with some name tweaking
09:43 dalek left
masak thomax: it *is*. go ahead and use qx[ps] 09:43
09:43 dalek joined, ChanServ sets mode: +v dalek
thomax masak: let me try 09:43
kudo/nom: f71f962 | lizmat++ | / (2 files):
Merge pull request #655 from flussence/install-fix-v2

Add an env var to override precompilation paths wholesale
thomax masak: right, thats nice! but the backquote thing was a bit more intuitive. like most of p6 seems to be more indirect. why use square brackets with qx (qx may mean quote x (x = shell)??) 09:46
AlexDaniel thomax: you can use any brackets 09:47
thomax: try 􏿽xE2􏿽x8C􏿽xA9􏿽xE2􏿽x8C􏿽xAA :) 09:48
thomax well, AlexDaniel, i can even use qx`ps` as i tried now.
thats easier for me.
09:48 _nadim left
AlexDaniel thomax: qx existed in Perl 5 too 09:49
thomax never needed it.
ty 09:52
09:53 Begi joined 09:55 pmurias joined
RabidGravy really, really, really don't know why this gdbm binding is segfaulting, I can see *where* (in the hash function) but just don't know why it is getting in the state it is 09:56
09:57 pierre-vigier joined 09:58 brrt joined
masak thomax: the backquotes are a bit too valuable to mean just qx in Perl 6. they've been stolen away to serve any user-defined quoting purpose instead. 10:01
thomax: also, I don't know about "intuitive". as a counterargument to that, in Python, the backticks mean repr() 10:02
thomax masak: but they work well with qx
masak yes, because *any* delimiters work well with qx :) 10:04
anyway, if you feel they look nice with qx, go ahead and use them
thomax yepp, best use for qx is backticks :-) 10:05
masak might be good to know though that qx`...` doesn't give you variable interpolation (like `` does in Perl 5)
for that, you'd need qqx`...`
lizmat computer: messages
yoleaux 02:13Z <jdv79> lizmat: the one on specs about s22
lizmat .tell jdv79 nothing happened in that area afaik
yoleaux lizmat: I'll pass your message to jdv79.
AlexDaniel thomax: yeah, but in that case you might wonder how could you pass the data so that it does not blow up 10:06
10:08 DrForr left, molaf_ left
AlexDaniel right now there is no way to do that with qqx, by the way. But you can come up with strict rules for your data (e.g. only numbers allowed). Or think about better options… 10:09
[Tux] csv-ip5xs 50000 19.112 18.993 10:13
csv-ip5xsio 50000 18.235 18.117
csv-ip5pp 50000 21.305 21.187
test 50000 25.142 25.024
test-t 50000 14.289 14.171
csv-parser 50000 51.503 51.385
lizmat Don't think anybody posted this here yet: blogs.perl.org/users/damian_conway/...lives.html 10:14
[Tux] with the three Inline::Perl5 times this time: note that pure-perl6 is faster than Text::CSV_XS with Inline::Perl5
10:14 raiph left
RabidGravy I'm not entirely surprised, but good job :) 10:15
10:15 spider-mario joined
timotimo the ip5 times are going to change quite a bit once the guts behind NativeCall get rewritten :) 10:17
also, hi #perl6
[Tux] Damian++
10:18 dotness left
[Tux] I wholeheartedly agree 10:18
10:19 DrForr joined 10:21 pierre-vigier left
dalek kudo/nom: 98966bf | (Stefan Seifert)++ | / (2 files):
Fix confusion about what $prefix does

Renamed RAKUDO_PRECOMP_PREFIX to the originally suggested RAKUDO_PREFIX, because it does _not_ affect only precompilation, but more importantly module loading itself.
10:21
10:21 pierre-vigier joined 10:22 adhoc left
nine .tell flussence github.com/rakudo/rakudo/commit/98966bf157 10:22
yoleaux nine: I'll pass your message to flussence.
10:22 vendethiel joined 10:23 Rinnve joined
brrt hi #perl6 10:23
oh, cool
masak hi, brrt
timotimo oh hey brrt
timotimo BBIAB
brrt yes, we're going to JIT the JIT out of nativecall... one of them days 10:24
hi masak, timotiom
timotimo
10:24 Rinnve left
nine masak: we now have to use MONKEY-SEE-NO-EVAL just to use EVAL, but still propagate the much more dangerous because easier to get wrong qx[]. I'm firmly with AlexDaniel on that one. 10:24
dalek kudo/nom: 7e106c5 | lizmat++ | src/core/Date (2 files):
Make sure we only allow Int amounts (for now)
10:24 adhoc joined
AlexDaniel nine: exactly 10:25
m: EVAL 'test'
camelia rakudo-moar f71f96: OUTPUT«5===SORRY!5=== Error while compiling /home/camelia/EVAL_0␤Undeclared routine:␤ test used at line 1␤␤»
AlexDaniel hmmm wanted to look at that awesome error message 10:27
m: EVAL(5)
camelia rakudo-moar f71f96: OUTPUT«5===SORRY!5=== Error while compiling /tmp/SrzcvadaRi␤EVAL is a very dangerous function!!! (use MONKEY-SEE-NO-EVAL to override,␤but only if you're VERY sure your data contains no injection attacks)␤at /tmp/SrzcvadaRi:1␤------> 3EVAL(5)7⏏5<E…»
AlexDaniel there it is
masak nine: I can see the reasons behind the objects, sure. what I haven't seen is a better (but still attractive/usable/simple) alternative. 10:36
10:36 xpen_ left
masak & 10:36
nine masak: yes. My feeling says that we were actually quite close to a good suggestion, but time constraints interfered :/
10:38 DrForr left 10:42 pierre-vigier left
llfourn m: sub is looser { } 10:43
camelia rakudo-moar 7e106c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MJ1SjWZRkd␤Missing block␤at /tmp/MJ1SjWZRkd:1␤------> 3sub is7⏏5 looser { }␤ expecting any of:␤ new name to be defined␤»
llfourn m: sub () is looser { } 10:44
camelia rakudo-moar 7e106c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mS_fHuvWPn␤Can't use unknown trait 'is looser' in a sub declaration.␤at /tmp/mS_fHuvWPn:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED i…»
llfourn so is looser is broken?
dalek kudo/nom: 9441bb2 | lizmat++ | src/core/Date.pm:
Remove var we don't need anymore
10:45
lizmat m: sub a is looser {} 10:46
camelia rakudo-moar 7e106c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/dyKjMCb7xA␤Can't use unknown trait 'is looser' in a sub declaration.␤at /tmp/dyKjMCb7xA:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED i…»
llfourn 'is looser' is actually in that error message which is a bit LTA :\ 10:47
lizmat m: sub a is looser(infix:<+>) {}
camelia rakudo-moar 7e106c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4MtREU_vCv␤Can't use unknown trait 'is looser' in a sub declaration.␤at /tmp/4MtREU_vCv:1␤ expecting any of:␤ rw raw hidden-from-backtrace hidden-from-USAGE␤ pure default DEPRECATED i…»
lizmat llfourn: that just means it's not finding the correct MMD candidate 10:48
llfourn: I suggest you rakudobug it
llfourn lizmat: okie dokes
lizmat m: sub a is looser(&infix:<+>) {}
camelia ( no output )
llfourn lizmat: so I'll rakudobug it as an LTA error? 10:49
lizmat well, yes, because apparently if you give it a Callable operator, it does work
m: sub is looser(&infix:<+>) {} 10:50
camelia rakudo-moar 7e106c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LBYKKaljtL␤Missing block␤at /tmp/LBYKKaljtL:1␤------> 3sub is7⏏5 looser(&infix:<+>) {}␤ expecting any of:␤ new name to be defined␤»
lizmat m: sub () is looser(&infix:<+>) {}
camelia ( no output )
lizmat afk until much later today&
10:50 lizmat left, domidumont left 10:52 lucasb joined
[Tux] I know utf8-c8 is WIP, but I got a new message, maybe it helps: 10:54
*** Error in `/pro/3gl/CPAN/rakudobrew/moar-nom/install/bin/moar': corrupted double-linked list: 0x000000000561a000 ***
10:55 labster left
lucasb hai! anyone here is using irssi on xterm? (maybe others client/terminal work too); I tried to golf the camelia escape code thing and want to know what you see 10:56
10:56 _nadim joined
lucasb m: my \x = (0,2);m: 1 2 10:57
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4Eva7aSupH␤Two terms in a row␤at /tmp/4Eva7aSupH:1␤------> 3,2);m: 17⏏5 2␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
lucasb m: my \x = (0,3);m: 1 2
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ACbzPtkibt␤Two terms in a row␤at /tmp/ACbzPtkibt:1␤------> 3,3);m: 17⏏5 2␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
lucasb m: my \x = (0,4);m: 1 2
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/g0dgDuWbkB␤Two terms in a row␤at /tmp/g0dgDuWbkB:1␤------> 3,4);m: 17⏏5 2␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ …»
llfourn I get nice colors on irssi mac :)
lucasb cool, and sorry for the spam :D 10:58
anyway, just I just found it interesting... maybe something is not escaping what it should escape
10:58 pierre-vigier joined 10:59 TEttinger left
llfourn lucasb: you should totally see if it's exploitable! 11:00
maybe you can leak backspaces or something? 11:01
11:02 nige1 left
lucasb I all know is print some colors :) but, yes, maybe there's some security concerns involved too 11:02
*All I know
brrt hackernews discussion on perl6 is pretty positive this time arround :-) 11:05
nine indeed!
11:06 kjs_ joined
RabidGravy that is weird 11:07
first one blue, the second green and the third red
deniska is a lurking newcomer :) 11:08
hahainternet brrt: surprisingly positive 11:10
it really frustrates me how much trolling goes on
brrt hi deniska
hahainternet i never thought i'd see so many people screaming "I'm IGNORANT, WHY SHOULD I LEARN!!!"
brrt oh, i've stopped taking hn serious for 99% of the time
hahainternet well it's rather a right wing american paradise, but reddit etc too, slashdot is probably the worst but that's cynical burnouts :p 11:11
brrt the relation between a 'hacker' on hacker news is like a 'financial engineer' to an engineer
timotimo wow, that's harsh
hahainternet HN is unfortunately a bit of a self parody a lot of the time
it's been nice to read the views of neutral people though
who took the time to read what p6 can offer 11:12
RabidGravy and don't get me started on slashdot
hahainternet i really should start blogging about python
because i use it almost every day
and i hate it
i mean it's ok, i'd prefer it to ruby
deniska I personally like python
hahainternet deniska: the problem with python isn't so much the language, but the opinions imho 11:13
decorators are a terrible, terrible solution
brrt i like python too!
llfourn I dislike python too!
hahainternet but because they are superficially easy and newbie friendly, they're adopted heavily
deniska decorators have their place but they are often misused
hahainternet mixins also
timotimo i like python as well
RabidGravy yeah, I've done a fair bit of python over the last few years, and mostly I don't mind but every once in a while I have a WHY THE FUCK DO I HAVE TO DO THAT moment
timotimo but i haven't used it much after getting on perl6 :) 11:14
hahainternet i don't want to make it seem like python is terrible, by 'i hate it' i mean 'i hate being limited by it'
it's certainly no PHP, which i do genuinely despise
llfourn certainly not.
timotimo you can't claim you're good at a language unless you know exactly why you hate it :)
hahainternet indeed
i haven't found much i hate about perl6 yet
the repl is my big bugbear
timotimo oh god don't get me started on the repl
deniska The thing with python is that you can do quite interesting hacks with it but other people will look at you quite funny 11:15
hahainternet if i knew of a better library than linenoise i'd do something about it
RabidGravy I actually prefer VB6 to PHP
brrt (well, timotimo, it's kind of true, isn't it? hn is probably more populated by growth hackers than any other form)
hahainternet RabidGravy: on error continue
brrt i prefer commodore basic to php
timotimo brrt: as opposed to academically trained hackers?
brrt actually computers-are-fun hackers
deniska In python if you really want you can make `import` statement pull modules from a mongodb database for example :) 11:16
job security → ∞
timotimo i don't think i understand, brrt
which is which now? %)
llfourn deniska: you can do that in perl too :) 11:17
RabidGravy the only language I've actually been taught was COBOL in 1980
brrt i think most 'hackers' on hn are not hackers as hackers would've understood the term some 10 years ago before hackers were cool
deniska llfourn: but in perl this sort of thing if not expected but at least is not too surprising :)
brrt as in, before we had 'growth hackers', 'life hackers', 'customer serivce hackers', etc
peteretep HN is an odd place
11:18 pierre-vigier left
brrt before hacker was equivocated with 'startup guy in general' 11:18
deniska (perl6 is my first perl btw >_> I guess I was too young for old perl)
peteretep I say this as someone with ~8k karma there
deniska: I've bee doing old Perl since I was 14 ;-)
hahainternet deniska: how old are you, if you don't mind me asking
timotimo deniska: perl6 is my first perl, too
deniska brrt: nowadays hacker for general public is a criminal with a weird name like "4chan"
hahainternet and i only have like ~1k karma, but i verge on trolling on HN by accident a lot :(
deniska hahainternet: 22 11:19
timotimo brrt: i have no clue what "growth hacker" is supposed to mean ... maybe plant-related biohacker? :r
brrt yeah, but that was true 10 years ago too, deniska
peteretep timotimo: marketing person who has a hard in for startups
brrt no, a growth hacker is a salesman timotimo
timotimo oh
peteretep cf: hustler
deniska my first major language was VB6, second major was python
peteretep BRO FINDS A WAY 11:20
11:20 domidumont joined
timotimo i started with QBasic and then went on to VB5 11:20
deniska (not counting ones I used just here and there or didn't learn properly)
brrt lol peteretep
11:20 rurban left
peteretep Qbasic to JS to Perl 11:21
11:21 kjs_ left
peteretep XSLT for a while too 11:21
11:21 mue left
hahainternet deniska: interesting, i'm about a decade older than you 11:21
RabidGravy peteretep, I remember you being quite the JS hacker about 15 years ago
hahainternet and Perl 5 for life <3
peteretep I'm only 32 for a few more months 11:22
then a long wait until I'm 64
deniska hahainternet: when I was old enough to make my own PL decisions in life, python was getting onto prime stage :)
RabidGravy anyway off to get in the traditional traffic jam on the M25
hahainternet RabidGravy: gross
RabidGravy have fun and play nicely
hahainternet RabidGravy: up north 11:23
deniska perl was already perceived as "this old thing people used to put in cgi-bin directory"
hahainternet RabidGravy: we sink our motorways :D
RabidGravy well East - going to Essex
peteretep My hope in this life is that this channel becomes like #rust, not like #go
hahainternet oh? is #go that bad? i write it, i don't chat in it
peteretep or gonuts or whatever they call it
It's a cesspit
I think the presence of the designers and implementers here - like in #rust - will help 11:24
deniska I have gonuts in my autojoin and I am considering removing it from there
I hardly used any go
hahainternet that's a real shame (about the channel)
peteretep #gonuts has a nasty aspect of "how dare you question design decisions!!!"
hahainternet peteretep: oh well that's probably because of the endless trolling, i wouldn't entirely blame them for that 11:25
peteretep Which I think comes from not having anyone making those decisions there
deniska yeah, generics are actually useful :)
hahainternet Go itself is actually quite a lovely language
11:25 kjs_ joined
hahainternet and deniska don't dismiss it before you've written a lot in it 11:25
to me, Go is a perfect counterpart to Perl 6
peteretep hahainternet: I have been completely unable to love it
hahainternet it'll be some time before Perl6 is fast, and it will always be crazy expressive and flexible
deniska hahainternet: Maybe I just had no usecases in which go would shine
hahainternet but Go is the opposite, fast, easy, straightforward
so together they cover the bases quite marvellously imho 11:26
and deniska yeah understandable, and peteretep there's many cases where it shines unbelievably
bpmedley The Feed Operators are sweet
peteretep fair enough
hahainternet bpmedley: yeah i discovered those through |> in f# (or c#, i forget)
peteretep: think of it as a very specialised tool, like a rebate plane or something 11:27
deniska I rewrote my websocket hello world from go to python3.5 and it became twice shorter :)
hahainternet deniska: and 10x slower
(and single threaded)
deniska hahainternet: not a problem for IO bound program
peteretep hahainternet: It's being used as a generalized tool tho, and promoted as such
11:27 RabidGravy left
peteretep & 11:27
hahainternet peteretep: that's hard for me to argue against, but the point is simply that, it covers its realm of functionality very well 11:28
and you shouldn't dismiss owning a rebate plane because you have a multi-function workstation :p
(woodworking analogies are superior to car analogies :D)
anyway sorry to shift the topic of the channel
brrt languages are the topic of this channel, there's just a particular focus on perl6 11:29
:-)
hahainternet :D
well imho, they're lovely counterparts, i need to learn Rust too
11:31 kjs_ left
deniska currently writing a multiplayer websocket snake clone :) 11:32
11:33 rurban joined
deniska (well, lazily writing, only put 2 evenings of coding in it even though started it a week ago) 11:33
hahainternet deniska: websockets is excellent, but here's the rub
the only way to prevent cheating
is to carry out the same simulation on the backend
so for each game you have ongoing, your backend must either mimic each step correctly, or become an abstracted form of the simulation 11:34
there's a lot of ways to do this, but good luck writing them with Python
timotimo that's why you run the server on node.js, so you can have the same code on back- and front-end!
hahainternet timotimo: i hate you :p
timotimo (or, you know, use scala and scala.js)
11:34 brrt left
deniska hahainternet: and that's the greatness of Snake 11:34
hahainternet or you could, 'go simulate_game(clients)'
deniska hahainternet: step function is like a screen of code
11:35 wamba joined, wenderen joined
hahainternet deniska: ok, but do you simulate every step on the backend? 11:35
deniska yes
timotimo also, if you have a snake game in your browser, you're screwed anyway WRT cheating. the user can just "ispect element" and throw in a snake AI that plays perfectly
hahainternet so you are aware that your backend will never run more than one of these at once right deniska
(unless you're writing in Perl6 ofc)
timotimo: that's true, but i'm talking about 'impossible' cheating, ie teleporting your snake 11:36
deniska hahainternet: actually clients will implement quite little state
hahainternet: only enough to allow simple compression because sending the whole world every step is too much
11:36 xpen joined
wenderen p6: say 3; 11:36
camelia rakudo-moar 9441bb: OUTPUT«3␤»
hahainternet deniska: there's lots of options for how to do it, but the problem with 'netcode' in games is endemic, unless you run the full simulation on the backend, clients can cut corners, which is what 'cheating' is 11:37
anyway i don't want to imply you're doing it wrong
deniska hahainternet: I know that quite well
hahainternet ok smashing, i don't want to be patronising or offensive :D
deniska cheating is just a small (although important) problem which arises with multiplayer games 11:38
hahainternet well imho it's the netcode portion that's the biggest pain
deniska the bigger problem is that speed of light is freaking slow and the latency of networks is even slower :)
hahainternet ultimately it's a question of ordering
right, you're spot on
no matter how fast your players internet 11:39
it will be > 1 frame latency, and as a result, > character width movements usually
i'm personally of the opinion this should be exposed to the user, and the backend server should report is current time constraints, ie how late it will accept a message from another client out of order
so, if you play on a server with people with ping times under 20ms, the server can be roughly '1 frame safe'
deniska older games used extrapolation and tried to predict what will happen on a server until next message arrives 11:40
timotimo that's possible, but not "across countries"
certainly not "across continents", eh?
11:40 st_iron joined
st_iron good afternoon 11:40
deniska newer games use interpolation
hahainternet deniska: all games still do that
timotimo: not at 20ms, but the point is that you'd set the allowable max on the server
and so if you wanted to play across continents your server would be more like ~150ms safe 11:41
deniska hahainternet: source engine games do not do that iirc
hahainternet deniska: they certainly do, in fact it's configurable through the terminal
11:41 kjs_ joined
hahainternet used to play TFC semi competitively as a kid 11:41
s/terminal/console
colomon ===SORRY!=== 11:42
P6M Merging GLOBAL symbols failed: duplicate definition of symbol Find
:\
deniska hahainternet: aren't you confusing interpolation with extrapolation? IIRC hl and source clients only lerp the state between two frames thet got from a server
hahainternet deniska: developer.valvesoftware.com/wiki/F...sation.jpg
11:42 xpen left
hahainternet client vs server positions 11:42
deniska hahainternet: extrapolation is happening on a server
Woodi hi today :) 11:43
11:43 skyl4rk joined
deniska hahainternet: well, actually it's even a bit more complex than that 11:43
Woodi votes for full server simulation eg. when gammers connects via telnet to your MUD ;)
deniska hahainternet: player sees the scene in a past and himself in a future :)
11:44 rindolf left
deniska hahainternet: and a server tries to find a middle ground between other's people futures and player's past :) 11:44
hahainternet deniska: indeed it is an 'unlimited' complexity problem
deniska a game with 10 player is actually 11 distinct game states…
hahainternet because there is no correct solution
you can't 'fix' the problem in any way
servers will always issue packets after a player has acted, but before the server has seen the action 11:45
deniska unless scientists discover wormholes or something
hahainternet haha indeed
so it's just a question of 'how can we best compensate'
i prefer the idea of very specifically listing the length of the packet window to all clients, and configuring a maximum
so super competitive players can ensure they're playing on a server with say a ~10ms window
deniska displaying ping is a basic functionality of any multiplayer game :) 11:46
11:47 whj2819_ joined
hahainternet not ping, the server should set hard limits on the window packets are accepted in 11:47
11:47 whj2819_ left
deniska Snake is quite simple one because game tick happens once in 150ms 11:47
hahainternet so if you have 9 players with 10ms pings and one player with a 100ms ping
the server can only limit to ~150-200ms
11:47 whj2819_ joined
deniska hahainternet: server just shouldn't overcompensate too much 11:48
for players with a slow ping
hahainternet deniska: the problem is that statement isn't translateable into anything objective
there /is/ no proper solution for these scenarios
that latency is unavoidable, and you have no idea if a player's packet will arrive ~180ms after another players
deniska hahainternet: make a game more enjoyable for 9 people with good ping rather than for 1 guy with a slow ping is a proper enough solution 11:49
hahainternet deniska: indeed, but what i'm saying is, i prefer an even harder solution
restrict the server side calculations to a time limit
so that 180ms player cannot play on this 'low lag' server
11:49 jstypo joined, Begi left
deniska and competitive games nowadays have this functionality 11:50
hahainternet do they? i've never seen a single one
the closest you get is auto ping kick stuff
deniska isn't autokick what you talk about? 11:51
hahainternet i must admit i'm pretty ignorant of MOBAs or MMOs or similar
11:51 Milijus joined
deniska or are you saying about putting a cap on amount of lag compensation? 11:51
hahainternet deniska: no, i'm talking about the server's simulation loop having a very strict simulation period
right
if you know all of your players have a ~10ms ping
you can enforce that the server has a maximum 'time skew' of ~20ms 11:52
just over a frame
11:52 domidumont left, Psyche^_ joined
hahainternet anyway i'm spamming the channel again, so i'm going to continue my morning ritual, brb :) 11:52
deniska I feel like it is configurable, at least in quake-ish engines
You can totally disable a server side lag compensation for sure 11:53
so that all computations happen only from a current frame of a server 11:54
11:56 Psyche^ left 11:58 rindolf joined
nine colomon: do you have any "use lib" in your code? 11:58
11:59 itaipu joined
nine colomon: good rules of thumb: put your "use lib" _before_ loading any modules. Never do a "use lib" in a module. 11:59
lucasb nine: the 'use lib' after other 'use's will always be an issue? or will it get handled more gently in the future? 12:00
deniska Actually websockets are not too suitable for real time games because they use tcp :) 12:01
nine lucasb: I cannot see how we could make it work better. But maybe someone will have an idea
lucasb nine: ok, thanks 12:02
hahainternet deniska: yeah it would be nice to see udp socket options 12:03
12:03 vendethiel left 12:04 snarkyboojum left
deniska hahainternet: as I recall you can send arbitrary data over webrtc 12:05
but that requires more elaborate server setup
hahainternet deniska: an interesting idea
12:08 AlexDaniel left
deniska web sockets are supposed to be compatible with http, so udp websockets is something we won't see :) 12:09
12:10 zhi joined
timotimo for that you can use WebRTC, i thought? 12:10
12:11 DrForr joined
whj2819_ I use Konversation 12:11
deniska yes, but webrtc is also designed to be peer to peer
so a server in this picture becomes one of the clients
12:12 Arrowhead joined, rurban left
timotimo right. easy-peasy. 12:13
deniska and are there webrtc client libraries for server-side stuff?
timotimo good question 12:14
UDP support in rakudo is super fresh, so you're not going to find perl6 libraries for that yet :)
(though we do have websockets)
12:16 st_iron left 12:17 hankache joined
hankache Good * #perl6 12:18
12:19 zengargoylew left, zengargoylew joined
deniska it seems like (good) webrtc client infrastructure is lacking even from the environment one could expect it to have it: node 12:19
12:19 wenderen left
timotimo about to head out for a long-ish car drive 12:20
have fun everyone!
12:20 znpy joined
timotimo (don't have any fun i wouldn't have!) 12:20
:P
12:21 pederindi joined
hankache timotimo drive safely ;) 12:22
whj2819_ :)
12:24 matematikaadit left 12:26 zakharyas joined, labbe joined, domidumont joined 12:29 espadrine joined
labbe p6: 1..5 12:32
camelia rakudo-moar 9441bb: OUTPUT«WARNINGS for /tmp/tmpfile:␤Useless use of ".." in expression "1..5" in sink context (line 1)␤»
hankache m: say 1..5 12:33
camelia rakudo-moar 9441bb: OUTPUT«1..5␤»
hankache m: say |(1..5)
camelia rakudo-moar 9441bb: OUTPUT«12345␤»
hankache labbe is this what you were looking for ? ^^ 12:34
deniska m: say ½+⅓
camelia rakudo-moar 9441bb: OUTPUT«0.833333␤»
deniska why is it a thing? :)
blub thats adorable 12:35
hahainternet deniska: because they're numbers
m: say 2²
camelia rakudo-moar 9441bb: OUTPUT«4␤»
blub aaaa
deniska m: say 2¹⁰
camelia rakudo-moar 9441bb: OUTPUT«1024␤»
12:35 rurban joined
deniska woah 12:35
hahainternet m: say 2² ÷ ½ 12:36
camelia rakudo-moar 9441bb: OUTPUT«8␤»
hahainternet if you really want to fancy it up a bit
deniska √2 doesn't work :P 12:37
12:38 rurban left
ilmari m: sub prefix:<√>($v) { $v.sqrt }; √4 12:39
camelia ( no output )
ilmari m: sub prefix:<√>($v) { $v.sqrt }; say √4
camelia rakudo-moar 9441bb: OUTPUT«2␤»
hahainternet deniska: yeah and you can't do sub variables by default
but ^^
ilmari m: sub prefix:<√>($v) { $v.sqrt }; say √2
camelia rakudo-moar 9441bb: OUTPUT«1.4142135623731␤»
12:40 kjs_ left
deniska yay for unicode, yay for custom operators and yay for the insanity :) 12:40
colomon nine: that’s really quite impossible in emmentaler, as the output of the File::Temp module is what is being sent to use lib. 12:41
lucasb there are itemized and non itemized lists. a slip is a list. the concept of itemization also applies to slips? for example: 'for $slip {...}' iterates as if it wasn't itemized
12:42 hankache left
lucasb ok, maybe it makes sense that '$slip' is not itemized. I just wanted to make sure 12:43
12:43 colomon left 12:44 colomon joined, Actualeyes joined 12:46 xinming_ joined 12:47 znpy left, Ven joined
dalek p: ae6c8ad | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Fix test descriptions.
12:47
p: 6129cec | (Pawel Murias)++ | t/nqp/87-parametric-6model.t:
Strengthen nqp::typeparameters test.
p: a845a92 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Implement nqp::nan, nqp::inf, nqp::neginf, nqp::isnanorinf.
p: 5246f77 | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Test nqp::nan, nqp::inf, nqp::neginf, nqp::isnanorinf.
p: c0b4406 | (Pawel Murias)++ | src/vm/js/ (3 files):
[js] Implement nqp::srand, nqp::rand.
p: 0a390ce | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Test nqp::srand_n, nqp::rand.
p: 215eafd | (Pawel Murias)++ | t/nqp/59-nqpop.t:
Test nqp::isgt_s, nqp::islt_s.
12:50 xinming left
pmurias Rakudo JavaScript backend grant proposal draft: github.com/pmurias/grant_proposal/.../draft.pod 12:51
any feedback would be welcome
12:51 xinming joined 12:53 xinming_ left, mue joined 12:54 rurban joined
whj2819_ good night everybody :) 12:55
12:56 xinming_ joined, BenGoldberg joined 12:58 pmurias left 12:59 rindolf left
llfourn is super excited to see what pmurias++ can do rakudo on js 12:59
12:59 xinming left 13:01 kjs_ joined
Arrowhead Is nqp supposed to be a subset of perl6? 13:02
github.com/perl6/nqp/blob/master/e.../loops.nqp works with nqp, but rightly fails with perl6. 13:03
llfourn Arrowhead: not a strict subset
it is a limited perl6 like language :) 13:04
Arrowhead to be specific: what does "my $i := 0;" mean in nqp?
13:04 rindolf joined
llfourn Arrowhead: technically the same thing as in perl 6 I think. It binds the LHS to the right. 13:04
Juerd Arrowhead: It's "not quite perl" :) 13:05
Arrowhead rrright
I assu
13:05 hobbs left
Arrowhead me that there was a reason it wasn't written as my $i = 0; 13:05
13:05 Gardner left 13:06 hoelzro left
Arrowhead ah. "assignment not supported" 13:06
13:06 labbe left
llfourn ^^ :) 13:06
13:06 dylanwh left
Arrowhead except it is, but using the wrong operator, it seams. 13:06
13:06 luis left, lucs left
llfourn := is not assignment it's binding 13:06
Arrowhead or does it change the current value of 0?
deniska (so, rakudo is like pypy, nqp is like rpython?) 13:07
13:07 retupmoca left 13:08 aenaxi left
llfourn Arrowhead: do you mean does $i++ change the current value of 0? 13:08
$i++ in nqp is short for $i := $i + 1;
Arrowhead it doesn't seem to when I test it, but I'm still wondering what $i gets bound to. 13:09
13:09 whj2819_ left, mue left 13:11 lucasb left, zhi left
Woodi pmurias: "...to full Perl 6" in 3 months ? 13:11
llfourn Arrowhead: I'm not exactly sure what you mean, $i is bound to 0, then 1 then 2.. 13:12
there is a breif explanation here: docs.perl6.org/language/operators#infix_%3A%3D
brief*
Arrowhead ok, I see, perl6 runs it when I replace $i++ with $i := $i + 1; 13:13
llfourn Arrowhead: ahhh now I know what you mean :) 13:14
sorry wasn't thinking :P
yeah I guess := is a little different in NQP vs rakudo
llfourn learns something new
deniska := seems to be the same, ++ seems to be different 13:15
llfourn deniska: right. I confused myself :D 13:16
llfourn unlearns the incorrect thing he just learnt
13:16 domidumont left 13:17 xpen joined, vividsnow joined
llfourn deniska: is pypy written in rpythnon? 13:19
13:21 xpen left
deniska llfourn: it is written in both rpython and python iirc 13:22
it's complicated :)
uruwi Can I assume that a num (lowercase n) is always a 64-bit float? 13:23
llfourn deniska: interesting :)
uruwi: I guess unless it's on a 32bit machine?
uruwi I'll use num64 to be safe. 13:25
llfourn uruwi: mmm I think that's what it's for
13:25 pmurias joined 13:27 Ven left 13:28 Ven joined
nine colomon: ik, then I'll need some more information about that use case. Sounds rather strange to me 13:30
13:32 rurban left 13:33 disturbingly_rea joined, xpen joined
disturbingly_rea m: sub postfix:<!>(i) { if i < 2 {1} else {(i-1)! * i}} ; say 3! 13:34
camelia rakudo-moar 9441bb: OUTPUT«Type check failed in binding <anon>; expected Complex but got Int␤ in sub postfix:<!> at /tmp/jEYVknPZ0l line 1␤ in block <unit> at /tmp/jEYVknPZ0l line 1␤␤»
ilmari m: say i
camelia rakudo-moar 9441bb: OUTPUT«0+1i␤»
disturbingly_rea m: sub postfix:<!>(Int i) { if i < 2 {1} else {(i-1)! * i}} ; say 3!
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cdSi9Qp_If␤A parameter may only have one prefix type constraint␤at /tmp/cdSi9Qp_If:1␤------> 3sub postfix:<!>(Int i7⏏5) { if i < 2 {1} else {(i-1)! * i}} ; sa␤»
13:34 xinming joined
llfourn m: sub postfix:<!>(\i) { if i < 2 {1} else {(i-1)! * i}} ; say 3! 13:34
camelia rakudo-moar 9441bb: OUTPUT«6␤»
disturbingly_rea Iam so dumb 13:35
13:35 Arrowhead left
nine pmurias: you should mention in the benefits section that you write lots of tests for nqp. And I guess you will do the same for rakudo :) 13:36
llfourn disturbingly_rea: I am not convinved yet :). That's actually a tricky situation. Your first one tries to make a sub with a literal imaginary number as the only accepted argument.
m: sub postfix:<!>(a) { if i < 2 {1} else {(i-1)! * i}} ; say 3!
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Wt6eD6ivv7␤Invalid typename 'a' in parameter declaration.␤at /tmp/Wt6eD6ivv7:1␤------> 3sub postfix:<!>(a7⏏5) { if i < 2 {1} else {(i-1)! * i}} ; sa␤»
llfourn if you didn't choose i you would have a nicer error message 13:37
13:37 xinming_ left
llfourn m: sub fun(i) { i ** 2 }; say fun i; 13:38
camelia rakudo-moar 9441bb: OUTPUT«-1+1.22464679914735e-16i␤»
llfourn pitty p6 couldn't figure that shoul be -1
13:39 kid51 joined
ilmari m: say sin pi 13:41
camelia rakudo-moar 9441bb: OUTPUT«1.22464679914735e-16␤»
disturbingly_rea m: my \γ = 0.577215665; sub Γ(\z) { (e**(-γ*z) / z) * ([*] map { ($_ / ($_ + z)) * e**(z/$_) }, (1..30_000)) } ; say Γ(i)
camelia rakudo-moar 9441bb: OUTPUT«-0.154952410918664-0.49802396826629i␤»
13:43 mue joined
disturbingly_rea m: my \γ = 0.577215665; sub Γ(\z) { (e**(-γ*z) / z) * ([*] map { ($_ / ($_ + z)) * e**(z/$_) }, (1..30_000)) } ; say Γ(7).round 13:45
13:45 autogen joined
camelia rakudo-moar 9441bb: OUTPUT«719␤» 13:45
13:46 disturbingly_rea left 13:47 leont joined 13:50 rhr left 13:51 rhr joined 13:52 pmurias left 13:53 xinming_ joined 13:56 xinming left 13:59 Rotwang left, Rotwang joined
colomon nine: the use case is that emmentaler sets up a temp directory scratch pad to “install” modules to for smoking. 14:01
nine: github.com/tadzik/emmentaler/blob/.../one-smoke
14:02 hobbs joined, hobbs left, hobbs joined 14:03 luis joined 14:04 brrt joined, dylanwh joined, zoosha joined, Gardner joined 14:06 xpen left 14:07 xpen joined, hobbs left, mue left, xpen left 14:08 luis left, xpen joined, dylanwh left 14:09 Gardner left, Skarsnik joined 14:11 zoosha left 14:14 ellybelly left, ellybelly joined 14:16 Ara joined 14:17 Ara is now known as Guest18394 14:18 mue joined 14:21 shibly joined, shibly left
Skarsnik Hello 14:22
blub hi skarsnik
hahainternet hola
14:23 hankache joined 14:24 aenaxi joined 14:28 mue left
rindolf Skarsnik: hi, sup? 14:31
flussence ah, sorry about that nine. I was blindly trying to shoehorn some naming consistency in there but you're right 14:35
yoleaux 10:22Z <nine> flussence: github.com/rakudo/rakudo/commit/98966bf157
14:37 brrt left 14:39 vividsnow1 joined, vividsnow left, vividsnow1 is now known as vividsnow 14:40 pmurias joined 14:41 rjbs left, rjbs joined
nine flussence: no worry :) 14:42
pmurias Woodi, nine: thanks for feedback
14:43 hankache left
pmurias nine: I'm not sure how much rakudo tests I will need to write, roast seems much more exhaustive then the nqp test suit 14:43
nine colomon: that's an unusual use case. I wonder if we could handle the situation a bit smarter.
pmurias: it probably is. But there's also a lot more to test 14:44
pmurias: in any case you do have a much better track record than me in that regard :) 14:45
14:45 domidumont joined
nine loves having tests, not as much writing tests 14:45
14:45 xpen left, xpen_ joined 14:46 xpen_ left, jstypo left 14:47 retupmoca joined, xpen joined, luis` joined, lucs joined, hobbs joined 14:48 zoosha joined 14:50 darutoko left, leont left, hoelzro joined 14:55 dylanwh joined, Ox0dea joined
Ox0dea m: say sum grep {$_%3 * $_%5 < 1}, ^1000 14:55
camelia rakudo-moar 9441bb: OUTPUT«233168␤»
Ox0dea Is there a niftier way to say that?
14:55 peteretep left
timotimo my drive has been going rather well 14:56
taking a break now
14:56 mst left
Ox0dea m: say grep * %% [3,5], ^10 14:57
camelia rakudo-moar 9441bb: OUTPUT«(0 2 4 6 8)␤»
14:57 mst joined
Ox0dea It'd be nice if that did "the right thing". 14:57
14:58 bitmap left
a3r0 Is there perl6 equivalent to perl5 "perl -pie 's/from/to/' file.txt" one-liner? 14:59
jast Ox0dea: this seems cute: sum grep so not * % (3&5), ^1000
14:59 ugexe left
jast I only just started out with Perl 6, though. there may be something nicer. 14:59
timotimo use the any junction for that 15:00
colomon m say grep * %% 3 | 5, ^10
m: say grep * %% 3 | 5, ^10
camelia rakudo-moar 9441bb: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
15:00 xpen_ joined
colomon m: say grep * %% (3 | 5), ^10 15:00
camelia rakudo-moar 9441bb: OUTPUT«(0 3 5 6 9)␤»
jast oh, right, I didn't know about %%...
timotimo easy
no need for the so
and there is a none junction as well
^ is the operator for that
llfourn a3r0: I don't think so. text processing one liners aint Perl 6's thing atm 15:01
Ox0dea m: sum grep * %% (3|5), ^1000 15:03
camelia ( no output )
15:03 peteretep joined
Ox0dea It's beautiful. 15:03
15:03 xpen left
Ox0dea Why not have camelia report the value of the last expression? 15:03
15:04 xpen_ left
Ox0dea `say` and the rakudo diagnostics are just noise. :< 15:04
15:09 LambdaCat joined
pmurias Woodi: re 3 months, most of Perl 6 is built of building blocks 15:09
Woodi: when I implement those correctly I hope things will just fall into place and start working correctly 15:10
Woodi: I have a lot of the building block done from having implemented NQP
llfourn m: grep { $_ %% 3 or $_ %% 5 }, ^100_000 # seems to be much faster than %% (3|5) disappointingly 15:12
camelia ( no output )
llfourn m: grep { $_ %% (3|5) }, ^100_000 15:13
camelia ( no output )
15:13 havenwood joined
a3r0 I just found a document for perl6 oneliner github.com/dnmfarrell/Perl6-One-Liners 15:13
Ox0dea llfourn: What do you use to benchmark?
llfourn Ox0dea: in this case my eyes :) 15:14
a3r0: I stand happily corrected :) 15:15
15:17 ingve joined
jast seems like the only thing missing for the original P5 example is -i for in place operation 15:17
llfourn sleep & 15:18
15:23 xpen joined, telex left 15:24 telex joined 15:27 xpen left, llfourn left
BenGoldberg And the ability to change the record separators. So, find . -blahblahblah -print0 | perl6 -how-do-i-split-on-nul -ne '...' 15:28
15:30 JulesFM joined
JulesFM Is it possible to write a regexp in p6 that will match on lines that contain all of a set of substrings, but in any order along the line? 15:32
I can't do it in PCREs, wondering if p6 can do it now, as its regexp support is better.
BenGoldberg Even perl5 can do that. 15:34
JulesFM How? Say I've got the strings abc, def and ghij and the line of characters "azazghijmnmnabcopopdef", what does the PCRE that will match that look like? 15:35
15:35 khw joined
Ulti JulesFM you can even use your PCRE regex in Perl 6 since it supports Perl 5 style regex 15:35
BenGoldberg my $regex = "(?:" . join('', map "(?>.*$_)", @thesubstrings ) . ")";
15:36 sammers left
JulesFM Must go and read up on my PCREs in that case, can't remember what ?: does 15:37
15:37 ellybelly left
Ox0dea Non-capturing group. 15:38
15:40 Zero_Dogg left 15:41 Zero_Dogg joined 15:42 tef joined
JulesFM BenGoldberg : Is the "(?>.*$_)" specific to perl 6? Trying that map in Perl 5 produces an empty list. 15:43
If so, what does it do? 15:44
Ulti m: BEGIN my $then = now; say now - $then;
camelia rakudo-moar 9441bb: OUTPUT«0.01199575␤»
15:44 xxpor_lap joined
Ulti Ox0dea ^ benchmarking 15:44
ZoffixWin m: say now - INIT now; 15:45
camelia rakudo-moar 9441bb: OUTPUT«0.0021937␤»
Ox0dea Ulti: I've been spoiled by Ruby's benchmark-ips.
BenGoldberg Err, that's a typo, it should be "(?=.*$_)"
Ox0dea JulesFM: ^ Which is called "positive lookahead". 15:46
Ulti Ox0dea I have a little prime benchmark gist.github.com/MattOates/c5879a07b1ef2c013097
BenGoldberg Anything inside of (?=) is a zero-width lookahead
15:46 billN1VUX joined
BenGoldberg JulesFM, read perldoc.perl.org/perlre.html 15:47
Ox0dea JulesFM: Read www.regular-expressions.info/lookaround.html
Ulti Ox0dea also have you tried `perl6 --profile myscript.p6` yet?
Ox0dea Ooh!
Ulti because that will make you happy :3 15:48
Ox0dea Ulti: This is glorious.
15:48 sammers joined
Ulti thank jnthn++ 15:48
ZoffixWin .u Σ 15:49
yoleaux U+03A3 GREEK CAPITAL LETTER SIGMA [Lu] (Σ)
ZoffixWin m: say Σ ^10
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BTk_pBj7iw␤Undeclared routine:␤ Σ used at line 1␤␤»
15:50 derpydev joined 15:51 Arrowhead joined
rindolf ZoffixWin: you win! 15:52
ZoffixWin: sup?
colomon continuing saga of trying to get ABC running again on bleeding edge rakudo:
abc2ly
Cannot unbox a type object
in sub MAIN at /home/colomon/.rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/abc2ly line 10
in block <unit> at /home/colomon/.rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/abc2ly line 2
Ox0dea Python has `foo.__doc__`, Ruby has `$ ri foo`. How do we access "online" documentation?
colomon m: say Int.HOW 15:53
camelia rakudo-moar 9441bb: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
colomon m: say Int.WHY
Ox0dea Or is there as yet none?
camelia rakudo-moar 9441bb: OUTPUT«(Any)␤»
ZoffixWin Ox0dea, there's p6doc, but I've never used it
colomon m: say Int.WHAT
camelia rakudo-moar 9441bb: OUTPUT«(Int)␤»
colomon m: say Int.WHO
camelia rakudo-moar 9441bb: OUTPUT«Int␤»
ZoffixWin m: say Int.WHERE
camelia rakudo-moar 9441bb: OUTPUT«17605472␤»
Ox0dea Like, for quickly determining what exactly the `one` top-level routine does.
hahainternet i think the .WHY method should produce that 15:54
but as you can see above, it doesn't
ZoffixWin m: say one.WHY
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MF16ZplSZM␤Function "one" may not be called without arguments (please use () or whitespace to denote arguments, or &one to refer to the function as a noun)␤at /tmp/MF16ZplSZM:1␤------> 3say one7⏏5.WH…»
ZoffixWin
.oO( one top-level routine? )
m: say is-prime.WHY
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5wPn3fsfPW␤Calling is-prime() will never work with proto signature ($)␤at /tmp/5wPn3fsfPW:1␤------> 3say 7⏏5is-prime.WHY␤»
ZoffixWin m: say &is-prime.WHY
camelia rakudo-moar 9441bb: OUTPUT«Nil␤»
Ulti I think this is because the POD isnt inline with the source? 15:55
Ox0dea ZoffixWin: Is `is-prime` not a "top-level routine", then?
15:55 bitmap joined
ZoffixWin Ox0dea, I've no idea what a "top-level routine" is to you 15:55
Ox0dea ZoffixWin: It's a routine available at the top level. 15:56
hahainternet interesting HN link: en.wikipedia.org/wiki/Music_Macro_Language
might be a fun grammar
bit too late for advent lol
ZoffixWin Ox0dea, is-prime is provided Int class
Ox0dea ZoffixWin: But it's "available" from anywhere. 15:57
Ulti its also exported yes 15:58
15:58 domidumont left 15:59 domidumont joined
ZoffixWin Ox0dea, my point was that to find documentation for is-prime method/sub you'd read documentation for Int class that provides it and not look for a "top-level routine" documentation 15:59
Ox0dea ZoffixWin: Gotcha. So every "top-level routine" has actually been exported from elsewhere?
Ulti Ox0dea all of the built in stuff is like that its not like python or ruby where you have to explicitly say you want to import all this stuff its all available all of the time
ZoffixWin You can perform search on docs.perl6.org. p6doc command might allow lookup too 16:00
Ox0dea, yup
16:00 derpydev left
Ox0dea Ulti: Hm? Python is a lot like Perl in this regard. 16:00
Ulti Perl 5 sure
16:01 CoconutC1ab joined
Ulti though Perl 5 had a tonne of keywords which were essentially the same thing 16:01
16:01 derpydev joined
Ox0dea Ruby's "top-level methods" live in Kernel and become available on every object through inheritance. I think that's a better model. :< 16:01
Ulti they arent top level methods
Ox0dea I understand that now.
16:02 derpydev left
ZoffixWin Ox0dea, is-prime wouldn't make sense on every object :P 16:02
Ulti the more specific types will end up calling their more specific exported function due to multi dispatch though
ZoffixWin Ox0dea, and Perl 6 has Mu class from which all other classes inherit: docs.perl6.org/type/Mu
16:03 derpydev joined, daxim joined
Ox0dea ZoffixWin: Precisely! That's why it's a little odd for it to be "accessible" from anywhere. 16:03
16:03 CoconutCrab left
ZoffixWin Ox0dea, it's just convinience: you can use them as subroutines or use them as methods 16:03
16:04 athos joined
ZoffixWin m: say 42; 42.say 16:04
Ulti Ox0dea multi dispatch and types! it *just works* multi sub is-prime(Int $n) { inty version } multi sub is-prime(Num $n) { numy version }
camelia rakudo-moar 9441bb: OUTPUT«42␤42␤»
16:04 derpydev left, ugexe joined
Ulti not that its done that way I dont think 16:04
16:04 derpydev joined
ZoffixWin m: 2.Num.is-prime 16:04
camelia rakudo-moar 9441bb: OUTPUT«Method 'is-prime' not found for invocant of class 'Num'␤ in block <unit> at /tmp/ifdLmwvFyE line 1␤␤»
Ulti since Numeric exists
Ox0dea ZoffixWin: What was that? 16:05
ZoffixWin Ox0dea, where?
Ulti m: say 2.Numeric.is-prime
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin m: say '2'.Int.is-prime
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Ox0dea So why not `2.Num`?
ZoffixWin Ox0dea, 'cause it's a floating point number, which is never a prime? :P 16:06
Ulti you could but the first step would be does it have any decimal places its not prime :P which is a bit silly
ZoffixWin I dunno, I'm not the one who designed this stuff :P
Probably should rakudobug that 16:07
Ulti why?
m: is-prime 2.0
camelia rakudo-moar 9441bb: OUTPUT«WARNINGS for /tmp/GzJtLRno6D:␤Useless use of "is-prime 2.0" in expression "is-prime 2.0" in sink context (line 1)␤»
Ulti m: say is-prime 2.0
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Ulti m: say is-prime 2.1
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin m: say 2.0.WHAT
camelia rakudo-moar 9441bb: OUTPUT«(Rat)␤»
Ulti heh
nice
such lies
ZoffixWin Ulti, why: DWIM
Ulti wait a second 16:08
ZoffixWin I have a thing and I wanna know if it's prime. Coerce it into Int if ya havta
m: say 2.5.is-prime
camelia rakudo-moar 9441bb: OUTPUT«Method 'is-prime' not found for invocant of class 'Rat'␤ in block <unit> at /tmp/tV5skEcMpl line 1␤␤»
Ulti m: say is-prime ?
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/wyDx7K4JG9␤Prefix ? requires an argument, but no valid term found␤at /tmp/wyDx7K4JG9:1␤------> 3say is-prime ?7⏏5<EOL>␤ expecting any of:␤ prefix␤»
ZoffixWin m: say is-prime (2.5)
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Ox0dea Yikes.
ZoffixWin m: say (2.5).is-prime
camelia rakudo-moar 9441bb: OUTPUT«Method 'is-prime' not found for invocant of class 'Rat'␤ in block <unit> at /tmp/1v5nk7Rwp_ line 1␤␤»
Ox0dea This is obviously bad? 16:09
ZoffixWin Ox0dea, it's a bug, yes
hm 16:10
m: say is-prime 2.Num
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin m: say is-prime '2'
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin m: say is-prime '2.4242'
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin Well, I got my wish, it coerces it into Int :P 16:11
Ulti yeah
ZoffixWin m: say is-prime '-2.4242'
camelia rakudo-moar 9441bb: OUTPUT«False␤»
ZoffixWin Not a bug then, I guess.
Ulti dunno its maybe not the greatest
ZoffixWin The alternative is it'll throw 16:12
Ox0dea Should do.
Ulti like you'd sort of either expect that or two other things, testing the actual value and if it has decimal places just False, or throw a method not found
16:13 daxim left
Ulti I'd expect if it does anything other than throw no found for it to actually test the number I have rather than just truncate 16:13
does it round? or truncate?
m: say is-prime 3.5 16:14
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Ulti m: say is-prime 3.6
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Ulti m: say is-prime 3.9
camelia rakudo-moar 9441bb: OUTPUT«True␤»
ZoffixWin Rakudobugged: rt.perl.org/Ticket/Display.html?id=127044
Ulti this raises the question whats more prime 3.9 or 3.99 >:3
flussence technically it's not wrong, I mean you can't divide these by any integer and get an integer result...
m: say is-prime 4.1 16:15
camelia rakudo-moar 9441bb: OUTPUT«False␤»
ZoffixWin Except it's not a natural number :P
colomon ’s ABC “Cannot unbox a type object” issue is coming in the boilerplate @binaries = flat @installations.map: { .files('bin/abc2ly') }; when CompUnit::Repository::Installation.files is called
flussence that one's wrong though
Ulti flussence: you beat me to it
colomon afk # packing presents into van
Ulti yeah the bug is its wrong 50% of the time :D
flussence :D
Ulti well slightly less than 50% thanks to 2 16:16
Ox0dea Thanks, 2.
Ulti with big nums its infinitely wrong infinitely many times o___O
16:16 pierre-vigier joined
dalek kudo-star-daily: 891398c | coke++ | log/ (8 files):
today (automated commit)
16:17
rl6-roast-data: bdc6776 | coke++ | / (7 files):
today (automated commit)
16:18 Begi joined 16:19 X-Scale joined 16:20 znpy joined 16:22 rhr left, llfourn joined
timotimo and %%, yeah 16:22
timotimo has arrived! 16:23
ZoffixWin heh
16:23 xpen joined
ZoffixWin m: "{<buy not-buy>.pick} moar booze".say 16:24
camelia rakudo-moar 9441bb: OUTPUT«buy moar booze␤»
16:24 rhr joined
ZoffixWin Hard to believe this was enough only for half the holidays pbs.twimg.com/media/CW9BMGqUoAAppm4.jpg:large 16:24
Ox0dea Is not.
ZoffixWin For one human :P 16:25
16:27 skyl4rk left, llfourn left 16:28 xpen left 16:29 LambdaCat left
JulesFM BenGoldberg r u still here? I've worked out what your RE does now, thanks very much for that. If I wanted to wrap each match of a substring with some characters to, for example, turn bold on and off (so when I print the matching line it highlights the matches, like the GNU "grep --color=always" does) is that possible with an s///g, or not? 16:32
[Coke] "perl 6 is my first perl" I saw someone say in the backlog. My first perl and my first doctor were both #4. 16:33
grondilu many $int = $int + 1 in the core. Shouldn't they be changed to $int++? (sed -i 's/\$\(.\+\) = \$\1 + 1/$\1++/g' *.pm) 16:34
autarch [Coke]: so my new Pod::To::HTML worked fine in terms of the HTML it produced - unfortunately it took many hours and about 3.5GB of memory to build the doc site - I could really use some help figuring out why 16:35
16:36 Arrowhead left 16:37 pierre-vigier left
grondilu (though maybe sed -i 's/\$\(.\+\) = \$\1 + 1/++$\1/g' *.pm is better, since the equivalent of $int = $int + 1 is ++$int, not $int++) 16:37
flussence grondilu: postfix:<++> used to break the optimizer, possibly still does 16:38
grondilu ok
16:39 CIAvash left 16:40 skyl4rk joined 16:41 pierre-vigier joined
skyl4rk hello, is it possible to force the newline character/separator for sockets? I thought that is what e.g. calling ...:INET.new(:nl<\x0d\x0a>) would do, but I seem to be mistaken 16:42
flussence try :nl-in<\r\n>
skyl4rk flussence: that seems to do the trick (for input) 16:44
16:44 CIAvash joined 16:46 JulesFM left
timotimo [Coke]: was #4 the one with the scarf? 16:48
Ox0dea How come `foo .= bar` doesn't have to be `foo .= &bar`?
skyl4rk if I understand correctly socket.put() puts the line terminator specifed for standard out
16:49 Peter_R left
grondilu Ox0dea: .&bar is the syntax when bar is a function, not a method of foo. So foo .= bar only works if bar is a method of foo. 16:49
m: my $x = pi; $x .= cos; say $x
camelia rakudo-moar 9441bb: OUTPUT«-1␤»
flussence skyl4rk: socket.put is hardcoded to \n right now, that's a bug
grondilu (bad example, sorry)
skyl4rk flussence: ah, I see, thanks 16:50
grondilu m: my $x = pi; sub f { cos $_ }; $x .= f; say $x
camelia rakudo-moar 9441bb: OUTPUT«Method 'f' not found for invocant of class 'Num'␤ in block <unit> at /tmp/eFFQMgEYf1 line 1␤␤»
Ox0dea grondilu: I thought `.=` was an operator. Is it snyax, then? 16:51
*syntax
grondilu Ox0dea: $x .= function means $x = $x.function
geekosaur all the <op>= things are kinda magic
16:51 Peter_R joined
Ox0dea grondilu: You're patronizing. 16:51
16:51 molaf joined
grondilu am I? sorry. 16:51
Ox0dea It's okay if you don't know the answer to the actual question I'm asking.
geekosaur you can think of them as being macros
16:52 Ven left
grondilu m: my $x = pi; sub f { cos $_ }; $x .= &f; say $x 16:52
Ox0dea geekosaur: Yes, they're clearly "magical", but are we allowed to define custom magicks like those?
camelia rakudo-moar 9441bb: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤ in sub f at /tmp/qfWvTesGdU line 1␤ in block <unit> at /tmp/qfWvTesGdU line 1␤␤»
grondilu m: my $x = pi; sub f($_) { cos $_ }; $x .= &f; say $x
camelia rakudo-moar 9441bb: OUTPUT«-1␤»
geekosaur I don't think so currently
Ox0dea Then it's syntax. :< 16:53
geekosaur this is "syntax" insofar as it's hardcoded into the parser; while there's a general macro facility in there, it's marked experimental because nobody quite likes it as it currently is
Ox0dea I see. Thank you, geekosaur.
geekosaur and assignment is itself somewhat special, so it's not clear that a general facility *of that kind* could be meaningful 16:54
(basically assignment is optimized all over the place so gets special handling everywhere. it'd be way to slow otherwise)
*too
Ox0dea Ruby lets you have your cake and eat it too on that front. 16:55
geekosaur well, if the compiler spots a STORE method or a proxy in play, it takes the general slow route --- you *can* do this, it just slows things down massively
16:56 Arrowhead joined 16:57 skids joined, rjbs left
pochi m: class Foo { has $!bar is required }; my $a = Foo.new( :bar(42) ); 16:58
camelia rakudo-moar 9441bb: OUTPUT«The attribute '$!bar' is required, but you did not provide a value for it.␤ in block <unit> at /tmp/26TX_ZYQT8 line 1␤␤»
16:58 mue joined
pochi lies! 16:58
:-)
BenGoldberg m: class Foo { has $!bar = 43 is required }; my $a = Foo.new( :bar(42) ); 16:59
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MJ6pXoJNvb␤Two terms in a row␤at /tmp/MJ6pXoJNvb:1␤------> 3class Foo { has $!bar = 437⏏5 is required }; my $a = Foo.new( :bar(42␤ expecting any of:␤ infix␤ infix stopper␤ …»
16:59 rjbs joined
BenGoldberg m: class Foo { has $!bar is required = 43 }; my $a = Foo.new( :bar(42) ); 16:59
camelia rakudo-moar 9441bb: OUTPUT«The attribute '$!bar' is required, but you did not provide a value for it.␤ in block <unit> at /tmp/2o9uVrhgHN line 1␤␤»
BenGoldberg shrugs
16:59 pierre-vigier left
Ox0dea Should Perl 6 not have been released just yet? 17:01
[Coke] ff
17:01 dotness joined
BenGoldberg Why do you think it shouldn't have been released? 17:02
Or, why do you think it wasn't released?
BenGoldberg is having trouble parsing that question of yours. 17:03
17:03 dotness left, dotness joined 17:04 mue left 17:06 TEttinger joined
timotimo BenGoldberg: you can't supply a private attribute via the default .new, btw 17:08
i think "is required" just can't handle private attributes
it should give an error in that case, IMO.
geekosaur yes, I think that's a well known wart 17:09
17:09 TimToady left
pochi but surley one should be able to initialize private variables from the constructor? 17:10
17:11 halto joined
pochi I give you some data, and promise to not touch it after 17:11
ChoHag_ How do you put new items in a SetHash?
17:11 TimToady joined
timotimo pochi: not from the default constructor 17:12
17:12 domidumont left
timotimo pochi: private attributes are not part of the interface 17:12
ChoHag_ SetHash.pm suggests $sh<foo> = True, but that doesn't work.
timotimo you're allowed to change any private attributes around whenver you want
pochi ok, so I can make my own constructor?
timotimo of course :)
ChoHag_ Specifically: Type check failed in assignment to $s; expected SetHash but got Hash
17:13 domidumont joined
timotimo actually, in this case you'll want a custom submethod BUILD 17:13
ChoHag_ Oh no. wait. There's a difference between my SetHash $s; and my $s = SetHash.new; 17:14
I thought 'my Foo $x' would autovivify $x to a Foo.new when necessary? 17:15
[Coke] autarch: where is your copy of P2H?
timotimo no, it won't
for a $x you always have to .new
autarch [Coke]: github.com/perl6/Pod-To-HTML/tree/...treewalker
ZoffixWin Ox0dea, the primary deliverable was the Perl6 *language*. As a cherry on top, we also go the Rakudo compiler implementing it, which does have some kinks to iron out still (as was stated in the release notes). You can think of Perl 6 language being the HTML5 spec and Rakudo being Chrome 47 17:17
skids m: sub increment ($b is rw) { my $fetched = False; Proxy.new( FETCH => -> $ { "fetched".say; $fetched = True; $b + 1 }, STORE => -> $, $ { } ) but role { method sink { "sunk".say; $b++ unless $fetched } } }; my $a = 1; increment($a); $a.say;
camelia rakudo-moar 9441bb: OUTPUT«fetched␤fetched␤fetched␤fetched␤fetched␤fetched␤sunk␤1␤»
ChoHag_ Grr. Again. There's *got* to be a sane way to do this. 17:18
autarch Rakudo is more like Chrome 8 or 10, I think ;)
ChoHag_ How can I define Foo and Bar clases in separate files when Foo has methods which take a Bar and Bar has methods which take a Foo?
skids trying to provide workable examples to people trying to emulate old "wantarray" behaviors, for context.
ZoffixWin ChoHag_, you can try stubbing: class Foo { ... } 17:19
(literally ... )
ChoHag_ Then compiling the file with the stub complains that the stub isn't completed.
ZoffixWin Ah, then I dunno :(
ChoHag_ Or at least it did a while back.
ZoffixWin skids, wasn't it decided wantarray was a horrible thing? :P 17:20
pochi what if you declare class Foo and Bar as wmpty, then in the Foo/Bar.pm write augment class Foo/Bar?
*empty
ChoHag_ Hmm that seems to no longer be the case...
skids ZoffixWin: yes, but we need a more polite way to show them how to acheive things if they really want to.
17:20 derpydev left
[Coke] autarch: I cannot check that out and "panda install ." because I already have a version of p2h installed. any suggestions? 17:20
skids (and try grepping for it in your P5 ase modules :-)
*base 17:21
ZoffixWin [Coke], use --force ?
autarch [Coke]: I've just been using PERL6LIB to make use of it
or use --force or use lib
[Coke] force dies with "Could not find Pod::To::HTML::Renderer"
skids We tell people instead of wantarray, return a lazy object, then don't show them how, so I'm working on that. 17:22
ChoHag_ skids: That's just how documentation works isn't it?
17:22 zengargoyle left
ChoHag_ If I had a penny for every time I've seen documentation which effectively amounted to "This is deprecated, now fuck off"... 17:22
skids Well, considering this will be a point of frustration in that we are saying "no you can't" it is one of those places where examples help a lot. 17:23
ChoHag_ /s?
Ox0dea autarch: Is your nick meant to be interpreted as "governance by oneself"?
17:23 llfourn joined 17:24 mue joined
autarch Ox0dea: more like "I was a bit obsessed with this series of books when I picked it - en.wikipedia.org/wiki/The_Book_of_the_New_Sun" 17:24
kaare_ skids++ examples ftw 17:25
skids Note we can kind of get the "void context" working without the Proxy, except for some corner cases where we end up with spooky action at a distance.
Ox0dea autarch: Ah, it's a real word, then. I had the etymology right, at any rate.
autarch yes, it's a real word
17:26 wamba left
skids m: sub increment ($b is rw) { ( $b + 1 ) but role { method sink { $b++ } } }; my $a = 1; increment($a); $a.say; my $b = increment($a); "$a $b".say; 17:26
camelia rakudo-moar 9441bb: OUTPUT«2␤2 3␤»
skids But if you ever manage to sink what's in $b it's trouble. 17:27
17:27 zengargoyle joined, Actualeyes left
[Coke] What command line are you using to get PERL6LIB to work? 17:28
skids wonders if there's a complementary method called when something is "not sunk" 17:29
17:29 llfourn left 17:32 BenGoldberg left, yqt joined 17:35 halto left
[Coke] will panda ever get an uninstall? 17:35
autarch [Coke]: PERL6LIB=../Pod-To-HTML/lib/ perl6 ./htmlify.p6 --typegraph
flussence install is just a thin wrapper around CompUnit code, so I'd guess that would need a method for it first 17:36
autarch is there any easy way to deep clone an object?
[Coke] I get undeclared routine "pod2html"
autarch [Coke]: oh, you also need my branch of the doc site 17:37
dalek c/autarch/use-new-pod-to-html: bb2165a | (Dave Rolsky)++ | / (6 files):
Work in progress on using my new version of Pod::To::HTML
autarch github.com/perl6/doc/tree/autarch/...od-to-html
I hadn't pushed it yet
17:38 pierre-vigier joined
awwaiid autarch: do you've moved the converter to be embedded in doc repo, eh? 17:38
17:39 Begi left
autarch awwaiid: I can't that sentence ;) 17:39
awwaiid oh maybe not
17:39 Begi joined
awwaiid I thought you embedded Pod::To::HTML into the main doc repo somewhere 17:39
autarch no, definitely not
17:39 lustlife` joined
autarch but the doc site will have its own custom subclass of PTH - that way we only need to do one pass per document, rather than two as it does now 17:40
awwaiid ah, so lib/DocSite/Pod/To/HTML.pm
is a renderer
skids autarch: lol I'm stealing "I can't that sentence" someday
awwaiid I see
autarch yeah, maybe should be renamed to add "/Renderer.pm"
17:40 xinming joined
ShimmerFairy could also call it something like Pod::To::DocHTML :P 17:40
autarch ShimmerFairy: no - I really think all the modules in the doc repo need their own prefix. Calling them Perl6::This and Pod::That is _very_ confusing 17:41
17:41 mue left
autarch if they're for general use, they need their own distro - if they're custom to this app they should not be using generic namespaces 17:41
awwaiid or maybe localize the name, DocSite::Renderer::HTML
17:42 ZoffixWin left, lustlife left 17:43 xinming_ left
[Coke] ok, I was able to run it with --sparse=1000 and get a result. 17:44
awwaiid autarch: you have a branch for a modified Pod::To::HTML too then, eh?
autarch awwaiid: github.com/perl6/Pod-To-HTML/tree/...treewalker
awwaiid oh I found it
sweet 17:45
ah cool. Another thing we talked about a few days ago is having a separate POD extractor outside of rakudo, and maybe adding an explicit notation for the (few) cases where POD needs a runtime 17:46
[Coke] now I can dig. Danke.
17:46 Zoffix joined, Zoffix left, Zoffix joined 17:47 mue joined, Arrowhead left
autarch awwaiid: yeah, someone pointed me at SUPERNOVA - which looked like a big improvement 17:48
awwaiid oh right. I need to check that out too
autarch that combined with the Pod::TreeWalker module I wrote would work well
awwaiid clones all the things 17:49
and it even comes with a lovely blog post
ChoHag_ I think perl 6's tagline could be There Are Even More Ways To Do it. 17:50
Or perhaps s/Even More/Too Many/.
17:50 xinming_ joined
jast there's no such thing as too many ways to do it 17:52
17:52 woolfy joined
Ox0dea Perl: Over 9000 ways to do it. 17:52
17:52 zengargoyle left
Ulti one fewer ways than the number it takes for you to remember one of them 17:53
17:53 vendethiel joined 17:54 xinming left
autarch Hmm, I just fixed a bug where Pod::To::HTML altered the underlying $=pod structure. I wonder if that caused the perf issue somehow? 17:54
autarch grasps at straws
ChoHag_ Make Up Your Own Bloody Way. 17:55
17:55 ChoHag_ is now known as ChoHag, znpy left, kjs_ left 17:57 nexysno_ joined 18:00 pierre-vigier left, Begi left, xinming joined 18:03 xinming_ left 18:05 xinming_ joined, xinming left, lizmat joined 18:06 mue left
Zoffix m: say 42432.Rat.denominator == 1 18:08
camelia rakudo-moar 9441bb: OUTPUT«True␤»
Zoffix m: say 42432.34243.Rat.denominator == 1
camelia rakudo-moar 9441bb: OUTPUT«False␤»
nexysno_ p6: say [+] 100_000
camelia rakudo-moar 9441bb: OUTPUT«100000␤»
Zoffix p6: say [+] ^100_000
camelia rakudo-moar 9441bb: OUTPUT«4999950000␤»
Zoffix m: say [^] ^100_000 18:09
camelia rakudo-moar 9441bb: OUTPUT«Too many arguments in flattening array.␤ in block <unit> at /tmp/b0KQGelvhS line 1␤␤»
18:10 xinming_ left, cpage left, xinming joined, znpy joined
lsm-desktop ChoHag_ Or perhaps Every Way to Do It 18:12
18:12 lsm-desktop is now known as lsm 18:13 cpage joined
nexysno_ p6: say [+] 1..100_000 18:13
camelia rakudo-moar 9441bb: OUTPUT«5000050000␤»
autarch no, I don't think that was the memory use issue :( 18:14
Zoffix m: say ((-1)**0.5).Complex.Rat.denominator == 1 18:15
camelia rakudo-moar 9441bb: OUTPUT«Method 'denominator' not found for invocant of class 'Num'␤ in block <unit> at /tmp/Jy6Ra01MY9 line 1␤␤»
18:15 dududuedu joined
Zoffix m: my $n = ((-1)**0.5).Complex; say $n 18:15
camelia rakudo-moar 9441bb: OUTPUT«NaN+0i␤»
Zoffix orly
m: my $n = ((-1+0i)**0.5); say $n
camelia rakudo-moar 9441bb: OUTPUT«6.12323399573677e-17+1i␤»
Ox0dea m: [^] 1..5
camelia ( no output )
Zoffix m: my $n = ((-1+0i)**0.5); say $n.Rat,denominator
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i021e1gBB5␤Undeclared routine:␤ denominator used at line 1␤␤»
Zoffix m: my $n = ((-1+0i)**0.5); say $n.Rat.denominator
camelia rakudo-moar 9441bb: OUTPUT«Can not convert 6.12323399573677e-17+1i to Rat: imaginary part not zero␤ in block <unit> at /tmp/pdP2ztaxZx line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/pdP2ztaxZx line 1␤␤»
Ox0dea m: [**] 1..5
camelia rakudo-moar 9441bb: OUTPUT«Numeric overflow␤ in block <unit> at /tmp/Arxiohmdzm line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/Arxiohmdzm line 1␤␤»
Ox0dea What's going on there? 18:16
`[**] 1..4` doesn't cause it.
Zoffix Ox0dea, you're getting a massive number
Ox0dea Zoffix: Why?
Oh, it's right-associative.
Zoffix hm 18:17
Ox0dea Erm... no, 1**2**3**4**5 == 1 no matter how you cut it.
Zoffix m: say m: [**] 1..4
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Pkh_iidaoS␤Colons may not be used to delimit quoting constructs␤at /tmp/Pkh_iidaoS:1␤------> 3say m:7⏏5 [**] 1..4␤ expecting any of:␤ colon pair (restricted)␤»
Zoffix m: [**] 1..4
camelia ( no output )
ShimmerFairy what's 2**3**4**5 though? :P
Zoffix m: say [**] 1..4
camelia rakudo-moar 9441bb: OUTPUT«1␤»
Ox0dea Zoffix: Why would I lie to you?
Zoffix ShimmerFairy, somethign entirely different?
Ox0dea, I wanted to see the final answer
Ox0dea m: [**] 2..5 # ShimmerFairy 18:18
camelia rakudo-moar 9441bb: OUTPUT«Numeric overflow␤ in block <unit> at /tmp/WfgPKtxm2U line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/WfgPKtxm2U line 1␤␤»
Ox0dea That'd do it.
18:18 pierre-vigier joined
TimToady m: say [**] 3,4,5 18:18
camelia rakudo-moar 9441bb: OUTPUT«3733918487410200435329597541848665882254097767837340077506369317220790406172652512299936889388039772204687650654314751581087270545921608585813513369828091873141917485942625809388070199519564042855718180410466812887974029255176680123406172983965747316191523…»
ShimmerFairy Ox0dea: the problem is that you're calculating 2 to the power of a number that's 489 digits long; it just doesn't get to the "obvious" 1**... part :)
Ox0dea ShimmerFairy: It'd be nice if it could. 18:19
TimToady m: say [**](3,4,5).chars
camelia rakudo-moar 9441bb: OUTPUT«489␤»
Ox0dea How to bignum literals?
TimToady m: say 2**489
camelia rakudo-moar 9441bb: OUTPUT«1598335257761788022467377781654101148543282249044465229239888363328190330275719997501596724768507889233831388734160190922469363547795602076820570112␤»
18:19 llfourn joined
TimToady oh wait 18:19
flussence I think that gives you the bytes needed to store the answer at any rate
TimToady 2 ** <489 digit number> 18:20
Ox0dea What needs to be different in `[**] 1..5` to have it evaluate to 1?
ShimmerFairy Ox0dea: the huge number caused by [**] 3,4,5 is how many bits you'd need for the exponent to 1**x there, it's quite a bit :P
flussence: bits, not bytes :)
flussence oh, derp
ShimmerFairy m: say ([**] 3,4,5) / 8 / 1024 / 1024 / 1024
camelia rakudo-moar 9441bb: OUTPUT«4346853223874001339228820919348702163265666188482823871898429139075789607796646319678911112002143371157217364122991859425193712285162891011933695256975586378413622134764010330415412550232796979667290789553042050553455517225871654371039677625482142106852871…»
TimToady that's still more bits than are in the universe
Zoffix m: say 2.0.WHAT 18:21
camelia rakudo-moar 9441bb: OUTPUT«(Rat)␤»
TimToady in theory we could violate the right associativity to see that there's a 1 on the left, but the use case is rather minimal
Zoffix m: say '2.0'.WHAT 18:22
camelia rakudo-moar 9441bb: OUTPUT«(Str)␤»
Ox0dea $ ruby -e 'p (1..5).reduce :**'
1
TimToady ruby gets the associativity wrong
ShimmerFairy TimToady: the number of YiB needed is a number 464 digits long, we definitely need more room O_o
TimToady well, "wrong"
18:22 mue joined
TimToady left folding everything is a different kind of consistency 18:23
18:23 znpy left
Ox0dea The best kind? 18:23
TimToady it's not consistent with saying "it's just like writing out the operator between each term"
Ox0dea You're right. 18:24
18:24 llfourn left
uruwi m: say ([**] 3, 4, 5).chars 18:24
camelia rakudo-moar 9441bb: OUTPUT«489␤»
Ox0dea That said: eval.in/493794
18:24 zakharyas left
uruwi m: say ([**] 3, 4, 5).base(2).chars 18:25
camelia rakudo-moar 9441bb: OUTPUT«1624␤»
uruwi 1624 bits.
Zoffix m: say (1..5).reduce: * ** *
camelia rakudo-moar 9441bb: OUTPUT«1␤»
Zoffix Ox0dea, ^
I'm kinda bummed about this:
m: say (1..5).reduce: ****
ShimmerFairy m: say 1 ** 2 ** 3 ** 4 ** 5
camelia rakudo-moar 9441bb: OUTPUT«Numeric overflow␤ in block <unit> at /tmp/JiSy7ScOIt line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/JiSy7ScOIt line 1␤␤»
rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7MVakT8P1c␤Missing required term after infix␤at /tmp/7MVakT8P1c:1␤------> 3say (1..5).reduce: ****7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
18:25 athos left, RabidGravy joined
ShimmerFairy Zoffix: same as trying to use the list repetition op like $foox5, to me :) 18:26
TimToady Zoffix: that's parsed as ** **
Ox0dea Should it be?
mst see ALL the stars
Zoffix recalls a conversation proposing a unicode char for Whatever Star :) 18:27
18:27 zengargoyle joined
Ox0dea Zoffix: '* is a Unicode character. 18:27
*'*'
mst Zoffix: that totally has to be a release codename for r* at some point
Zoffix Ox0dea, and everyone else knows what I meant
18:27 mue left
Ox0dea Precision matters. 18:27
18:28 virtualsue joined
TimToady m: say (1..5).reduce: *[**]* 18:28
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Fx5uTC0HVJ␤Missing required term after infix␤at /tmp/Fx5uTC0HVJ:1␤------> 3say (1..5).reduce: *[**]*7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
Zoffix Being overly pedantic can be annoying.
TimToady I guess that turns into a subscript postfix
mst Zoffix: or mauke
18:29 Guest18394 left
Ox0dea m: 1.^methods.sort 18:31
camelia rakudo-moar 9441bb: OUTPUT«Method object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/U3lnI3nD7Q line 1␤Method object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/U3lnI3nD7Q line 1␤Method object coerced to…»
Zoffix m: say (1..5).reduce: ★**★
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/kvjj8ZfRsn␤Bogus term␤at /tmp/kvjj8ZfRsn:1␤------> 3say (1..5).reduce:7⏏5 ★**★␤ expecting any of:␤ argument list␤ infix␤ infix stopper␤ postfix␤ …»
Zoffix purty 18:32
RabidGravy well at least we're not getting the disco partay colour effects anymore
Ox0dea m: 1.ACCEPTS(2) # Can't we all just get along?
camelia ( no output )
Zoffix m: say 1.^methods.WHAT
camelia rakudo-moar 9441bb: OUTPUT«(List)␤»
18:33 virtualsue left
Zoffix m: say 1.^methods.reverse 18:33
camelia rakudo-moar 9441bb: OUTPUT«(Numeric DUMP ACCEPTS gist Str Bool perl new WHICH atan asinh cotanh Complex roots asech cosech cis cos asin rand succ isNaN sec Real acotanh tanh sinh truncate acosh exp log atanh log10 unpolar sech acosec acos cosh acotan asec pred cosec atan2 conj acose…»
Ox0dea Having to say `say` is really annoying.
Zoffix m: say 1.^methods.sort
camelia rakudo-moar 9441bb: OUTPUT«Method object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/oLfnSaHcpH line 1␤Method object coerced to string (please use .gist or .perl to do that) in block <unit> at /tmp/oLfnSaHcpH line 1␤Method object coerced to…»
Zoffix That's probably that same old .sort bug
Ox0dea It's just warning about Methods being implicitly coerced to strings.
Zoffix Ox0dea, that's been discussed before and since making it auto-say would cover up some of the possible sink bugs, we left it as mandatory 18:34
ShimmerFairy m: say 1.^methods».name.sort
camelia rakudo-moar 9441bb: OUTPUT«(ACCEPTS Bool Bridge Complex DUMP FatRat Int Num Numeric Range Rat Real Str WHICH abs acos acosec acosech acosh acotan acotanh asec asech asin asinh atan atan2 atanh base ceiling chr cis conj cos cosec cosech cosh cotan cotanh exp expmod floor gist is-prim…»
Zoffix Ox0dea, ah, k
m: 1.^methods.first.WHAT.say
camelia rakudo-moar 9441bb: OUTPUT«(Method)␤»
Ox0dea m: Method.new 18:35
camelia rakudo-moar 9441bb: OUTPUT«Cannot make a Method object using .new␤ in block <unit> at /tmp/ay0tBiL2At line 1␤␤»
Ox0dea Why not?
Zoffix m: say DateTime.new
camelia rakudo-moar 9441bb: OUTPUT«Cannot make a DateTime object using .new␤ in block <unit> at /tmp/Zo64x6bJph line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/Zo64x6bJph line 1␤␤»
Zoffix m: say DateTime.new: :2015year :12month :31day :23h :23m :23s 18:36
camelia rakudo-moar 9441bb: OUTPUT«2015-12-31T00:00:00Z␤»
Zoffix \o/
18:36 patrickz joined, uvtc joined
Zoffix Roast is failing for me: gist.github.com/zoffixznet/5924f37551d9125ec606 two in t/spec/S32-io/socket-recv-vs-read.t 18:37
m: -2.is-prime.say 18:38
camelia rakudo-moar 9441bb: OUTPUT«WARNINGS for /tmp/9PADq7zWua:␤Useless use of "-" in expression "-2.is-prime.say" in sink context (line 1)␤True␤»
Zoffix m: -2 .is-prime.say
camelia rakudo-moar 9441bb: OUTPUT«False␤»
18:38 znpy joined
uvtc Was looking for a Perl 6 mode for Emacs. Is the suggestion at perl6.org/whatever/ out of date? Instead, I did `M-x package-refresh-contents` and `M-x package-install RET perl6-mode` and I now have github.com/hinrik/perl6-mode which appears so far to work with .pl6 files. 18:39
Ox0dea Why "twigil", etymologically? 18:40
mst I would imagine that, if it wasn't on the critical path for the 6.c release on the 25th, it's entire possible nobody even remembers what that page -is- let alone has checked if it's up to date recently 18:41
Zoffix k, sent a PR for the is-prime stuff github.com/rakudo/rakudo/pull/656 and added extra tests for this in roast: github.com/perl6/roast/pull/92
That's for RT#127044 rt.perl.org/Ticket/Display.html?id=127044
TimToady well, it's a secondary sigil, and 's' was already taken :) 18:42
18:42 yqt left
TimToady so we went with 'two' instead 18:42
mst uvtc: hmm, jhrockway's thing got a commit as late as Mar 2014
so I'd expect most of it to work
it's probably worth adding the hinrik one though
perl6.org/about/ tells you how to put a patch together
uvtc++ # well volunteered
Ox0dea Will there be a Perl 7? 18:44
Zoffix Ox0dea, no
Ox0dea Should we call Perl 6 Perl?
Zoffix Ox0dea, considering there's Perl 5, calling it "Perl" is inherently ambiguous 18:45
mst that would just confuse people, since perl5 and perl6 are noticeably different languages
Zoffix Ox0dea, kinda like saying "I'm going go play Far Cry" is ambiguous, since there are several different—albeit similar—games with that name
Ox0dea Zoffix: But X unambiguously refers to X11, for instance. 18:46
mst "time to write some lisp" # that's nice, dear, did you mean CLISP, scheme, clojure, or scripts for Igor's part in the christmas play?
Zoffix I've not heard of anyone using X9 or X5 for anything
Ox0dea Zoffix: Precisely? 18:47
Zoffix Ox0dea, what?
mst if you just say 'perl', people will assume perl5
blub mst: clisp is an implementation not a language
mst if you want to be precise, say 'perl5' or 'perl6' explicitly
Ox0dea mst: Will it always be this way?
hi blub
18:47 Grrrr left
blub hi ox0dea 18:48
mst Ox0dea: dunno. build a time machine and go find out.
Zoffix Ox0dea, yes, both languages are actively developed.
mst on a long enough timeline, everybody who remembers either language will be dead, after all
uruwi I too wish Perl 6 was called something else
mst blub: common lisp isn't a programming language? you could've fooled me.
Ox0dea I wish it were called Perl. :<
Zoffix uruwi, it's too late now
TOO lATE! :D
mst uruwi: when things seem ambiguous I call the spec Camelia and the compiler Rakudo
Ox0dea mst: Then what do you call the mascot? 18:49
Zoffix Now that we released, at least we have an easy way to dismiss all the name bikesheds -_-
mst Ox0dea: that -ing stupid butterfly
Zoffix rofl
flussence the only language I've seen using version numbers in a similar way with enough forward and backward compatiblity to omit the number is HTML
Ox0dea flussence: And Python.
dalek href="https://perl6.org:">perl6.org: e0e1060 | (John Gabriele)++ | source/whatever/index.html:
Added link to hinrik's perl6-mode for Emacs
mst and look how well that worked out for them
grondilu omg the name thing again. jeez
uruwi The time will come when people will invent names for Perl 6.
Zoffix HTML is a fucking mess
mst Ox0dea: except as of 3 python no longer has nearly enough forward/backward compatibility to count
you have to specify python2 or python3 18:50
anyway
there is a perl family of languages
flussence
.oO( and python 2 with/without broken SSL, as of a few weeks ago )
uruwi I think most people moved to py3.
mst it has two current main members, perl5 and perl6
uruwi: hahahahahahahahahahaha you're so cute
say that on hacker news. bring your asbestos suit, the flamewar will be epic
uruwi ..? 18:51
Zoffix :D
grondilu it's made by the creator of Perl, who wanted to call it Perl as well. It's the sixth version of it. So it's "Perl 6". That's all I need to know.
mst there's a huge number of python2 deployments
grondilu: well, more importantly
"perl5 and perl6 are sister languages in the same family"
is what perl6.org and perl.org -both- say
so there's absolutely consensus about that
Ox0dea I thought Ruby had cribbed "\C-a" literals from Perl. That seems to not be so. 18:52
mst I'm pretty sure we did double check Larry didn't object before we did that
but it was part of a community groundswell because we were *all* sick of having this conversation
blub mst: no one abbreviates common lisp to clisp, because that generally refers to a specific, shoddy implementation of it
mst Ox0dea: so ,please use the terms given on the websites. if you don't like those terms, please hate them quietly.
CIAvash TimToady: Can you please take a look at the question I asked before? irclog.perlgeek.de/perl6/2015-12-23#i_11762824
grondilu now that Perl 6 is out, if the Perl 5 community wants a new major version of "their perl", they can just call it "Perl 7", and that's it. 18:53
mst grondilu: please don't
Ox0dea mst: You don't seem to hate having this conversation.
mst grondilu: please don't make things up that will cause huge drama, that larry and I spent an entire summer killing :)
Zoffix Ox0dea, mst wrote this: shadow.cat/blog/matt-s-trout/f_ck-perl-6/
18:53 sjohnson` is now known as sjohnson
mst Ox0dea: that's because #perl6 values niceness. inside I'm trying to set you on fire with my mind for bringing it up. 18:53
Zoffix lol 18:54
18:54 gugod joined 18:55 ilbelkyr left 18:57 pierre-vigier left 18:59 ilbelkyr joined
grondilu are you Matthew S. Trout? If so, I love your "state of the velociraptor" talks :) 18:59
RabidGravy *fuck he isn't is he* ? ;-) 19:00
grondilu mst: ^
mst I am, yes, though I was getting stale so in a Doctor Who like spirits, those are now given by Sawyer X
19:00 znpy left
RabidGravy does that mean we get to kill you and you come back as someone else? 19:01
19:01 pierre-vigier joined
flussence and will Sawyer X turn into Sawyer Wayland in the near future? 19:01
ChoHag *looking like* someone else.
grondilu mst: completely not related to perl, but has anyone ever told you you look like astrophysicist Alex Filippenko? 19:02
mst normally people think I look like death metallers of various stripes ;) 19:03
grondilu well, that too. But that's less peculiar :) 19:04
flussence they're probably basing it off pictures then and haven't seen you on stage :D
mst oh, Filippenko is also bouncy? 19:07
19:07 atweiden joined, mort96 joined
mort96 hey 19:07
anyone here? 19:08
deniska no, totally not
havenwood mort96: Yes.
mst lots of people
vendethiel dozens of people :P
flussence only 300 or so
mst but IRC channels often pause until somebody says something
havenwood The we all talk at once.
mort96 well 19:09
19:09 espadrine left
jast not all, I successfully resisted the temptat... dangit 19:09
mst we were just taking a breather after the latest round of "let's get really pedantic about the naming of perl5 and perl6", which the people who've been here for a while obviously LOVE as a conversation because we've had so much practice :D
mort96 I just tried to install perl 6 via rakudobrew
it... nuked every directory in $PATH, including /bin and /sbin
timotimo um, wat
19:09 Ox0dea left
timotimo wtf :< 19:10
RabidGravy cOOooOOoool
timotimo tadzik: fix this immediately
mst timotimo: let's try figuring out what actually happened first
timotimo ... yeah
flussence I guess... nobody's ever run it as root before?
ChoHag Is there a perl6-compatible major mode for emacs?
Or a vim-equivalent for vim? 19:11
mst ladies, gentlemen, and mongers, let's try diagnosing rather than guessing
flussence there's a vim one
19:11 skyl4rk left
mort96 I cloned the git repo to ~/.rakudobrew, ln -s'd /home/<myname>/.rakudobrew/bin/rakudobrew to /usr/bin/rakudobrew, tried `rakudobrew build moar`, it said I needed root, so I ran `sudo rakudobrew build moar` 19:11
mst ChoHag: somebody a bit further up mentioned hinrik having an emacs perl6 mode
flussence github.com/vim-perl/vim-perl
timotimo flussence: why would you ever run rakudobrew as root?
19:11 Arrowhead joined
mst mort96: oh yay 19:11
uvtc ChoHag, yes, see perl6.org/whatever/ .
mort96 symlinking it like that may have been a bad idea, but maybe should make sure it doesn't break your system
ChoHag Who or what is hinrik?
mst right, so, you're running one of the stupid-arse 'modern' linuxes that don't have a real /bin
timotimo mort96: what said you need root?
mst ChoHag: github user
timotimo: dude. 19:12
mort96 rakudobrew did
RabidGravy ChoHag, I think the vim one got rolled into the main per thing
19:12 dududuedu left
mst I already know what happened. 19:12
mort96 I have a real /bin..
mst that's ... pants on head hilarious
timotimo why would rakudobrew claim you need root? :\
RabidGravy I'm with you
mort96 idk
mst timotimo: it didn't
RabidGravy it needs a readlinkin there
ChoHag mst: I remember seeing one of those bin-less things. I though it was an elaborate joke.
mort96 it tried to git clone something, which said it needed root
mst mort96: it could've killed /usr/bin/*
unlink()ing
jast I can find an unlink call and a remove_tree call in rakudobrew. both don't iterate over PATH.
ChoHag Atually I didn't, but I tell myself that because the alternative is believing people did it seriously. 19:13
mst right, if your /bin is now empty
that means your /bin was either a symlink or something similar to /usr/bin
19:13 pierre-vigier left
mort96 no 19:13
mst but, yes, this code will totally wipe out /usr/bin if you symlink it into there
mort96: well, it only unlinks the content of a single directory
I'm looking at the code
timotimo of course rakudobrew thinks it's allowed to wipe out all the contents of its bin folder
mort96 it cleared /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin, and ~/.bin
19:13 smls joined
mst you're welcome to present a different theory 19:13
but there physically isn't code that would do that
timotimo it has to, in order to do stuff cleanly
mst no, actually, it doesn't have to 19:14
mort96 at least according to zsh's autocomplete with cd... can't ls >.<
smls o/
gfldex can i have adverbs on prefix-operators?
mst rewriting that part is on my list
smls Coming home from Christmas-related family visits, to see Perl 6 released!
timotimo mort96: oh, hehe
jast rakudobrew doesn't even use PATH anywhere...
flussence mort96: got busybox on your system at all?
smls Nice present
timotimo mort96: zsh will not complete files if you cd + tab complete
mort96 I probably have some kind of rescue thing
timotimo so you wouldn't ever see files with that method
smls Even some positive reactions to Perl 6 on hackernews... ;)(
ChoHag If your PATH's directories have gone and you don't know how to build unix from scratch, it pretty much means it's time to reinstall.
smls TL;DR: Congrats, everyone. 19:15
jast shouldn't be too hard to recover with a boot CD
mort96 timotimo: yes, it does; I see core_perl, site_perl, and vendor_perl
ChoHag If you do know how to build unix from scratch, it also pretty much means it's time to reinstall because who has time for that?
timotimo aren't those folders, too?
jast yeah, those are all directories
mort96 oh right
I'm stupid.
timotimo no, you are not
jast try tab completing with 'cat /bin/<TAB>'
timotimo this is stuff you wouldn't have to know
jast that will complete files, too
mst timotimo: of course he is 19:16
learning to program is fundamentally (a) become less stupid (b) discover how much more stupid you are than you originally thought (c) goto a
mort96 well, cat is in /bin, so.. lol
timotimo as long as zsh thinks it could autocomplete that, it'd be fine
jast you don't have to run it, just put something other than 'cd' in first place so zsh chooses a different tab completion strategy
ChoHag mst: d) Realising that human =, ==, := and === stupid.
I wish more developers reached d...
mort96 just doing /usr/bin/<tab>, I can see files
mst ChoHag: I realised that a long time ago. then it took me several more years for (e) realising I'm human too
mort96 so mst: you're probably right that it only deleted /bin and /usr/bin
timotimo mort96: that'll probably only show you files with +x 19:17
ChoHag Well now, e really is wishful thinking.
mort96 wait, only deleted /bin*
mst mort96: it'll have unlink()ed anything in the directory it was running in
so if you symlinked into /usr/bin you killed /usr/bin/*
jast that means you can probably ask your package manager to reinstall coreutils etc.
mort96 timotimo: ya, but files in my $PATH are generally +x'd
timotimo right :)
mst the question then becomes what the best fix is
flussence oh well, at least stuff in bin directories is easily replacable...
ChoHag Has anyone berated mort96 yet for running this as root?
timotimo mst: ideally, rakudobrew would flat-out refuse to run as root, or run with its bin/ folder symlinked 19:18
flussence enough people have
mst to we think the list of executables shipped with rakudo is basically static?
ChoHag And questioned the location of the backups and viability of the restore process?
timotimo mst: don't modules that nistall binaries put them there, too?
RabidGravy just going back a but the fix to rakudobrew is to readlink the executable to find the location it is installed, not use $0 blindly
timotimo ChoHag: i'm not so +1 on berating
mst ChoHag: something threw a "can't make install, did you mean sudo make install" type error at him and then he did what it suggested
ChoHag Well that's why I'm asking first...
jast okay, what system/distribution are you using? in debian and friends you can probably fix the most important stuff by doing, say, aptitude reinstall coreutils 19:19
mort96 ChoHag: it's not exactly uncommon to have to run package managers as root, so running `sudo !!` when a package manager complains about not being root kinda makes sense
mst right
mort96 arch linux
mst I mean, I wouldn't've done it when it said that
but it's totally reasonable that you did
timotimo mort96: rakudobrew isn't a package manager, though ... it's just like perlbrew: a way to have a perl(6) version in your home directory
emphasis on the "home directory"
jast the package is called coreutils in arch, too. but arch is a source-based distro, right? that might cause trouble during reinstall 19:20
mort96 lol, I've never touched perl before, so comparing it to perlbrew doesn't help much
19:20 skids left, llfourn joined
mort96 if by source-based you mean that it compiles things whenever you install things like gentoo does, then no, pacman uses binaries 19:20
jast could work, then 19:21
anyone already working on a pull request?
uvtc I like very much that rakukdobrew installs into my very own ~/.rakudobrew, and not anywhere else (like, say, /usr/local). Hm. Looks like it does something with ~/.perl6 as well.
mst for which part?
kaare_ mort96++ for testing the install process.
mort96 anyways, using pacman to reinstall things isn't going to work, considering pacman was in /bin
mst I'm currently staring at the rakudobrew source code and trying to figure out how to re-engineer it, yes
jast well, the immediate fix would be resolving links on the prefix
ChoHag mort96: Install and boot into new system, mount broken system, rsync the missing directories from the new installation to the broken system. 19:22
19:22 mue joined
ChoHag Be grateful that /boot and /etc are likely untouched and boot your now-fixed old system. 19:22
mort96 that would probably work ChoHag
atweiden mort96: github.com/atweiden/pkgbuilds/tree...rakudo-git
jast since the standard way to use rakudobrew is to clone the git repo, at least the symlinking case would be fixed... but copying rakudobrew to /usr/bin is still problematic
ChoHag Alternatively just reinstall without losing /home.
mst jast: how much do you know about the implementation of FindBin.pm ?
atweiden rakudobrew is unnecessary
really unfortunate for your system to go like that 19:23
jast uhh... I know what's in the pod
timotimo does rakudobrew really clean out the bin it's run from?
ChoHag I long ago gave up trying to preserve linux systems. The installers are so damn easy these days.
mst timotimo: yes!
jast if the pod ain't lying, $RealBin should do the trick
mst it unlinks()s everything except itself from the entire directory
timotimo that's super, super, super, super weird.
mst jast: yes, but also, FindBin is basically terrible
so I'm pondering replacing it while I'm there
mort96 how about having rakudobrew use ~/.rakudobrew regardless of where the executable is?
timotimo ah, everything but itself
right
mort96 that way, using sudo would just make it install things in /root instead of nuking /bin lol
jast there might be valid reasons to not want to use ~/.rakudobrew 19:24
timotimo mort96: because we want people to be able to git clone it to different places
ChoHag Quick question, since I install the various components seperately and by hand, what exactly is rakudobrew?
timotimo also, so you can have .rakudobrew and .rakudobrew-dev if you want to hack .rakudobrew
or something
mort96 that kinda makes sense
timotimo ChoHag: it does the perl configure.pl --gen-moar --gen-nqp and make install step for you
mst ChoHag: tadzik wrote a very small perl script to build the components for him, then it accidentally escaped
timotimo and it allows you to switch between different versions and revisions
and then it builds panda or zef for you, too
jast and several of these steps clean up its bin dir :) 19:25
mort96 anyways, I'll go find a USB stick and start rescuing my system
ChoHag Ah. A permanent temporary quick mission critical hack.
mort96 will be on a tablet
ChoHag I _love_ those.
19:25 llfourn left
timotimo mort96: sorry about this :\ 19:25
mort96 It's k 19:26
flussence half the fun of arch is in breaking it and putting it back together :D
ChoHag mst: FWIW I've been meaning to get around to fixing up the install process ever since I found out that building everything seperately was easier. 19:27
Perhaps this is my impetus to actually do it.
mst I must admit I'm now wondering if writing a new installer from scratch would be safer
ChoHag I have considered it - not much code will be lost. 19:28
CIAvash mort96: If you have a live cd you may be able to fix it with chroot wiki.archlinux.org/index.php/Change_root
ChoHag Though I do so despise the CADT development model.
jast a new installer that provides the same "just add this to $PATH" workflow?
timotimo Can Ask, Don't Tell?
flussence that's kinda why I wanted distro packages... I already have a script to build everything but I feel a bit safer when it's done with seatbelts and a straitjacket
mst timotimo: www.jwz.org/doc/cadt.html 19:29
ChoHag flussence: That's my plan.
mst proposed patch: sherlock.scsys.co.uk/~matthewt/rakudoboo
ChoHag At least get something the major distros don't need to patch much (which can then also be backported) to get it to work in their ecosystem.
mst: Is this the one? unlink catfile($prefix, 'bin', $entry); 19:30
mst I was talking about a perl-build style tarball installer yesterday
ChoHag: yes. notice I've added some guard clause-age above it.
jast mst: not sure what that is supposed to accomplish? by the point your check runs, the loop has already skipped over rakudobrew itself due to the previous nexts 19:31
RabidGravy in the meantime can someone who hasn't drunk quite as much beer as I have today put a readlink in the bit that gets $prefix from $0
timotimo i think i'm a bit afflicted with CADT syndrome
mst jast: the shims are all hardlinks-to-self
jast oh, that is evil 19:32
mst RabidGravy: did you actually look at the patch I've just posted for discussion? because it totally does that :P
RabidGravy oh, I was probably in the kitchen
ChoHag timotimo: We all are.
Knowing is half the battle. And the easy half.
mst oh gods DAMNIT 19:33
that's ... only going to work for existing stuff
timotimo well, that's what we get for recommending a piece of software that the original author never meant to get used like that ...
mst hrmf
ChoHag It's hard enough to restrain my own CADT tendencies at work that I hardly have the energy left to restrain the devs'.
mst rakudobrew works fine if you follow the instructions to the letter
if you try and do something other than what the instructions say, it tends to fail hard
because it was never designed as a mass consumption tool 19:34
jast so, documentation patch? ;)
timotimo yeah
19:34 Tonik left
flussence "please aim footgun at smallest toe" 19:34
ChoHag Simpler patch: sed '1{p;s/.*/exit 1/}'
mst ok, those comments were in a here doc. awesome. 19:35
19:35 pierre-vigier joined 19:36 pierre-vigier left 19:37 Andrew_Scone joined
mst right, kicking off a moar build 19:40
let's see if this does what I wanted
ChoHag So what *are* the components of a complete Rakudo perl 6 installation? VM, NQP, Rakudo, Panda/Zef and modules?
19:40 lnrdo left
mst yeah, pretty much 19:40
uvtc I've been running perl6 via `rlwrap perl6`.
mst thereby repl-icating your usual environment 19:41
uvtc Otherwise no command-line editing in the stock repl.
19:41 dsp- joined
Rotwang Hi, where does perl keep core modules installed with rakudo? I'm trying to debug a problem in the LWP::Simple module, but my debug prints aren't showing up 19:42
geekosaur >>> Simpler patch: sed '1{p;s/.*/exit 1/}' <<< portability police: '1{;p;s/.*/exit 1/;}'
19:42 kjs_ joined
geekosaur (old commercial-unix sed) 19:42
ChoHag Sorry geekosaur. I usually test on bsd which is more fussy about these things but this box is linux. 19:43
Zoffix m: say $*REPO
camelia rakudo-moar 9441bb: OUTPUT«inst#/home/camelia/.perl6/2015.12-18-g9441bb2␤»
Zoffix Rotwang, ^
geekosaur I think bsd will take it. solaris < 10 won't 19:44
mst well, that completely didn't work. awesome/
geekosaur er, solaris < 11
Rotwang I see that modules get compiled to moarvm format, and they are not recompiled automaticaly if the source file is modified
Zoffix Maybe you're editing the wrong source file?
mst oh doh I'm an idiot
Rotwang Zoffix: no, I edited the correct one, when I removed Simple.pm.moarvm my debug prints showed up 19:45
Zoffix Weird. Could be a bug 19:46
Rotwang Zoffix: btw. Dynamic variable $*REPO not found
Zoffix Rotwang, how old is your install?
RabidGravy Rotwang, I'd suggest cloning the module from github and working in the directory of the clone with perl6 -Ilib ...
atweiden in Config::TOML, I've been getting 'WARNING: unhandled Failure detected in DESTROY:' for months
in a 2015.12 release perl6 repl, this warning doesn't affect a Match variable
in a 2015.12 release `prove` test, this causes Test to think the variable is (Any) instead of (Match)
Rotwang Zoffix: it is the rakudo 2015.11
on linux
atweiden IOW i can walk through the tests by hand, and they all pass, but when driven by `prove`, they fail 19:47
Zoffix Rotwang, time to upgrade :)
Rotwang, we released the stable release on Christmas. Your version likely has a ton of bugs and/or features that were changed (including $*REPO)
Rotwang Zoffix: but latest rakudo * is 2015.11
Zoffix Rotwang, come to think of it, the LWP::Simple bug you're debugging is already fixed on newest perl 19:48
Rotwang, hmh, right, we didn't release an R* yet
mst GOTCHA
Rotwang looking at master it isn't
Zoffix s/is already/is probably/; 19:49
mort96 Btw, mst, how are you fixing it? What will be the new behavior?
mst mort96: (1) follow symlinks so it'll create shims in rakudobrew's bin dir
mort96: (2) only unlink things that look like a rakudobrew shim
sherlock.scsys.co.uk/~matthewt/rakudoboo updated
19:49 Zero_Dogg left
mst ChoHag: ^^ thoughts? 19:49
mort96 That sounds good
mst I mean, obviously I want to rewrite, like, everything 19:50
because programmer
but I figure those two changes will make it stay working for anybody it's currently working for while becoming rather safer
mort96 Obviously
19:50 Zero_Dogg joined, Zero_Dogg left, Zero_Dogg joined
mort96 Fixing this bug is probably slightly more urgent than rewriting 19:51
ChoHag Considering that I don't know how rakudobrew actually works, that sounds good in principle.
The devil's in the details though. "that look like" is easier for a human to interpret than a computer. 19:52
19:52 AndyDee joined 19:53 znpy joined
mst github.com/tadzik/rakudobrew/issues/56 # found the issue for it, added the patch URL 19:54
19:55 pierre-vigier joined
mst none of the other extant bugs look quite as hairy 19:55
atweiden anyone wanting Config::TOML should install from panda with --notests
19:55 ilbelkyr left 19:56 ilbelkyr joined
atweiden goes to file multiple RTs 19:56
Rotwang RabidGravy: thanks for the hing 19:57
where is the list of supported character encodidngs by perl6?
19:57 BenGoldberg joined 19:58 Ox0dea joined
flussence t/spec/S15-nfg/crlf-encoding.t has "<utf-8 ascii latin-1 windows-1252>" 19:58
19:58 billN1VUX left
mst timotimo: hey, are you going to check the patch, or is your willingness to help limited to yelling at tadzik? 19:59
flussence src/core/Rakudo/Internals.pm also has "utf16" and "utf32" (with no endianness, wheee)
Zoffix .tell tadzik can you please merge this, as we have some extreme destruction for some users: github.com/tadzik/rakudobrew/pull/72
yoleaux Zoffix: I'll pass your message to tadzik.
mst Zoffix: I already linked the patch in the issue and /msg-ed tadzik the link 20:00
unsure how having github and yoleaux spam him as well helps :)
diakopter I'll merge it. bogotown for you if it's bad
mst what -would- help would be you testing I didn't brerak anything and reporting that on the issue :)
diakopter: ah, you have commit? 20:01
Zoffix Fuck that, I'm not deleing MY /bin :P
diakopter well hopefully it still works in the non symlink case
marged
mst alright, don't wait for me to test it then
diakopter lulz 20:02
chansen_ This is crazy
diakopter I mean, how bad can it hurt if you're only adding lines
20:02 znpy left 20:03 yqt joined
mst sets diakopter on fire, lovingly 20:03
diakopter I mean
Zoffix chansen_, what is?
mst honestly I'm pretty convinced it'll be fine
diakopter: can you link the issue to the PR and close the issue please?
diakopter feels fiery
RabidGravy mmmm toasty
mst breaks out the marshmallows 20:04
diakopter Zoffix did that
Zoffix It's still open tho
mst nobody ever listens to zathrus
Zoffix notes GitHub doesn't magic with "Fix for #d+"
diakopter if I just click random button in github UI that should do it, right 20:05
flussence needs to be in "$verb $hashtag" format without the for in the middle, GH ain't that smart :)
Zoffix If by random button in github UI you mean "Close this issue" then sure :P
diakopter I think it's "Fixes #56 20:06
Zoffix Closes works too
diakopter #56 20:07
darn our bugtraq bot isn't the thing anymore
dalek c: ce12262 | (Neil Shadrach)++ | doc/Language/ (2 files):
Fix minor typos
c: a852eb4 | (Zoffix Znet)++ | doc/Language/ (2 files):
Merge pull request #275 from NeilShadrach/master

Fix minor typos
diakopter er what is it, not bugtraq
flussence just fumbled around blindly wondering why this nqp ebuild wasn't doing anything java-related when I want it to... forgot to actually tell it to first.
diakopter RT
Zoffix #453532
flussence RT #123456 ? 20:08
yep, dead
Zoffix It's symbot... or something and it doesn't appear to be in here
chansen_ Zoffix: merging before proper testing. That rakudobrew can wipe a directory it doesn't own. ...
diakopter chansen_: well obviously they were running as root
flussence they were running something *clearly labelled as rough and broken* as root, for that matter 20:09
mst chansen_: rakudobrew was tadzik's *personal* rakudo installer. it escaped.
diakopter I merge any commit that mentions SPARTACUS
chansen_ diakopter: obviously! Thats not an excuse!
Zoffix
.oO( SPARTACUS? )
mst chansen_: I still remember the day I realised people had DBIx::Class 0.02-ish svn trunk in production
Rotwang looking at github.com/cosimo/perl6-lwp-simple...lwp-get.pl it occured to me that you can call a method of a class
chansen_ mst: hehe
Rotwang and the class is automatically instantiated? 20:10
flussence Rotwang: no, the class is still :U
mst chansen_: also you're doing the "I have no puncutation excvecpt for exclamation marks" thing again, which, like I told you the last four times, makes you come across as drunk and aggressive. please don't.
20:10 lnrdo joined
Rotwang flussence: but in the LWP::Simple code there is a lots of self. 20:10
20:11 ChanServ sets mode: +o mst
flussence self.* refers to the type object there 20:11
Rotwang flussence: so If I had it instantiated then how would I reffer to object things? 20:12
mst I'm an array!
20:12 mst sets mode: -o mst
chansen_ mst: I don't like when people states the obvious, who would you nuke anything in /usr without running as root? 20:12
20:12 regreg joined
chansen_ s/who/how/ 20:13
mst chansen_: presumably you'd need to run chmod 777 first
flussence Rotwang: I don't quite follow what you're asking...
chansen_ mst: true
diakopter m: (my ::mst @){"foo"} 20:14
camelia rakudo-moar 9441bb: OUTPUT«Method 'instantiate_generic' not found for invocant of class 'Array[mst]'␤ in block <unit> at /tmp/AGQMMwbluB line 1␤␤»
Rotwang flussence: in python if I create an instance of a class, I can refer to this objects variables using self (or whatever I choose to call it) 20:15
20:15 sam-lap joined
Rotwang as I understand in perl6 self refers to class no object 20:15
not*
flussence self refers to whatever the method was invoked from, which can be defined or undefined
mort96 Just tried moving things over from a live USB to the disk, now it boots but things are broken because lots of things aren't installed. I think I'll just reinstall everything.
Zoffix Rotwang, "object things" would be twiggiled stuff
mort96 Can't even log in in tty lol 20:16
Zoffix Rotwang, so you;'d access them with $!foo @!bar etc
mst Rotwang: I think that in a class method, self refers to the class, and in an object method, it refers to the object?
Zoffix mort96, damn -_-
blub hi camelia
diakopter I need a rakudobrewbrew to run: git clone github.com/tadzik/rakudobrew.git && cd rakudobrew/bin && ./rakudobrew build moar && ./rakudobrew build-panda && panda install Task::Star
20:17 sam-lap left
mort96 It's k, I have all my files on various servers and all configs in a git repo 20:17
pmurias flussence: re clearly marked as rough and broken, I'm pretty sure nobody expected rakudobrew to go around rampaging in /bin
Zoffix m: await IO::Socket::Async.connect('irc.freenode.net', 6667 ).then({given .result {.print("NICK Camelia_\nUSER NotCamelia localhost irc.freenode.net :notCamelia\nJOIN #perl6\nPRIVMSG #perl6 :Hi, blub\n"); react {whenever .Supply {}}}})
mst diakopter: curl -L goatse.my.system | sh
20:17 Camelia_ joined
Camelia_ Hi, blub 20:17
Zoffix giggles 20:18
This never gets old :P
camelia rakudo-moar 9441bb: OUTPUT«(timeout)»
20:18 Camelia_ left
mst pmurias: oh, absolutely 20:18
I think the point here is that while we totally needed to fix that
chansen_ mst: what if rakudobrew kept a manifest of installed files similar to how the port command/system work on BSD?
mst nobody should blame the original authors for it being broken
chansen_: what if you read my patch first and told me why that would be better
diakopter mst: I think I should sudo su - before that, right?
Rotwang Zoffix: from what I see you can reffer to twigiled stuff in both cases (when you have a class instance and when you call method directly (static-kish)
flussence chansen_: at that point, you're just reinventing a system package manager poorly
mst diakopter: or chmod -R 777 /usr as root first 20:19
Rotwang in LWP::Simple there is this piece of code: self ?? $.default_encoding !! $.class_default_encoding
jdv79 m: class A {method a {self.say}};A.new.a;A.a; # Rotwang
yoleaux 10:05Z <lizmat> jdv79: nothing happened in that area afaik
camelia rakudo-moar 9441bb: OUTPUT«A.new␤(A)␤»
diakopter who's using "code" as a diminutive? or pejorative?
Rotwang so it means I have to distinguish myself if the method is run from the instance or standalone?
jdv79 lizmat: ok, i'll look into it then
maybe
diakopter it filled my disk with SPARTACUS 20:20
jdv79 Rotwang: you can do that with the sig
Zoffix lol
jdv79 :U and :D
diakopter I wonder if I can buy the last 31 years of CCC bracelets on ebay
20:21 llfourn joined
chansen_ mst: I did read your patch but I have not read the whole rakudobrew script, I guess it works relaying on a magic cookie. I'll read the whole script and get back to you 20:22
flussence: why poorly?
mst chansen_: yeah, and I picked a random line of the older code to fall back to
diakopter a magic 329MB cookie, yes
mst chansen_: 'sub rehash' is the culprit
note that I'm 99.9% sure I broke win32 shim -removal- 20:23
but that almost certainly doesn't matter currently
diakopter well if Perl 6 is wiping hard disks then at least it's not a surreptitious trojan virus 20:24
flussence «t/nativecall/01-basic.t ............... java.lang.NullPointerException» aaaargh
mst diakopter: we had a perl5 module written on win32 that managed to 'rm -rf /' during its tests on *n?x 20:25
that was really funny for the people running cpan as root
diakopter is a bit fearful of checking modulecounts.com today 20:26
mst chansen_: basically, if it had always used an explicit list of 'these are my shims', it'd be fine. but there's already installs that don't
diakopter does it anyway
mst chansen_: so I figured regexp-as-heuristic was a reasonable compromise
20:26 llfourn left
Ox0dea $ sudo rm -rf / 20:26
[sudo] password for dea:
rm: it is dangerous to operate recursively on ‘/’
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_Xo8xyidjI␤Undeclared routines:␤ dangerous used at line 1␤ is used at line 1␤ it used at line 1␤ on used at line 1␤ operate used at line 1␤ recursively used at line 1␤ to us…»
Ox0dea rm: use --no-preserve-root to override this failsafe
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/LgYrLySQ2V␤Undeclared routines:␤ failsafe used at line 1. Did you mean 'callsame'?␤ no-preserve-root used at line 1␤ override used at line 1␤ this used at line 1␤ to used at line 1. D…»
Ox0dea mst: ^
It's gonna be okay.
diakopter hrm, still bottom of the barrel at modulecounts
mst Ox0dea: no, I mean, it actually recursively removed / 20:27
flussence diakopter: I wouldn't pay too much mind to it. Some cultures care more about counting their lines of code than making the lines count :)
diakopter how is npm still growing 300 new modules per day during Christmas
Ox0dea mst: How did the `--no-preserve-root` flag get supplied accidentally? 20:28
Zoffix diakopter, don't they have community recommendation that new versions of modules get released in new repos?
So those aren't new modules, just new uploads.
Ox0dea diakopter: JavaScript is eating the world.
mst diakopter: it's easy when you don't write docs or tests
Zoffix And reinvent the wheel for the gazillionth time
20:28 deniska_ joined
flussence
.oO( maybe node has its own version of Net::FullAuto... )
20:28
mst Ox0dea: it didn't. one, that flag is non standard anyway, so none of your comments make any sense at all
Zoffix :P 20:29
diakopter Zoffix: they're new modules, really
mst Ox0dea: two, it's called a metaphor.
atweiden mort96: did you try `pacstrap /mnt base base-devel ...`
Zoffix diakopter, that's pretty crazy :o
mst Ox0dea: I -suspect- it was File::Path's remove_tree that got called with a bad path
but this was a lot of years ago
jdv79 m: class A {multi method a (A:D:){say "i am an object:",self};multi method a (A:U:){say "i am a class/type object:",self}};A.new.a;A.a; # Rotwang
camelia rakudo-moar 9441bb: OUTPUT«i am an object:A.new␤i am a class/type object:(A)␤»
mort96 No, because pacman is in bin
atweiden from a livecd
mort96 Pacstrap*
Didn't try that no 20:30
atweiden mount your fs in /mnt
mst mort96: on the upside, we did get the fix merged already
mort96: so you should hopefully only have to do this once :D
diakopter m: class mst does Hash {}
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yvwuKHtXXR␤Hash is not composable, so mst cannot compose it␤at /tmp/yvwuKHtXXR:1␤»
atweiden requires knowing how you installed your system though
diakopter mst: you cannot compose Hash
Zoffix m: class mst is Hash {}
camelia ( no output )
20:30 deniska left
mort96 Yay 20:30
flussence keeps two copies of the OS installed on separate filesystems just in case
20:31 brrt joined
mst diakopter: no half-ops on this network, it'll work on irc.perl.org 20:31
20:32 lnrdo left, lnrdo joined 20:33 mue left
flussence it's a bit odd that modulecounts lists PEAR but doesn't have PECL, or combine both into one number. that's like omitting all XS stuff from the CPAN stats 20:35
Zoffix Submit a PR :P 20:36
What I don't get is why it lists CPAN and CPAN (search)
20:37 lnrdo left
pmurias Zoffix: so weird past different count issue 20:37
flussence does that differentiate them based on that weird 5-letter tag thing CPAN has? 20:38
mst 5-letter tag? do you mean the PAUSE id, which is 3 to 8 letters long
and is basically the precursor of $AUTHOR and $AUTHORITY
20:39 lnrdo joined
pmurias diakopter: is there a list of newly released npm modules somewhere? 20:40
Zoffix There's a list of recently *updated* packages www.npmjs.com/browse/updated 20:41
flussence mst: no, the other thing that listed a module's state in abbreviated form. I can't even find it any more so maybe it's gone
mst flussence: oh, that, yeah, that was part of the now-deprecated modulelist system 20:42
Zoffix DSLIP
mst it had been largely made of unmaintainium for a while
20:43 geraud joined
uvtc mst: hehehe 20:43
diakopter pmurias: well there are new package revisions uploaded more than once per minute, so I don't think 300/day is just new revisions 20:46
Zoffix Well, this is what these "packages" look like, so I'm not surprised: github.com/apizzimenti/weather-cli 20:47
pmurias Zoffix: I have just looked through them and most of the new ones seems to be crap
diakopter there's no crap on CPAN
20:47 kjs_ left
Zoffix No, not at all :P 20:47
flussence helps that I've never uploaded anything to it :D 20:48
diakopter how many of the Perl 6 modules are Acne
I mean Acme
Zoffix I'm not too keen on having Perl 6 on the top charts, TBH.... It both makes P6 programmers ridiculously cheap and invites the really stupid programmers to produce a ton of crap code (just look at PHP) 20:49
diakopter I don't think it does those two things
Zoffix I've seen some rather scary answers on StackOverflow 20:51
uvtc After using rakudobrew, I see I now have a ~/.perl6 directory as well. What's the purpose of the ~/.perl6 directory?
Zoffix uvtc, contains modules
flussence runtime precomp flotsam
Zoffix m: say $*REPO
camelia rakudo-moar 9441bb: OUTPUT«inst#/home/camelia/.perl6/2015.12-18-g9441bb2␤»
Zoffix flotsam?
diakopter jetsam
flussence "stuff" 20:52
autarch [Coke]: I realized that I may have had an outdated Rakudo & Moar installed - so I nuked and reinstalled - we'll see how the perf is now
diakopter is there a rakudobrew nuke command I haven't seen
autarch diakopter: rakudobrew nuke moar
diakopter ohhhh I was totally kidding
autarch diakopter: yeah, now I realize who you are, duh 20:53
Zoffix plot-twist: it actually nukes your /bin ^_^
autarch I thought doing "rakudobrew build moar" always got me the latest version, but maybe not - I was on 2015.11 until I nuked and did the build again
chansen_ mst: I have just scanned the rakudobrew script and I think your patch is fine for short term solution. For a longer term solution I think rakudobrew should keep track on whats is installed and only remove those files.
flussence “This is nqp version 2015.12 built on JVM” -- wooo, slight progress 20:54
20:54 meabreu joined
mst chansen_: I'm thinking have a shims dir, create them in there, symlink from the bin/ dir 20:54
chansen_: so you basically use "the contents of the shims dir" as the index
chansen_: hrm, though, win32
I'll have to think about it
20:55 meabreu left, skyl4rk joined, deniska_ left, deniska_ joined, deniska_ is now known as deniska
ChoHag What's the correct idiom for "return $foo if <it> <expression>"? 20:55
uvtc Zoffix, thanks, but after `panda install Acme::Meow` completes successfully, I still only see files under ~/.perl6 with (apparently) hashes for filenames...
ChoHag I remember reading somewhere that perl 6 could say that. 20:56
return * if $foo ~~ Object?
chansen_ mst: yeah, or keep a manifest with installed filenames and SHA digests and only remove where those matches
Ox0dea Hey, yeah, how come post-conditionals don't implicitly smart-match? 20:57
ChoHag chansen_: That sounds suspiciously like a package manager, which anywhere other than a package manager would constitute wheel-reinvention.
atweiden flussence: any idea why using panda with --prefix="$sandbox..." doesn't install the module? ix.io/n0B
chansen_ ChoHag: I'm perfectly away of how source and binary package systems work ;) 20:58
Zoffix uvtc, because installation precompiles the modules
chansen_ s/away/aware/
uvtc Zoffix, ah, thanks. 20:59
flussence atweiden: does that produce the usual "can't write to path" errors? I haven't tried system-installing panda yet
ChoHag Then you are perfectly aware of why we don't need Yet Another One.
atweiden it seems to work perfectly, it is only a problem when you go to `use JSON::Tiny`
pmurias Zoffix: second plot-twist, it actually nukes your /home if not run as root ;) 21:00
Zoffix :P
Ox0dea pmurias: /home or $HOME?
Zoffix Both!
atweiden flussence: my panda isn't installed system wide
ChoHag pmurias: I've been busy eating. Tell me that's hyperbole.
Please tell me there isn't something which nukes /home.
flussence oh, I dunno then. I've just been letting panda install to ~/.perl6
ChoHag Or $HOME.
atweiden the panda/bootstrap script doesn't seem to acknowledge `--prefix` being passed to it
mst ChoHag: joke
Zoffix ChoHag, we're just joking 21:01
chansen_ ChoHag: We are talking about a convenient and safe way for developers to use rakudobrew, not a replacement for a port or packing system!
flussence atweiden: I wouldn't be surprised if it's just NYI, lemme read the code first
ChoHag chansen_: Having glanced (and at this point only glanced) through rakudobrew, my tentative conclusion is that safe does not and will not apply. 21:02
Conveniently, developers can get away with safe-ish, so all is not lost.
pmurias ChoHag: it's just a lame joke ;) 21:03
deniska put a thing in a docker container and call it safe 21:04
flussence atweiden: yeah, Panda.pm line 219 respects --prefix, but 214 installs any deps ignoring it. that might be why
ChoHag As a sysadmin, it hits too close to home to be funny.
BenGoldberg m: sub foo { return * if 42; fail 'ouch' }; say foo; 21:05
camelia rakudo-moar 9441bb: OUTPUT«*␤»
chansen_ ChoHag: As a sysadmin you should be qualified to judge whats safe and not!
BenGoldberg m: sub foo { if 42 -> { return $^it }; fail 'ouch' }; say foo;
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fnO7RuBLcH␤Placeholder variable '$^it' cannot override existing signature␤at /tmp/fnO7RuBLcH:1␤------> 3sub foo { if 42 7⏏5-> { return $^it }; fail 'ouch' }; say f␤»
Ox0dea $ echo landline | tr denial '-~ fmr'
(Don't breathe this.)
BenGoldberg m: sub foo { if 42 -> $it { return $it }; fail 'ouch' }; say foo; 21:06
camelia rakudo-moar 9441bb: OUTPUT«42␤»
Zoffix m: sub foo { return * if 42; fail 'ouch' }; say (foo)(42);
camelia rakudo-moar 9441bb: OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/25W_BdqQMf line 1␤␤»
Zoffix :(
BenGoldberg m: say (*)(42); 21:07
camelia rakudo-moar 9441bb: OUTPUT«Cannot find method 'CALL-ME'␤ in block <unit> at /tmp/_iETVOdYXv line 1␤␤»
Zoffix m: (* + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *)(|^20).say
camelia rakudo-moar 9441bb: OUTPUT«121645100408832000␤»
atweiden flussence: panda --prefix="$sandbox..." seems to hardcode the absolute path to the sandbox into the precomp files
ChoHag chansen_: Oh that's easy. Nothing's safe. 21:08
atweiden could be why it isn't finding JSON::Tiny
21:08 xfix left
Zoffix m: (+*)(42).say; 21:08
camelia rakudo-moar 9441bb: OUTPUT«42␤»
flussence :( seems like something to fix in CUR...
Zoffix m: (*+*************************************)(|^20).say 21:10
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ug8OwpVxZE␤Multiple HyperWhatevers and Whatevers may not be used together␤at /tmp/Ug8OwpVxZE:1␤------> 3(*+*************************************7⏏5)(|^20).say␤»
Zoffix HyperWhatevers hmm... what are they
21:10 brrt left, rindolf left
diakopter it's where your whatever has attention problems 21:11
flussence atweiden: I don't think it's that; the *.deps files I have here have a bunch of /var/tmp/portage cruft in them but things work fine
RabidGravy ... HUH! WHAT ARE THEY GOOD FOR? ...
deniska hm, objects in perl6 has FALLBACK… Can I have FALLBACK for a global scope? :) 21:14
autarch so performance for my new Pod::To::HTML still kind of stinks - it's CPU and memory hungry - are there any known performance gotchas with Perl 6 that I should be looking for? the built-in profiler doesn't seem very useful yet - it generates _massive_ JSON dumps that my browser can't handle
I could probably write a Go program that could parse the JSON and generate a report, but I doubt I could write one in Perl 6 (and maybe not even Perl 5) 21:15
21:15 mue joined
Rotwang Most of the exceptions from core modules I see are X::AdHoc, I hope it is a subject to change in the near(ish) future 21:15
21:16 espadrine joined
RabidGravy autarch, I think there is/was/may be a html output option 21:16
flussence autarch: one thing that helps is if you're dealing with a lot of match objects, get rid of them ASAP by stringifying or whatever
RabidGravy Rotwang, yes
21:16 nexysno_ left
Rotwang RabidGravy: ok, thanks 21:16
autarch RabidGravy: yeah, it spits an HTML file which is a SPA with many MB of JSON in it - it just crashes my browser
flussence: I don't think I have any matches that stick around for a long time, AFAIK
RabidGravy eugh
21:17 CIAvash left, Arrowhead left
flussence you're dealing with Pod nodes right? Those might be holding onto match objects too... (in which case, it's not your fault) 21:17
autarch flussence: no, I don't think they have any internally - i've done a lot of "dd"ing of Pod stuff and it's all objects and strings - no matches 21:19
diakopter autarch: maybe add a timeout to your script so the profile output is lessened
autarch diakopter: I profiled a 40 line test file and got a 2.5MB SPA that crashed Chrome and that Firefox could just barely display
and that 40 line test file is nowhere near what the htmlify.p6 code does, so it's not very useful to profile anyway
21:21 AlexDaniel joined
AlexDaniel .u ★ 21:21
yoleaux U+2605 BLACK STAR [So] (★)
Zoffix m: my 無 $x;
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5===␤Type '無' is not declared␤at /tmp/FWCsjcPsfi:1␤------> 3my 無7⏏5 $x;␤Malformed my␤at /tmp/FWCsjcPsfi:1␤------> 3my7⏏5 無 $x;␤␤»
AlexDaniel .u STAR
Zoffix .u 無
yoleaux U+0001 START OF HEADING [Cc] (␁)
U+0002 START OF TEXT [Cc] (␂)
U+0086 START OF SELECTED AREA [Cc] (<control>)
No characters found
AlexDaniel not start…
Zoffix m: say '無'.uniname 21:22
camelia rakudo-moar 9441bb: OUTPUT«<CJK Ideograph>␤»
21:22 JulesFM joined
AlexDaniel .u WHITE STAR 21:22
yoleaux U+2606 WHITE STAR [So] (☆)
flussence .u 'STAR '
yoleaux U+0020 SPACE [Zs] ( )
U+0027 APOSTROPHE [Po] (')
U+0041 LATIN CAPITAL LETTER A [Lu] (A)
AlexDaniel .u WHITE SMALL STAR
yoleaux U+2B52 WHITE SMALL STAR [So] (⭒)
Zoffix m: class 無 is Mu {}; my 無 $x = 42; say $x.WHAT
camelia rakudo-moar 9441bb: OUTPUT«Type check failed in assignment to $x; expected 無 but got Int␤ in block <unit> at /tmp/vtzCvs5X5m line 1␤␤»
21:22 dududuedu joined
AlexDaniel and not to be confused with… 21:22
flussence .u STAR\b
yoleaux U+0041 LATIN CAPITAL LETTER A [Lu] (A)
U+0052 LATIN CAPITAL LETTER R [Lu] (R)
U+0053 LATIN CAPITAL LETTER S [Lu] (S)
AlexDaniel .u ⋆
yoleaux U+22C6 STAR OPERATOR [Sm] (⋆)
diakopter autarch: it probably didn't crash chrome, it just takes a while to laod 21:23
autarch diakopter: you're right - it didn't actually crash it, just kept prompting me about long running scripts
Zoffix ⋆for whatever star would be nice
21:23 llfourn joined
Zoffix Or ★ 21:23
AlexDaniel .u ⋆
yoleaux U+22C6 STAR OPERATOR [Sm] (⋆)
diakopter sometimes it takes up to a minute
AlexDaniel Zoffix: that's an operator
Zoffix: leave it to custom operators, choose any other star
JulesFM Why does ((1,2),3).flat work (it prints (1 2 3) in REPL, but @a = (1, 2), 3; @a.flat not work? (it prints ((1 2) 3) in REPL) ????
flussence Zoffix: you'll have psycopathic maintenance programmers hunting you down if you do that :) 21:24
ChoHag How can you do stub code in a role without needing to write it in the class which consumes it?
Zoffix flussence, why?
ChoHag ie. how to differentiate between "I haven't written this yet" and "you need to write this"?
flussence it's almost impossible to see that it's a fancy unicode star and not an ascii one
21:24 pierre-v_ joined
AlexDaniel flussence: ascii stars??? 21:24
flussence *
ChoHag The ascii * is the star of David. ★ is 5-pointed which ... isn't. 21:25
RabidGravy ChoHag, I don't think you can
Zoffix m: (⋆ + ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆)(|^20).say
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/oyn4h7w1ea␤Bogus statement␤at /tmp/oyn4h7w1ea:1␤------> 3(7⏏5⋆ + ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ⋆ * ␤ expecting any of:␤ prefix␤ term␤»
AlexDaniel flussence: what font on earth does render those similarly?
Zoffix Looks sexy to me
MilkmanDan ChoHag: I think you have that backwards.
flussence those are both 5-pronged with inconsolata.ttf
RabidGravy weirdo
JulesFM What am I missing about lists?
Zoffix .u multiplication
yoleaux U+00D7 MULTIPLICATION SIGN [Sm] (×)
U+228D MULTISET MULTIPLICATION [Sm] (⊍) 21:26
U+2715 MULTIPLICATION X [So] (✕)
autarch I note that in my font the ASCII star has 5 points
MilkmanDan ASCII * is the stick figure version.
AlexDaniel m: my @a = (1, 2), 3; say @a.flat
camelia rakudo-moar 9441bb: OUTPUT«((1 2) 3)␤»
Zoffix Or even this: (⋆ + ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆ × ⋆)(|^20).say
AlexDaniel m: my @a = (1, 2), 3; say flat @a
camelia rakudo-moar 9441bb: OUTPUT«((1 2) 3)␤»
AlexDaniel m: my @a = (1, 2), 3; say |@a
camelia rakudo-moar 9441bb: OUTPUT«(1 2)3␤»
Zoffix | is slip 21:27
AlexDaniel m: my @a = (1, 2), 3; say flat flat @a
camelia rakudo-moar 9441bb: OUTPUT«((1 2) 3)␤»
AlexDaniel m: my @a = (1, 2), 3; say flat flat flat flat @a # dammit
camelia rakudo-moar 9441bb: OUTPUT«((1 2) 3)␤»
21:27 pierre-v_ left, pierre-vigier left
Zoffix hm 21:27
21:27 pierre-vigier joined
AlexDaniel m: my @a = (1, 2), 3; dd @a 21:27
camelia rakudo-moar 9441bb: OUTPUT«Array @a = [(1, 2), 3]␤»
AlexDaniel m: my @a = (1, 2), 3; dd @a[0]
camelia rakudo-moar 9441bb: OUTPUT«List @a = $(1, 2)␤»
AlexDaniel m: my @a = (1, 2), 3; say @a[0].WHAT
camelia rakudo-moar 9441bb: OUTPUT«(List)␤»
Zoffix oh, this reminds me
21:28 llfourn left
Zoffix It's likely related to .flatmap being broken too rt.perl.org/Ticket/Display.html?id=127036 21:28
dalek p: 51585c8 | (Pawel Murias)++ | t/nqp/88-more-if-tests.t:
Test nqp::ifnull.
JulesFM So what's the difference between a list and an array, and how did we end up with a top-level Array and not a List?
21:29 hankache joined
flussence lists have one end but may not have another 21:29
Zoffix .u whatever 21:30
yoleaux No characters found
Zoffix :(
This looks awesome: (★ + ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★ × ★)(|^20).say 21:31
Skarsnik :)
AlexDaniel what really bothers me is that unicode has BLACK and WHITE symbols 21:32
21:32 hankache left
AlexDaniel instead of using normal and INVERTED 21:32
.u DRAUGHTS
yoleaux U+26C0 WHITE DRAUGHTS MAN [So] (⛀)
U+26C1 WHITE DRAUGHTS KING [So] (⛁)
U+26C2 BLACK DRAUGHTS MAN [So] (⛂)
AlexDaniel guess how that looks like on black background
JulesFM p6: @a = (1,2),3; say @a.WHAT; say @a[0].WHAT;
camelia rakudo-moar 9441bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Variable '@a' is not declared␤at /tmp/tmpfile:1␤------> 3<BOL>7⏏5@a = (1,2),3; say @a.WHAT; say @a[0].WHA␤»
AlexDaniel JulesFM: my 21:33
21:33 domidumont left
Zoffix p6:my @a = (1,2),3; say @a.WHAT; say @a[0].WHAT; 21:33
21:33 domidumont joined
Zoffix p6: my @a = (1,2),3; say @a.WHAT; say @a[0].WHAT; 21:34
camelia rakudo-moar 9441bb: OUTPUT«(Array)␤(List)␤»
mst flussence: did our patch make it in yet?
flussence: github.com/tadzik/rakudobrew/issues/73 looks like the same thing
AlexDaniel this is driving me crazy, how can this thing become flat?
I mean, how do I make it flat
even if it is a bug, what's the workaround? 21:35
flussence mst: both our patch and the thing nine came up with made it into git, but not 2015.12
mst flussence: is that issue the same thing?
or a mkdir versus mkpath difference
flussence yep
mst right, I have to head out to meet somebody again 21:36
can you write something up on the issue please?
RabidGravy m: my @a = (1,2),3; say @a.map: *.list
camelia rakudo-moar 9441bb: OUTPUT«((1 2) (3))␤»
flussence righto
RabidGravy oh. weirder
mst thanks
&
flussence++
RabidGravy m: my @a = (1,2),3; say @a.map({ $_.list}).flat
camelia rakudo-moar 9441bb: OUTPUT«(1 2 3)␤»
dalek p: d0eb164 | (Pawel Murias)++ | t/nqp/19-file-ops.t:
Test we are at EOF after nqp::readallfh.
21:37
AlexDaniel m: my @a = (1, 2), 3; say @a>>.list.flat
camelia rakudo-moar 9441bb: OUTPUT«(1 2 3)␤»
RabidGravy there
AlexDaniel m: my @a = (1, (2, 5)), 3; say @a>>.list.flat
camelia rakudo-moar 9441bb: OUTPUT«(1 2 5 3)␤»
chansen_ Did Swift reuse multi dispatch on named parameters? AFIK only Perl6 and Swift uses named parameters?
Zoffix m: my @a = (1, (2, (42,5))), 3; say @a>>.list.flat
camelia rakudo-moar 9441bb: OUTPUT«(1 2 42 5 3)␤»
RabidGravy there's always a way 21:38
AlexDaniel JulesFM: ↑
21:38 dotness left
Zoffix m: say ((1, (2, (42,5))), 3).flat 21:39
camelia rakudo-moar 9441bb: OUTPUT«(1 2 42 5 3)␤»
chansen_ s/reuse/reuse from Perl6/
Ox0dea m: my @a = (1,2),3; say @a.List.flat # RabidGravy
camelia rakudo-moar 9441bb: OUTPUT«(1 2 3)␤»
Ox0dea No need to map.
Just reconstruct.
AlexDaniel Ox0dea: awesome
Ox0dea NO U
RabidGravy what larks 21:40
diakopter whimsy
chansen_ AlexDaniel: What happen if you combine them with Unicode skin tones? 21:41
21:41 domidumont left
AlexDaniel chansen_: nothing, I hope 21:41
by the way, let's try skin tones…
21:41 smls left
dalek ast: 5fb2feb | (Zoffix Znet)++ | S32-num/is-prime.t:
Test more values in is-prime sub

This covers incorrect values described in RT#127044 rt.perl.org/Ticket/Display.html?id=127044
21:43
ast: 4c91839 | lizmat++ | S32-num/is-prime.t:
Merge pull request #92 from zoffixznet/rt-127044

Test more values in is-prime sub
RabidGravy chansen_, erlang and ocaml have named parameters to my certain knowledge
flussence `rakudobrew build moar` pulls straight from latest git/nom, right?
RabidGravy yes
flussence k, just wanted to make sure I don't give people a bunch of wrong advice :) 21:44
Ox0dea .u BLACK CHESS KING + EMOJI MODIFIER FITZPATRICK TYPE-1-2
yoleaux U+0020 SPACE [Zs] ( )
U+002B PLUS SIGN [Sm] (+)
U+002D HYPHEN-MINUS [Pd] (-)
Ox0dea That went well.
chansen_ RabidGravy: supporting multi dispatch named parameters in constructors and method names? 21:45
Ox0dea Zoffix: You misspelled "coercion". :< 21:46
Zoffix heh, I had it as coercion and then changed it -_-
Ox0dea English is a guessing game, amirite? :P 21:47
Zoffix Ox0dea, well, submit a PR
RabidGravy well in the case of erlang that's somewhat of a trick question, don't know ocaml well enough to be sure
skyl4rk anybody using vim to write perl6 and having problems with vim freezing to a cpu-eating halt?
lizmat good *, #perl6
Ox0dea skyl4rk: Not yet.
skyl4rk (with syntax hilighting on, turning it off seems to drop the problem)
Zoffix No, English is fine when you're not writing it in the morning after 4 days of heavy drinking
gfldex m: my $l = ((1, (2, (42,5))), 3); dd $l.flat; 21:48
camelia rakudo-moar 9441bb: OUTPUT«(1, 2, 42, 5, 3).Seq␤»
lizmat Zoffix: wrt PR 656, I approve of the idea, but not of the patch... testing another one right now
mort96 eyyyy, back with a working Linux install
Zoffix lizmat, sure, go ahead with closing it and using something saner instead :)
Ox0dea mort96: Papyros?
AlexDaniel m: say ‘🎅🏿’.chars
camelia rakudo-moar 9441bb: OUTPUT«2␤»
mort96 no, arch
well
RabidGravy skyl4rk, yes I use vim, no it doesn't do that. And I edit some large files.
AlexDaniel sooo, should it be 2?
mort96 antergos really
lizmat Zoffix: fwiw, I *did* merge the tests :-)
Zoffix lizmat, there're two typoes as Ox0dea++ just discovered. "coersion" should be "coercion" 21:49
Maybe you could fix it :)
Ox0dea An Archer using IRCCloud?
Something new every day. 21:50
mort96 Ox0dea: was hit by a tiny bug in Rakudobrew which deleted everything in /bin, so had to reinstall
lizmat Zoffix: will do, also: it's is-prime, not isprime and the number of tests was incorrect :-)
mort96 don't worry, I'm currently working on writing my own replacement for irccloud
Ox0dea mort96: Why?
uvtc Which docs can I access with `perl6 --doc`? I panda-installed Acme::Meow, but `perl6 --doc Acme::Meow` couldn't stat the file, and `perl6 --doc=Acme::Meow` just drops me into the repl.
Zoffix lizmat, oh god :) I should not submit PRs when I'm super hungover >_<
mort96 why what? reinstall or irccloud replacement?
ChoHag I have a token "module" which matches perl-like module names (<.plain-word> [ '::' <.plain-word> ]+), why doesn't the token which includes it (<.module> [ '+{' <.module> '}' ]*) match module names with +{Foo::Bar} appended? 21:51
dalek ast: d4a77bd | lizmat++ | S32-num/is-prime.t:
Fix tests added by Zoffix++
Zoffix
.oO( coercion )
mort96 Ox0dea:
AlexDaniel folks, so am I getting it right that emoji skin color modifier should kinda combine with the previous character? So that we get 1 when we do .chars? 21:52
dalek kudo/nom: 8c56c11 | lizmat++ | src/core/Int.pm:
Only return True on whole numbers, Zoffix++

This is an alternate version of PR #656
Ox0dea mort96: You'd already explained why you reinstalled, so why would I be asking about that?
lizmat AlexDaniel: it probably should, yes
mort96 idk, could be something like "why would a bug in rakudobrew delete /bin?"
Ox0dea mort96: More to the point, why did you run it with the requisite privileges? 21:53
AlexDaniel what does the unicode say about this? Should it actually be treated as one grapheme? That would make sense
mort96 because it asked me
writing a replacement for irccloud because I like writing software, and like using my own software, and don't want to pay for irccloud 21:54
and because irccloud sometimes goes down, which is annoying
chansen_ RabidGravy: Ok
ShimmerFairy AlexDaniel: AFAICT Unicode's current definition of "extended grapheme cluster" may not cover the skin color modifiers; if so, feel free to file a bug with them :) 21:55
AlexDaniel “When a human emoji is not immediately followed by a emoji modifier character, it should use a generic, non-realistic skin tone, such as: #3399CC”
this is just nuts…
Ox0dea AlexDaniel: Python and Ruby both say 2.
RabidGravy is #3399CC sort of Simpsons yellow? 21:56
AlexDaniel Ox0dea: they are wrong. Throw a combiner into them and they'll say the same thing
RabidGravy: it's fucking blue
ChoHag Goes down?
How can it go down?
It's _the cloud_.
mort96 lol
21:57 JulesFM left
Zoffix RabidGravy, it's this: jsfiddle.net/hvg2x5ks/ 21:57
flussence "why is our business losing thousands of dollars a minute? precipitation!"
chansen_ AlexDaniel: why do you think I ask you? Unicode is insane! ;o)
timotimo if anybody here owns a nintendo 3ds, the "console hacking" talk on the 32c3 is about to start
Ox0dea AlexDaniel: You're right.
flussence timotimo: already got it open :D
timotimo streaming.media.ccc.de/32c3/hallg/
Skarsnik 32c3?
blub thats a pretty blue
timotimo 32nd chaos communication congress 21:58
RabidGravy the colour of smurfs, that's not non-realistic
AlexDaniel “As to hair color, dark hair tends to be more neutral, because people of every skin tone can have black (or very dark brown) hair—however, there is no requirement for any particular hair color. One exception is PERSON WITH BLOND HAIR, which needs to have blond hair regardless of skin tone.”
Just read this, it is hilarious: unicode.org/reports/tr51/#Emoji_Modifiers_Table 21:59
21:59 anthk_ joined
Zoffix lol 21:59
Skarsnik rofl unicode
Hotkeys mort96: could always just use a bouncer like znc
RabidGravy god that meeting must have been way fun 22:00
timotimo run weechat on a server and use the weechat remote protocol
Skarsnik Zoffix, I have another thing for you to add to irc::client, allow some pluging to create new event xD
22:00 pierre-vigier left
timotimo 100x better than "bouncer"s 22:00
Hotkeys lol
flussence
.oO( unicode should just assign codepoint equivalents for VT220 escape sequences )
ChoHag m: grammar Path { token plain-word { <:Letter + [_]> <:Letter + :Number + :Symbol - [.\[\]\<\>\:]>* }; token module { <.plain-word> [ '::' <.plain-word> ]+ }; token class { <.module> [ '+{' <.module> '}' ]* } }; Path.parse('Foo::Bar', :rule<class>).perl.say; Path.parse('Foo::Bar+{Baz::Bing}', :rule<class>).perl.say
camelia rakudo-moar 9441bb: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "Foo::Bar", to => 8, from => 0)␤Nil␤»
ChoHag Why is the 2nd Nil?
Hotkeys idk I like my bouncer
ChoHag Is there some sort of problem with irssi & tmux which needed solving with http? 22:01
ShimmerFairy it looks like the skin tone modifiers are Grapheme_Base, and not Grapheme_Extend like I'd expect, for some odd reason
mort96 yes, actually
ChoHag That's a rhetorical question.
Zoffix Skarsnik, what's the use case?
lizmat m: my $f = "\x1F466\x1F3FE"; say "$f $f.chars()" # this feels like a bug
camelia rakudo-moar 9441bb: OUTPUT«👦🏾 2␤»
AlexDaniel “In real multi-person groupings, the members may have a variety of skin tones.” – does it mean that KISS character should have one person black and another one white?
mort96 irssi in tmux in ssh works pretty shit on phones.
flussence mst, anyone else interested: github.com/tadzik/rakudobrew/issues/73 people on OS X are apparently having the same problems distro packager people are. might be good cause to roll a 2015.12.1... 22:02
Skarsnik Zoffix, Twitch.tv chat that use IRC, they have specific event like "someone is hosting you"
ChoHag mort96: On shit phones maybe.
Though in your defense, they all are. 22:03
22:03 pierre-vigier joined
Zoffix Skarsnik, what do you mean by "create new event"? A new event other plugins can subscribe to? 22:03
Skarsnik Yes
Zoffix Skarsnik, then I don't get the usecase :)
Hotkeys is there a quick way to initilize an int array to 0
mort96 terminals are inherently bad on touch screens.
AlexDaniel “The U+200D ZERO WIDTH JOINER (ZWJ) can be used between the elements of a sequence of characters to indicate that a single glyph should be presented if available.” 22:04
Hotkeys would I just do a for loop on @array and set $_ = 0
AlexDaniel ok, I give up, I have no idea how this could possibly work
mort96 plus, how are you supposed to get notifications? You could have something listen to a bell character, but you wouldn't get the text and sender in the notification
lizmat AlexDaniel: will submit rakudobug
AlexDaniel lizmat: oh, nice
timotimo Hotkeys: int arrays are not initialized to zeroes for you? 22:05
m: my int @a[10]; say @a
camelia rakudo-moar 9441bb: OUTPUT«[0 0 0 0 0 0 0 0 0 0]␤»
22:05 dududuedu left
Hotkeys spam: 22:05
> my Int @lights[1000;1000];
Method 'gist' not found for invocant of class 'NQPMu'
> @lights[0;3]
> @lights[0;3] = 1
1
deniska mort96: set up your server to send you SMS when someone pings you
Hotkeys > @lights[0;3]
1
AlexDaniel lizmat: maybe it should also mention ZERO WIDTH JOINER… or this could be a separate bug report
Hotkeys am I doing this wrong
AlexDaniel Hotkeys: yes, why don't you use gitlab snippets?
mort96 then I'm not notified on my tablet
ChoHag Odd. This works:
Hotkeys not that part
ChoHag m: grammar { token plain-word { <:Letter + [_]> <:Letter + :Number + :Symbol - [.\[\]\<\>\:]>* }; token module { <.plain-word> [ '::' <.plain-word> ]+ }; token class { <.module> [ '++' <.module> ]* } }.parse('Foo::Bar++Baz::Bing', :rule<class>).perl.say
camelia rakudo-moar 9441bb: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => "Foo::Bar++Baz::Bing", to => 19, from => 0)␤»
Hotkeys I meant the array
22:05 uvtc left
deniska Also who needs notifications? 22:05
lizmat AlexDaniel: I think a different one would be in order, will you do that one ? 22:06
ChoHag But this doesn't, despite an identical change in the string and token:
mort96 they're nice to have.
ChoHag m: grammar { token plain-word { <:Letter + [_]> <:Letter + :Number + :Symbol - [.\[\]\<\>\:]>* }; token module { <.plain-word> [ '::' <.plain-word> ]+ }; token class { <.module> [ '+(' <.module> ]* } }.parse('Foo::Bar+(Baz::Bing', :rule<class>).perl.say
camelia rakudo-moar 9441bb: OUTPUT«Nil␤»
AlexDaniel lizmat: yes, deal
deniska mort96: they are nice way to allow other people to eat your time :)
AlexDaniel lizmat: but I will read about this one for a few minutes…
ChoHag Obviously perl's and my idea of identical differ, but why?
Skarsnik Zoffix, hm, like if I want to write a ircbot to do stuff with twitch chat, I probably want to handle twitch special stuff, like when someone is hosting my stream (you get a privmsg/notice from an user). I mean I can do it normaly, but I probably just want to have a special new event for that
Hotkeys m: my Int @lights[10,10]; say @lights;
camelia rakudo-moar 9441bb: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/BLg5N_0wX3 line 1␤␤»
Hotkeys m: my Int @lights[10;10]; say @lights;
camelia rakudo-moar 9441bb: OUTPUT«Method 'gist' not found for invocant of class 'NQPMu'␤ in block <unit> at /tmp/BbFvpgQUrI line 1␤␤»
Hotkeys how do I shaped array
Skarsnik the 32c3 stream buffer like crazy :(
22:07 pierre-vigier left
Hotkeys m: my int @lights[10;10]; say @lights; 22:07
camelia rakudo-moar 9441bb: OUTPUT«[[0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0 0 0]]␤»
Hotkeys oh weird
Zoffix Skarsnik, k, I'll add that when I get a chance
Hotkeys Are arrays of "Int" not a thing?
chansen_ AlexDaniel: I didn't intend to cause this disturbance in your work ;) 22:08
anthk_ hello
Zoffix anthk_, hai
anthk_ how do I iterate over a file content in binary mode in Perl6?
Zoffix anthk_, use :bin 22:09
Skarsnik open :bin ?
Ox0dea Hotkeys: Hm? 22:10
Hotkeys see above camelia bits
22:11 kaare_ left
Ox0dea m: say my @a[10;10].shape # Hotkeys 22:11
camelia rakudo-moar 9441bb: OUTPUT«(10 10)␤»
22:11 patrickz left, krshn left
chansen_ AlexDaniel: Unicode has done a lot of mistakes since they thought ISO/IEC 10646 where theres to control 22:12
lizmat AlexDaniel: #127047
22:12 patrickz joined
chansen_ lizmat: Do you have uri for that? 22:13
anthk_ Zoffix: would it work if I copy the bytes to an array?
lizmat chansen_: rt.perl.org/Ticket/Display.html?id=127047
chansen_ lizmat: thanks 22:14
anthk_ what I am trying to implement is a chip8 interpreter , and copying bytes to the fake memory array gave me type errors. 22:15
AlexDaniel RT #127047
where's the bot? :)
Zoffix ded
anthk_ my uint16 @memory[4096];
lizmat good night, #perl6!
Zoffix night 22:16
RabidGravy anthk_, assigning a Buf to that won't no 22:17
$buf.list however may work
i.e 22:18
m: my $buf = Buf.new(<1 2 3 4>); my uint16 @a = $buf.list; say @a; 22:19
camelia rakudo-moar 8c56c1: OUTPUT«1 2 3 4␤»
Ox0dea RabidGravy: grammarist.com/usage/ie-eg/
22:19 Begi joined
Zoffix Really bruh? -_- 22:20
Ox0dea Precision matters.
Don't let these things upset you.
Zoffix Not in here.
RabidGravy that's nice 22:21
Zoffix *Not in this case.
22:21 Zero_Dogg left
anthk_ Buf.new() could work with the file handle? 22:21
RabidGravy anthk_, if you do ... .open(:bin); .... my $buf = $handle,read(..); 22:22
you get a Buf back
so no need to construct one 22:23
22:24 llfourn joined
AlexDaniel m: say “\x1F469\x200D\x2764\xFE0F\x200D\x1F48B\x200D\x1F468”.chars 22:28
camelia rakudo-moar 8c56c1: OUTPUT«4␤»
22:29 llfourn left
AlexDaniel m: say “\x1F469\x200D\x2764\xFE0F\x200D\x1F48B\x200D\x1F468” 22:29
camelia rakudo-moar 8c56c1: OUTPUT«👩‍❤️‍💋‍👨␤»
anthk_ now I need a way to get the size. Sorry if I annoy you. 22:30
Zoffix anthk_, the total number of elements in your array? it's .elems
m: my @a = ^10; say @a.elems
camelia rakudo-moar 8c56c1: OUTPUT«10␤»
AlexDaniel m: my @a = ^10; say +@a 22:31
camelia rakudo-moar 8c56c1: OUTPUT«10␤»
Zoffix This is hilarious brainfuck written in printf: github.com/HexHive/printbf
Hotkeys is there an idiomatic way to toggle a bool?
Zoffix Hotkeys, ?
Hotkeys or should I just xor it
Zoffix Oh, toggle
Ox0dea Hotkeys: What's wrong with `$b = !$b`? 22:32
Hotkeys oh
right
I'm, dumb
s/,//
deniska $b.=not 22:34
because why .=not?
RabidGravy :)
Ox0dea Ah, there's the method for which I was looking.
Hotkeys nice
I like it
Ox0dea `.=` might be my favorite operator. 22:35
RabidGravy ugly to me
Hotkeys yeah
Ox0dea Pfft.
Do you feel that way about compound assignment in general?
timotimo i like .=
RabidGravy yeah lots of people do, I just don't feel the love 22:36
22:37 mohij joined
anthk_ mapping a buffer to an array seems impossible to me :( 22:37
ShimmerFairy $a ^^= True ? :)
Zoffix anthk_, why?
22:38 leont joined
anthk_ my $buf = $fh.read($fh.IO.s); 22:38
ShimmerFairy RabidGravy: I personally like making use of .= to allow the user to choose (more easily) if the method modifies the object, i.e. $a.doesn't-modify, $a.=this-does
22:38 patrickz left
anthk_ and then I create a loop from $i to $buf.IO.s, because I don't know how to get the size of the buffer 22:39
Ox0dea ShimmerFairy: It doesn't actually modify the invocant, though.
22:39 SwellJoe joined
RabidGravy $buf.elems 22:39
anthk_ but this is perl6, sure there is another and proper way to do so
Zoffix anthk_, I told you, .elems
AlexDaniel lizmat: rt.perl.org/Public/Bug/Display.html?id=127048
Zoffix anthk_, doc.perl6.org/type/Buf
nine .tell [Coke] yes, I'm quite sure panda will get an uninstall 22:40
yoleaux nine: I'll pass your message to [Coke].
22:41 mohij is now known as patrickz
ShimmerFairy Ox0dea: true, I just like making it so that the extra = as a visual indicator that $a will change, instead of remembering/looking up the API. Not that I stick to the rule all that much, but it's a nice one anyway. :) 22:41
22:45 lnrdo left, otsuaf joined
otsuaf hallo 22:45
22:45 lnrdo joined, mue left 22:46 geck joined, otsuaf left
anthk_ ok, now it works, thanks. 22:47
ironic that opcode logic seems easier (pen and paper does wonders) than some new stuffin p6 22:48
Ox0dea m: say [+] grep * %% (3|5), ^1000 # anthk_ 22:49
camelia rakudo-moar 8c56c1: OUTPUT«233168␤»
Ox0dea My favorite Euler #1 solution evar.
It looks like pseudocode for programmers.
22:50 Begi left
Ox0dea I think some of that is new in Perl 6, anyway. 22:50
anthk_ 0x0dea I am writting the chip8 interpreter in an easy way, sure I could do some perl magic as some people did implementing the vm in Scheme
Ox0dea 03> Sound timer: This timer is used for sound effects. When its value is nonzero, a beeping sound is made. 22:51
That's fun. :P
AlexDaniel m: say [+] ^1000.grep: * %% (3|5)
camelia rakudo-moar 8c56c1: OUTPUT«Potential difficulties:␤ Precedence of ^ is looser than method call; please parenthesize␤ at /tmp/87CupQm5AH:1␤ ------> 3say [+] ^10007⏏5.grep: * %% (3|5)␤0␤»
AlexDaniel m: say [+] ^1000 .grep: * %% (3|5)
camelia rakudo-moar 8c56c1: OUTPUT«(499500)␤»
AlexDaniel huh, different answer? 22:52
m: say [+] (^1000 .grep: * %% (3|5))
camelia rakudo-moar 8c56c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5EqdaqdEjM␤Confused␤at /tmp/5EqdaqdEjM:1␤------> 3say [+] (^1000 .7⏏5grep: * %% (3|5))␤»
anthk_ the fonts were easy, just a fixed array of bytes. Literally.
Zoffix m: say (^1000 .grep: * %% 3|5)
camelia rakudo-moar 8c56c1: OUTPUT«(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 8…»
Zoffix m: say [+] (^1000 .grep: * %% 3|5)
camelia rakudo-moar 8c56c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0ynGc04Fl1␤Confused␤at /tmp/0ynGc04Fl1:1␤------> 3say [+] (^1000 .7⏏5grep: * %% 3|5)␤»
Zoffix m: say [+] (^1000 \ .grep: * %% 3|5)
camelia rakudo-moar 8c56c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CagJHoQVwX␤Confused␤at /tmp/CagJHoQVwX:1␤------> 3say [+] (^1000 \ .7⏏5grep: * %% 3|5)␤»
Ox0dea Zoffix: Please figure it out locally. :P
Zoffix m: say [+] (0..9999 .grep: * %% 3|5)
camelia rakudo-moar 8c56c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/44NB0XoA_c␤Confused␤at /tmp/44NB0XoA_c:1␤------> 3say [+] (0..9999 .7⏏5grep: * %% 3|5)␤»
Ox0dea Or keep shitting into the channel. :( 22:53
Zoffix m: say [+] ((0..9999) .grep: * %% 3|5)
camelia rakudo-moar 8c56c1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8NZYgbTrzO␤Confused␤at /tmp/8NZYgbTrzO:1␤------> 3say [+] ((0..9999) .7⏏5grep: * %% 3|5)␤»
AlexDaniel m: say [+] (^1000).grep: * %% (3|5)
camelia rakudo-moar 8c56c1: OUTPUT«233168␤»
Zoffix m: say [+] ((0..100).flat.sort: * %% (2|3)) 22:55
camelia rakudo-moar 8c56c1: OUTPUT«cannot numify this␤ in block <unit> at /tmp/3HYqx8FtL1 line 1␤␤»
Zoffix m: say [+] ((0..100).flat.sort: * %% 3)
camelia rakudo-moar 8c56c1: OUTPUT«5050␤»
Ox0dea m: say sum ^101 # Zoffix: Mine's shorter. :P 22:57
camelia rakudo-moar 8c56c1: OUTPUT«5050␤»
geck are there any ORMs from perl6 yet? I don't need something as full features at DBIc, just some premade sugar for handling my queries & managing connections 22:58
22:58 molaf left
Zoffix geck, not yet 22:58
RabidGravy well some very experimental ones, github.com/tony-o/perl6-db-orm-quicky 22:59
I don't even know this works BTW 23:00
geck that has some smells 23:01
Zoffix "Latest commit Dec 2, 2014"... I highly doubt it works.
RabidGravy yeah, I'd take book on it not working given the last time it was updated
Hotkeys "Partially dimensioned views of arrays not yet implemented." this makes me sad
Rotwang how do I know which core perl6 module is the official one? All the official modules are maintained under perl6 group in github? 23:02
23:02 zengargoyle left
Zoffix
.oO( perl6 has core modules? )
23:02
Skarsnik Not really
Test/NC maybe? 23:03
RabidGravy Rotwang, there are only two "core" modules, NativeCall and Test
Zoffix But those aren't in a git repo
Skarsnik Probably Test. NC depend a lot of internal feature
geck How about web frameworks?
Zoffix geck, have you seen modules.perl6.org?
RabidGravy modules.perl6.org/
23:03 zengargoyle joined
geck yes, been looking through it all day, and founda few options for things 23:04
Rotwang RabidGravy: I meant those distributed with rakudo *
Zoffix geck, they're a couple, but nothing usable in production TBH
geck, you could use Perl 5 stuff via Inline::Perl5 tho
Rotwang for example lwp-simple is forked gazilion times, how do I know which one is the one being used by rakudo *?
geck not really looking for production usage, mostly looking for stuff to play with
Skarsnik hm, rakudo star is quite random
the one on modules.perl6.org
RabidGravy Rotwang, same answer as to geck modules.perl6.org/
Zoffix geck, there's Bailador that I tried using 23:05
RabidGravy that is built from the same list that panda uses to install, and thus Task::Star will use those 23:06
Skarsnik modules.perl6.org is probably missing to be mentionned on perl6.org maisn pages?
Zoffix (web frameworks)
Skarsnik, I see it as item 3 in perl6.org/getting-started/
RabidGravy People need to start using tags on their distributions 23:07
of course then we'll get a host of weirdos trying to mandate a "taxonomy" 23:08
Skarsnik taxonomy?
geck trying to standardize the tags that are used
and getting REALLY vigilent about it 23:09
Zoffix damn, why are modern movies so long :/
2h24m for The Martian :\ 23:10
Skarsnik I don't know how is doable, but maybe add a .travis job on ecosystem perform some check on the last entry
geck snickers
Zoffix Skarsnik, hm? 23:11
Skarsnik well we could have a .travis on ecosystem that will be run on each PR request that will check like the Meta file?
Zoffix That leaves the problem of not checking METAs after authors modify them 23:13
We have this tho: you can grep for "[error]" to find all errors. modules.perl6.org/update.log
flussence glances at timotimo and expects github will be overloaded right about now too... :)
Zoffix I notice 007 now got a JSON error
timotimo flussence: :D 23:14
"sorry, were you using github for anything else?"
RabidGravy are you breaking stuff
23:14 pmurias left
timotimo no 23:15
something was just announced
Zoffix Where?
flussence 32C3
Zoffix Perl 6?
RabidGravy github was rightly cocking me around yesterday
flussence nahhhh, we're way too small time to generate that kind of traffic...
RabidGravy swift or go then 23:16
Zoffix Can I watch what was announced or ... ?
23:16 espadrine left
flussence shrugs, it'll probably have everything on youtube same day though... 23:17
(I'm kinda impressed that they had a live stream in webm format that actually worked though) 23:18
timotimo flussence: you underestimate the c3voc
go to the main page and find the "re-live" button 23:19
flussence clearly knows nothing :)
timotimo the c3voc is simply 100% amazing. 23:20
Ox0dea flussence: Are you Jon Starkgaryen?
RabidGravy webm has been around for a while, icecast supported it for a few versions now
Zoffix So... what was announced?
timotimo Zoffix: new hax for nintendo 3ds
Zoffix ah 23:21
23:21 virtualsue joined
Zoffix got all excited for nothing 23:21
RabidGravy yeah not really my thing
flussence RabidGravy: I've tried many, many times to do some sort of webm streaming via ffserver and it's always failed miserably. maybe I was using the wrong software 23:22
RabidGravy though they've got a relatvely good sound chip
flussence, you could probably get something going with liquidsoap and icecast 23:23
don't know of a good source client though (more interested in audio streaming)
23:25 llfourn joined
dalek kudo/nom: 47d3b98 | hoelzro++ | src/Perl6/Compiler.nqp:
Move Linenoise logic into helper method

Also, rename $!linenoise to $!readline, paving the way for integrating with Readline should it be available
23:26
kudo/nom: 0a76a99 | hoelzro++ | src/Perl6/Compiler.nqp:
Load completions lookup unconditionally

Otherwise each readline backend will have to remember to load them, and it's not a big performance hit to maintain it
kudo/nom: 5dacb11 | hoelzro++ | src/Perl6/Compiler.nqp:
Add Readline support

Now Rakudo will try to use Jeff Goff's Readline module if available, since many users don't care for Linenoise
kudo/nom: a7ea8e6 | hoelzro++ | src/Perl6/Compiler.nqp:
Only emit a single message if Readline and Linenoise cannot be found
23:26 spider-mario left 23:27 herby_ joined
herby_ o/ 23:27
23:27 frew joined
RabidGravy erp 23:28
frew are the [^$foo] on perl6advent.wordpress.com/2015/12/...s-is-here/ supposed to be links
?
herby_ m: map(.WHAT.perl, ('hello', 2, 4))
camelia rakudo-moar 8c56c1: OUTPUT«Cannot call map(Str, List); none of these signatures match:␤ (&code, + is raw)␤ in block <unit> at /tmp/GZYT18pieU line 1␤␤»
23:29 joydo joined
flussence frew: nah, footnote numbers 23:29
frew ahhh
flussence: thanks
herby_ m: ('hello', 2, 4).map: {.WHAT.perl};
camelia ( no output )
frew looking forward to a 6.c rakudo star 23:30
assuming that's imminent
RabidGravy week or so at a guess (but a reall guess)
Skarsnik wish someone write a proper zip module
23:30 llfourn left
frew Skarsnik: be the change you want in the world 23:31
herby_ m: my @plus3 = map({$_ + 3}, (2, 4, 6)); say @plus3;
camelia rakudo-moar a7ea8e: OUTPUT«[5 7 9]␤»
Skarsnik nop
I already some modules to work on x) 23:32
RabidGravy ah gwan
Ulti m: say (2, 4, 6).map: * + 3; 23:34
camelia rakudo-moar a7ea8e: OUTPUT«(5 7 9)␤»
Ox0dea m: say map *+3, (2,4,6) # herby_ 23:35
camelia rakudo-moar a7ea8e: OUTPUT«(5 7 9)␤»
Ox0dea Almost Haskell!
gfldex m: role R { method Str() {'hidden!'} }; my $i = 1 but R; sub f(\bound){ put bound }; f($i); $i++; f($i);
camelia rakudo-moar a7ea8e: OUTPUT«hidden!␤2␤»
herby_ Ox0dea, hmmm 23:36
gfldex should postfix:<++> strip the mixin in that way?
Ulti m: say map *+3, 2,4,6
camelia rakudo-moar a7ea8e: OUTPUT«(5 7 9)␤»
herby_ say map ***3, 2,4,6
m: say map ***3, 2, 4, 6 23:37
camelia rakudo-moar a7ea8e: OUTPUT«((6) (12) (18))␤»
Ox0dea Uh-oh.
herby_ hmm
AlexDaniel m: say (2, 4, 6)>>.succ>>.succ>>.succ
camelia rakudo-moar a7ea8e: OUTPUT«(5 7 9)␤»
AlexDaniel m: say (2, 4, 6)».succ».succ».succ
camelia rakudo-moar a7ea8e: OUTPUT«(5 7 9)␤»
AlexDaniel no version of succ that takes a parameter? 23:38
herby_ m: say map * **3, 2, 4, 6
camelia rakudo-moar a7ea8e: OUTPUT«(8 64 216)␤»
Ulti m: say map * ** 3, 2,4,6 #a little more readable >:P
camelia rakudo-moar a7ea8e: OUTPUT«(8 64 216)␤»
23:38 jcrespo joined
herby_ guess it needs that space 23:38
AlexDaniel m: say map *³, 2,4,6 23:39
camelia rakudo-moar a7ea8e: OUTPUT«Cannot call Numeric(Whatever: ); none of these signatures match:␤ (Mu:U \v: *%_)␤ in block <unit> at /tmp/TaF18IESwA line 1␤␤»
Ulti AlexDaniel: think superscripts only work for literals
AlexDaniel m: say map {.³}, 2,4,6 23:40
camelia rakudo-moar a7ea8e: OUTPUT«(8 64 216)␤»
23:40 jcrespo_ joined
Ulti wow 23:40
23:40 lucasb joined
herby_ how in the world do you get a superscript in irc? 23:40
RabidGravy yeah the whatever case isn't making a closure
Ulti there are more common examples of that
23:40 cpage left
herby_ m: say map ** *3, 2,4,6 23:40
camelia rakudo-moar a7ea8e: OUTPUT«((6) (12) (18))␤»
herby_ ? 23:41
i'm confusing myself at this point
23:42 cpage_ left, cpage_ joined
AlexDaniel how does that ↑ work? 23:42
herby_ m: say grep ('hello', 1, 2, 3).grep: Int
camelia rakudo-moar a7ea8e: OUTPUT«()␤»
herby_ blah 23:43
m: say ('hello', 1, 2, 3).grep: Int
camelia rakudo-moar a7ea8e: OUTPUT«(1 2 3)␤»
Ulti herby_: design.perl6.org/S02.html#The_Hype...tever_Type
herby_ ahhh, I'll give that a read. Thanks!
AlexDaniel hyperwhatever… ok
23:44 jcrespo left
Ulti UltraWhatever 23:44
***
flussence
Ulti deals with changing dimensions through time
herby_ m: say (2,3,4,5,6).grep: %2 == 0 23:45
camelia rakudo-moar a7ea8e: OUTPUT«Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/IRa9hiazAy line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/IRa9hiazAy line 1␤␤»
herby_ hosed that up
can I grep a list to see what numbers can be evenly divisible by 2? 23:46
AlexDaniel m: say (2,3,4,5,6).grep: *%2 == 0
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
herby_ ah, missed the *
AlexDaniel m: say (2,3,4,5,6).grep: *%%2
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
AlexDaniel m: say (2,3,4,5,6).grep: {.%%2}
camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/f_N26L0iOR␤Malformed postfix call␤at /tmp/f_N26L0iOR:1␤------> 3say (2,3,4,5,6).grep: {.7⏏5%%2}␤»
AlexDaniel m: say (2,3,4,5,6).grep: {. %% 2}
camelia rakudo-moar a7ea8e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FIJTkDs0o7␤Unsupported use of . to concatenate strings; in Perl 6 please use ~␤at /tmp/FIJTkDs0o7:1␤------> 3say (2,3,4,5,6).grep: {.7⏏5 %% 2}␤»
AlexDaniel okay
herby_ m: say ('hello', 'world', 2,3,4,5,6).grep: *%2 == 0 23:47
camelia rakudo-moar a7ea8e: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5hello' (indicated by ⏏)␤ in whatevercode at /tmp/rcKEpjPjHR line 1␤ in block <unit> at /tmp/rcKEpjPjHR line 1␤␤Actually thrown at:␤ in whateverc…»
lucasb m: say (42 but 'foo').Int
camelia rakudo-moar a7ea8e: OUTPUT«foo␤»
lucasb m: say (42 but 'foo').perl
camelia rakudo-moar a7ea8e: OUTPUT«foo␤»
Ulti m: say ('hello', 'world', 2,3,4,5,6).grep({$_ ~~ Int}).grep: *%2 == 0 23:48
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
herby_ grep({$_ ~~ Int}) grabs all the Ints? 23:49
Ulti yup
:)
flussence am I doing something wrong? trying to build rakudo-jvm with --prefix=/usr; it works fine for moar but the java build ends up with a «javac -source 1.7 -cp /usr/usr/share/nqp/runtime/asm-4.1.jar:/usr/usr/share/nqp/runtime/asm-tree-4.1.jar...» and everything falls apart after that
AlexDaniel why {} though?
Ulti to make a closure
AlexDaniel say ('hello', 'world', 2,3,4,5,6).grep(* ~~ Int).grep: *%%2
m: say ('hello', 'world', 2,3,4,5,6).grep(* ~~ Int).grep: *%%2
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
AlexDaniel m: say ('hello', 'world', 2,3,4,5,6).grep(Int).grep: *%%2 23:50
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
Ulti its a christmas miracle :)
23:51 jcrespo__ joined
RabidGravy :) 23:51
ttfn
AlexDaniel any way to make it shorter?
herby_ ('hello', 'world', 2,3,4,5,6).grep(Int).grep(* %% 2).say 23:52
m: ('hello', 'world', 2,3,4,5,6).grep(Int).grep(* %% 2).say
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
23:53 Ch0c0late joined, jcrespo_ left
herby_ m: ('hello', 'world', 2,3,4,5,6).grep(Str).say 23:53
camelia rakudo-moar a7ea8e: OUTPUT«(hello world)␤»
herby_ m: ('hello', 'world', 2,3,4,5,6).grep(Str ~~ 'hello').say
camelia rakudo-moar a7ea8e: OUTPUT«Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside a block?␤ in block <unit> at /tmp/vw_uk86QLH line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/vw_uk86QLH line 1␤␤»
AlexDaniel eq 23:54
herby_ m: ('hello', 'world', 2,3,4,5,6).grep(Str eq 'hello').say
camelia rakudo-moar a7ea8e: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/yHrP2HxOKL line 1␤Cannot use Bool as Matcher with '.grep'. Did you mean to use $_ inside …»
AlexDaniel * eq :)
herby_ m: ('hello', 'world', 2,3,4,5,6).grep(* eq 'hello').say
camelia rakudo-moar a7ea8e: OUTPUT«(hello)␤»
herby_ :)
AlexDaniel or
m: ('hello', 'hello world', 2,3,4,5,6).grep(* ~~ /hello/).say
camelia rakudo-moar a7ea8e: OUTPUT«(hello hello world)␤»
Ulti m: my Int subset Even where * %% 2; ('hello', 'world', 2,3,4,5,6).grep(Even).say;
camelia rakudo-moar a7ea8e: OUTPUT«(2 4 6)␤»
atweiden flussence: jvm build failed for me, but for a different reason (Missing serialize function for REPR ContextRef)
AlexDaniel Ulti: great idea 23:55
herby_ m: ('hello', 'world', 2,3,4,5,6).grep(* ~~ /ll/).say
camelia rakudo-moar a7ea8e: OUTPUT«(hello)␤»
Ulti Perl 6 has a lot of them it turns out
herby_ Ulti, all that is new to me
23:55 RabidGravy left
AlexDaniel yeah. If I was going to express that in pseudo code, would it be shorter? I don't think so 23:56
Ulti herby_ sure especially if you know Perl 5 since types are suddenly a thing you can (ab)use
herby_ I struggle with Perl 5 too :)
Ulti herby_: do you get what my example did? 23:57
herby_ ehhh, I think so but I'll take an explanation if you got one
23:59 jcrespo__ left
Ulti so the first bit my Int subset Even where * %% 2; I created a whole new type based off of Int with a constraint on what satisfies that new subtype using the where clause in this case some example of an Int must return true when you do %% 2 on it for it to be considered an Even type 23:59
23:59 jcrespo__ joined