Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-11-02

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:02 cognominal class A { method a is export { say 'a'}}; # so I suppose it means I can call it A::a as well as A.a
00:02 cognominal makes more sense
00:02 psch m: class A { has $.b; method a is export { say $.b }}; import A; a A.new(:b(5))
00:02 camelia rakudo-moar fd8c98: OUTPUT«5␤»
00:03 psch m: class A { has $.b; method a is export { say $.b }}; import A; say &a.signature
00:03 camelia rakudo-moar fd8c98: OUTPUT«(A $: *%_)␤»
00:08 colomon joined #perl6
00:08 cognominal what is the dollar in the signature?
00:08 psch cognominal: a scalar invocant
00:09 psch m: class A { has $.b; method a is export(A $self: ) { say $self!b }}; import A; say &a.signature
00:09 camelia rakudo-moar fd8c98: OUTPUT«5===SORRY!5=== Error while compiling /tmp/btTGXDIdP6␤Two terms in a row␤at /tmp/btTGXDIdP6:1␤------> 3class A { has $.b; method a is export(A7⏏5 $self: ) { say $self!b }}; import A; sa␤    expecting any of:␤        infix␤        infix…»
00:09 psch oh
00:09 psch that's not where the signature goes...
00:09 psch m: class A { has $.b; method a (A $self: ) is export { say $self!b }}; import A; say &a.signature
00:09 camelia rakudo-moar fd8c98: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yE4twEl1Gl␤No such private method 'b' for invocant of type 'A'␤at /tmp/yE4twEl1Gl:1␤------> 3hod a (A $self: ) is export { say $self!7⏏5b }}; import A; say &a.signature␤»
00:10 psch oh, the param is outside..?
00:10 psch m: class A { has $.b; method a (A $self: ) is export { say $self.b }}; import A; say &a.signature
00:10 camelia rakudo-moar fd8c98: OUTPUT«(A $self: *%_)␤»
00:10 psch anyway, there
00:12 cognominal psch++
00:16 tokuhirom joined #perl6
00:16 psch ah, no, if it's not literal self it always goes through method dispatch...
00:17 psch m: class A { has $!b; method a (A $self: ) is export { say self!b; say $self =:= self }}; import A; a A.new(:b(1))
00:17 camelia rakudo-moar fd8c98: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ci7T9lM3z2␤No such private method 'b' for invocant of type 'A'␤at /tmp/ci7T9lM3z2:1␤------> 3thod a (A $self: ) is export { say self!7⏏5b; say $self =:= self }}; import A; a A.␤»
00:17 cognominal m: class A { my &a = method a { say 'a' }; method b { a A }}; A.b # wicked
00:17 camelia rakudo-moar fd8c98: OUTPUT«a␤»
00:17 psch well, okay, that has me a tad confused...
00:17 psch oh duh
00:18 psch $.a is the same as self.a, but self!a isn't the same as $!a
00:19 konobi is there a version of the 'nix' language in nqp land?
00:34 [Coke] not to my knowledge.
00:43 cognominal m: class A { my &a = method  { say 'a' }; my &b = method  { say 'b' }; our @a = ( &a, &b ) }; A.@A::a
00:43 camelia rakudo-moar 1051fc: OUTPUT«Invocant requires a type object of type Array, but an object instance was passed.  Did you forget a 'multi'?␤  in block <unit> at /tmp/Vr4mqfhqbE:1␤␤»
00:43 cognominal m: class A { my &a = method  { say 'a' }; my &b = method  { say 'b' }; our @a = ( &a, &b ) }; say @A::a
00:43 camelia rakudo-moar 1051fc: OUTPUT«[<anon> <anon>]␤»
01:00 tokuhirom_h joined #perl6
01:06 cognominal m: 1.infix:['+'](2)
01:06 camelia rakudo-moar 1051fc: OUTPUT«Method 'infix:<+>' not found for invocant of class 'Int'␤  in block <unit> at /tmp/oXpkTheTnw:1␤␤»
01:08 cognominal m: say infix:['+'](1, 2)
01:08 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F4e_z7kUwW␤Undeclared routine:␤    infix:['+'] used at line 1. Did you mean 'infix:<+|>', 'infix:<+>', 'infix:«+>»', 'infix:«+<»', 'infix:<+^>'?␤␤»
01:10 AlexDaniel .u ⚠
01:10 yoleaux U+26A0 WARNING SIGN [So] (⚠)
01:11 sprocket is there something akin to a PERL5LIB environment var for rakudo that i can use to specify alternate library paths?
01:12 cognominal sprocket, I think this is in flux right now.
01:12 sprocket cognominal: what’s the current method?  i just need a way to test a module i’m working on, before i package it up
01:13 cognominal I think you can use -I when invoking rakudo
01:13 sprocket ah ok
01:14 cognominal I see PERL6LIB in the sources
01:15 cognominal https://github.com/rakudo/rakudo/blob/nom/src/core/Inc.pm
01:15 sprocket cognominal: I’ll check it out - thank you!
01:16 cognominal m: say 1.:<+>(2)
01:16 camelia rakudo-moar 1051fc: OUTPUT«Cannot find method 'CALL-ME'␤  in block <unit> at /tmp/bCGdBoTIi0:1␤␤»
01:17 cognominal at least they all parse :)
01:23 raiph .ask itz_stmuk re: pl6anet stats... Any idea what happened on Oct 21 (flat visits/pages etc but a crazy hit spike)? ... Why are so many hits 404s (70% in Oct!)?
01:23 yoleaux raiph: I'll pass your message to itz_stmuk.
01:26 zengargoyle is there a particular reason FIRST { … } can't be used in a while loop?
01:27 zengargoyle but LAST { … } can.
01:28 zengargoyle m: my $x = True; while $x { FIRST { say "first" }; LAST { say "last" }; $x = False; }
01:28 camelia rakudo-moar 1051fc: OUTPUT«last␤»
01:29 zengargoyle m: my $x = True; while $x { once { say "first" }; LAST { say "last" }; $x = False; }
01:29 camelia rakudo-moar 1051fc: OUTPUT«first␤last␤»
01:31 psch m: say &infix:['+'](1,2)
01:31 camelia rakudo-moar 1051fc: OUTPUT«3␤»
01:31 psch hm, not sure if that's autogen or the other bit...
01:32 gfldex m: my $i = 10; while $i-- { FIRST { say 'first' } };
01:32 camelia rakudo-moar 1051fc: ( no output )
01:32 gfldex m: my $i = 10; while $i-- { FIRST { say 'first' } say 'alive' };
01:32 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_ychOoa7Lc␤Strange text after block (missing semicolon or comma?)␤at /tmp/_ychOoa7Lc:1␤------> 3= 10; while $i-- { FIRST { say 'first' }7⏏5 say 'alive' };␤    expecting any of:␤        infix␤ …»
01:32 gfldex m: my $i = 10; while $i-- { FIRST { say 'first' }; say 'alive' };
01:32 camelia rakudo-moar 1051fc: OUTPUT«alive␤alive␤alive␤alive␤alive␤alive␤alive␤alive␤alive␤alive␤»
01:32 gfldex zengargoyle: please rakudobug
01:33 zengargoyle heh, seems like i'm rakudobuging something every day :P
01:35 TEttinger joined #perl6
01:36 mst http://design.perl6.org/Differences.html
01:36 mst is there any chance we can replace 'perl6 has a "real" object system' with something saying it's built into the language rather than provided by libraries or whatever
01:37 mst or if that doc's considered 'out of date, meh' can we put some sort of thing at the top saying that
01:38 MadcapJake joined #perl6
01:39 zengargoyle rakudobug'd: [perl #126535] AutoReply: [BUG] - FIRST phaser not firing in while
01:39 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126535
01:47 AlexDaniel .u 🛂
01:47 yoleaux U+1F6C2 PASSPORT CONTROL [So] (🛂)
01:48 aborazmeh joined #perl6
01:48 aborazmeh joined #perl6
01:51 [Coke] m: say "\c[PASSPORT CONTROL]" ~ "\c[COMBINING DIAERESIS]"
01:51 camelia rakudo-moar 1051fc: OUTPUT«🛂̈␤»
01:53 xpen joined #perl6
01:55 laouji joined #perl6
01:55 AlexDaniel .u 💬
01:55 yoleaux U+1F4AC SPEECH BALLOON [So] (💬)
01:56 psch m: say "\c[PASSPORT CONTROL]\c[COMBINING SPEECHBALOON]" # i wonder...
01:56 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5beV6hPyp4␤Unrecognized character name COMBINING SPEECHBALOON␤at /tmp/5beV6hPyp4:1␤------> 3SSPORT CONTROL]\c[COMBINING SPEECHBALOON7⏏5]" # i wonder...␤»
01:56 psch aww unicode, why not
01:56 psch :P
01:57 TEttinger m: say "\c[PASSPORT CONTROL]\c[COMBINING SPEECHBALLOON]"
01:57 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E_CVaKrj52␤Unrecognized character name COMBINING SPEECHBALLOON␤at /tmp/E_CVaKrj52:1␤------> 3SPORT CONTROL]\c[COMBINING SPEECHBALLOON7⏏5]"␤»
01:57 TEttinger m: say "\c[PASSPORT CONTROL]\c[COMBINING SPEECH BALLOON]"
01:57 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_z1WSSNTDm␤Unrecognized character name COMBINING SPEECH BALLOON␤at /tmp/_z1WSSNTDm:1␤------> 3PORT CONTROL]\c[COMBINING SPEECH BALLOON7⏏5]"␤»
01:57 TEttinger aw
01:58 TEttinger is there a way to search the unicode DB for all matches?
01:58 [Coke] .u SPEECH
01:58 yoleaux U+2EC8 CJK RADICAL C-SIMPLIFIED SPEECH [So] (⻈)
01:58 yoleaux U+2F94 KANGXI RADICAL SPEECH [So] (⾔)
01:58 yoleaux U+1F4AC SPEECH BALLOON [So] (💬)
01:58 [Coke] .u SPEECHB
01:58 yoleaux No characters found
01:59 AlexDaniel .u BALOON
01:59 yoleaux No characters found
01:59 AlexDaniel oops
01:59 AlexDaniel .u BALLOON
01:59 yoleaux U+2723 FOUR BALLOON-SPOKED ASTERISK [So] (✣)
01:59 yoleaux U+2724 HEAVY FOUR BALLOON-SPOKED ASTERISK [So] (✤)
01:59 yoleaux U+2749 BALLOON-SPOKED ASTERISK [So] (❉)
01:59 AlexDaniel so it is limited to just 3
02:01 TEttinger .u COMBINING SPEECH
02:01 yoleaux No characters found
02:01 TEttinger .u COMBINING BALLOON
02:01 yoleaux No characters found
02:01 TEttinger .u COMBINING BUBBLE
02:01 yoleaux No characters found
02:01 TEttinger .u SPEECH BALLOON
02:01 yoleaux U+1F4AC SPEECH BALLOON [So] (💬)
02:01 TEttinger hm
02:02 AlexDaniel there is no combining bubbles, stop it! :D
02:02 psch "\x0".."\xffff" .grep({.uniprop eq 'Mn'}) # get all the marks!
02:03 AlexDaniel here's the list of all combining stuff: https://en.wikipedia.org/wiki/Combining_character
02:03 adu joined #perl6
02:04 AlexDaniel 🛂⃠
02:05 psch ooh, COMBINING HALF-WIDTH LEFT ALIGNED BLOCK
02:06 * psch better goes to bed :S
02:08 goofyFuzzball joined #perl6
02:15 diakopter haha
02:22 Sgeo Does/will Perl6 have a reasonable FFI?
02:25 yeahnoob joined #perl6
02:27 AlexDaniel Sgeo: like Inline::Python?
02:27 AlexDaniel
02:27 zengargoyle TEttinger: are you on a linux box?
02:27 TEttinger nope
02:27 Sgeo I don't know anything about Inline::Python
02:27 * Sgeo wants to use an opaque C library
02:27 adu opaque?
02:27 TEttinger why, zengargoyle?
02:27 gfldex Sgeo: see NativeCall
02:28 adu and Inline::C
02:28 gfldex http://design.perl6.org/S21.html
02:28 adu and C::Parser
02:28 zengargoyle ah, don't know about Win/Mac... i usually zcat /usr/shar/i18n/charmaps/UTF-8.gx | fgrep <whatever>
02:28 TEttinger ah ok
02:28 zengargoyle other OS might have a file somewhere of characters...
02:29 adu zengargoyle: Mac is pretty close to most other unixen
02:29 zengargoyle yeah, i almost count Mac, but don't know file locations.
02:30 zengargoyle not sure, think that file is part of iconv
02:30 adu zengargoyle: usually if you substitute historical monikers with TitleCaseWords, the directory structure is pretty close
02:31 zengargoyle uh, no locales package it seems.
02:32 adu zengargoyle: like /home is /Users, /usr is /Library and lib/ is Frameworks/ and include/ is Headers/
02:32 zengargoyle lol
02:33 adu zengargoyle: it's exactly the same :P
02:34 adu zengargoyle: but I think most developer I know install homebrew or macports to smooth out the differences
02:36 zengargoyle yeah, scripting and unix-y app wise i mostly consider them equivalent...  it's now 'will probably work on Linux/Mac, don't know about Windows' as long as you can find the package in your package manager.
02:36 zengargoyle and is more likely to work on Mac than Solaris. :P
02:36 adu most unix-y people I know who use windows install Cygwin
02:37 adu I've tried Solaris, it's /dev tree is like an alien world
02:41 zengargoyle quite a bit of Solaris at $WORK, but i leave those details to others.  it's sorta very slowly being phased out ever since the Oracle took over.
02:45 gtodd adu: and if you want, you can even make symlinks to TitleCaseWords and olde fashioned unix to feel more part of the NeXT-generation
02:47 cognominal joined #perl6
03:05 kaare_ joined #perl6
03:18 risou_awy joined #perl6
03:20 raiph m: sink 1
03:20 camelia rakudo-moar 1051fc: ( no output )
03:20 cognominal joined #perl6
03:22 tokuhirom joined #perl6
03:28 finanalyst joined #perl6
03:32 aborazmeh joined #perl6
03:32 aborazmeh joined #perl6
03:37 Actualeyes joined #perl6
03:40 zengargoyle back in college days i kept my laundry in a NeXT box.  too cool.
03:44 xinming joined #perl6
04:00 Oatmeal joined #perl6
04:03 khw joined #perl6
04:29 dalek rakudo-star-daily: 5ec59e7 | coke++ | log/ (9 files):
04:29 dalek rakudo-star-daily: today (automated commit)
04:29 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/5ec59e7721
04:45 llfourn joined #perl6
04:58 Actualeyes joined #perl6
05:04 sprocket joined #perl6
05:07 Hotkeys does perl 6 have an equivalent to the $INPUT_RECORD_SEPARATOR or $RS or $/ variables from perl 5?
05:08 moritz Hotkeys: you can specify the separator during open with nl => "separator"
05:09 TimToady I thought there was a problem with autochomp if you do that
05:09 yoleaux 1 Nov 2015 21:39Z <lizmat> TimToady: I'm having a hard time describing your work on autogen the past week.  Could you summarize that in a line of 1,2,3 (or more) for the Perl6 Weekly?
05:09 TimToady anyway, at the moment I think slurp.split is faster
05:09 atweiden joined #perl6
05:09 TimToady hopefully will change in the next week or two
05:13 moritz there's also open(...).split iirc
05:13 moritz which might be less memory hungry
05:15 TimToady .tell lizmat There's a sense in which none of the metaoperators are really there, but are abstractions; up till now they've autovivified themselves as needed only when used in a normal operator slot, but now they autovivify when mentioned as nouns or function names too, in any of &foofix:<op>, foofix:<op>, or &[op] now also honor the abstraction
05:15 yoleaux TimToady: I'll pass your message to lizmat.
05:23 raiph .tell atweiden It's something like Rats are Rat[64]s -- they overflow to Nums when the denominator of a result overflows 64 bits so consider using Rat[128+]s or FatRats instead
05:23 yoleaux raiph: I'll pass your message to atweiden.
05:32 atweiden raiph: thanks, didn't know about Rat64
05:32 yoleaux 05:23Z <raiph> atweiden: It's something like Rats are Rat[64]s -- they overflow to Nums when the denominator of a result overflows 64 bits so consider using Rat[128+]s or FatRats instead
05:32 atweiden any thoughts on Rat64 vs rat64 native types?
05:33 moritz rats are composite types; there's not much point having a native one
05:34 TimToady we had specced a native form that has a numerator twice as big as the denominator, since there's not much use in limiting numbers to be close to 1 when when the denom is huge
05:35 TimToady so a rat64 would actually have an int128 for its numerator
05:45 zengargoyle m: say "ア つ.ぐ".match(/<:Kana :Hira [.\h]>+/);
05:45 camelia rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」␤»
05:45 zengargoyle m: say "ア つ.ぐ".match(/<:Kana :Hira [.]>+/);
05:45 camelia rakudo-moar 1051fc: OUTPUT«「ア」␤»
05:45 arnsholt zengargoyle: [...] doesn't introduce a character class in Perl 6, FYI =)
05:46 arnsholt It's a non-capturing group like (?:) in Perl 5
05:46 TimToady it's inside <>
05:46 zengargoyle insise < >
05:46 TimToady but you need +
05:46 TimToady m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.]>+/);
05:46 camelia rakudo-moar 1051fc: OUTPUT«「ア」␤»
05:46 TimToady m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.\h]>+/);
05:46 camelia rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」␤»
05:47 zengargoyle m: say "ア つ.ぐ".match(/<:Kana :Hira [.\h]>+/);
05:47 camelia rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」␤»
05:47 arnsholt Oh, derp. It would appear that reading comprehension deteriorates as thesis writing intensifies >.<
05:47 zengargoyle m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.]>+ % ' '/);
05:47 camelia rakudo-moar 1051fc: OUTPUT«「ア つ」␤»
05:48 zengargoyle why is [.] not matching the '.'
05:48 TimToady that...shouldn't work work without +
05:48 * zengargoyle tried both ways and decided + didn't make a difference and thought maybe it was the default...
05:50 TimToady m: say "ア つ.ぐ".match(/<[\w] [.\h]>+/);
05:50 camelia rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」␤»
05:51 zengargoyle m: say "つ.ぐ".match/<:Hira+[.]>+/
05:51 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5===␤Regex not terminated.␤at /tmp/J8YuEQDvI1:1␤------> 3say "つ.ぐ".match/<:Hira+[.]>+/7⏏5<EOL>␤Regex not terminated.␤at /tmp/J8YuEQDvI1:1␤------> 3say "つ.ぐ".match/<:Hira+[.]>+/7⏏5<EOL>␤Unable to parse regex; …»
05:51 TimToady eep, + isn't supposed to be default
05:51 zengargoyle m: say "つ.ぐ".match/<:Hira+[.]>+/);
05:51 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5===␤Null regex not allowed␤at /tmp/xag7STumLQ:1␤------> 3say "つ.ぐ".match/<:Hira+[.]>+/7⏏5);␤Unable to parse regex; couldn't find final '/'␤at /tmp/xag7STumLQ:1␤------> 3say "つ.ぐ".match/<:Hira+[.]>+/7⏏5);␤   …»
05:51 zengargoyle m: say "つ.ぐ".match(/<:Hira+[.]>+/);
05:51 camelia rakudo-moar 1051fc: OUTPUT«「つ.ぐ」␤»
05:52 zengargoyle m: say "つ.ぐ つ.ぐ".match(/<:Hira+[.]>+ % ' '/);
05:52 camelia rakudo-moar 1051fc: OUTPUT«「つ」␤»
05:56 zengargoyle m: "つ.ぐ つ.ぐ" ~~ m    :g /<:Hira+[.]>+ % ' '/; say @();
05:56 camelia rakudo-moar 1051fc: OUTPUT«(「つ」 「.」 「ぐ つ」 「.」 「ぐ」)␤»
05:59 * zengargoyle wishes linenoise handled wide characters.
06:08 atweiden is it Rat128? getting invalid typename.
06:09 atweiden maybe i'll try rat64 first, but is it implemented?
06:16 atweiden m: my rat64 $r = 0.0
06:16 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5===␤Type 'rat64' is not declared␤at /tmp/4JyC2ay_s2:1␤------> 3my rat647⏏5 $r = 0.0␤Malformed my␤at /tmp/4JyC2ay_s2:1␤------> 3my7⏏5 rat64 $r = 0.0␤␤»
06:16 atweiden m: my rat32 $r = 0.0
06:16 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5===␤Type 'rat32' is not declared␤at /tmp/nL33VHIKZU:1␤------> 3my rat327⏏5 $r = 0.0␤Malformed my␤at /tmp/nL33VHIKZU:1␤------> 3my7⏏5 rat32 $r = 0.0␤␤»
06:17 atweiden m: my Rat64 $r = 0.0
06:17 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5===␤Type 'Rat64' is not declared␤at /tmp/8ajKDsPbz7:1␤------> 3my Rat647⏏5 $r = 0.0␤Malformed my␤at /tmp/8ajKDsPbz7:1␤------> 3my7⏏5 Rat64 $r = 0.0␤␤»
06:17 atweiden how do you declare one of these larger Rats?
06:31 TimToady no, all we have is Rat and FatRat so far
06:36 jevin_ joined #perl6
06:42 quester joined #perl6
06:42 quester p6: my $i = 65536; say $i; $i *=2; say $i
06:42 camelia rakudo-moar 1051fc: OUTPUT«65536␤131072␤»
06:58 quester p6: my int $i = 65536; say $i; $i *=2; say $i
06:58 camelia rakudo-moar 1051fc: OUTPUT«65536␤131072␤»
06:58 quester left #perl6
07:06 diana_olhovik_ joined #perl6
07:27 firstdayonthejob joined #perl6
07:32 [Sno] joined #perl6
07:38 stux|RC-only joined #perl6
07:41 abraxxa joined #perl6
07:42 RabidGravy joined #perl6
07:45 darutoko joined #perl6
07:45 RabidGravy marnin
07:56 colomon joined #perl6
08:00 abraxxa joined #perl6
08:09 kjs_ joined #perl6
08:17 _mg_ joined #perl6
08:20 ely-se joined #perl6
08:30 Humbedooh joined #perl6
08:33 lizmat good *, #perl6!
08:33 yoleaux 05:15Z <TimToady> lizmat: There's a sense in which none of the metaoperators are really there, but are abstractions; up till now they've autovivified themselves as needed only when used in a normal operator slot, but now they autovivify when mentioned as nouns or function names too, in any of &foofix:<op>, foofix:<op>, or &[op] now also honor the abstraction
08:33 lizmat .tell TimToady Thanks for the quote!
08:33 yoleaux lizmat: I'll pass your message to TimToady.
08:34 nine lizmat: do you actually understand this?
08:34 dalek rakudo/nom: ee87d79 | lizmat++ | t/01-sanity/53-transpose.t:
08:34 dalek rakudo/nom: Fixup TRANSPOSE tests after changes
08:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ee87d79059
08:35 zakharyas joined #perl6
08:35 lizmat I think so  :-)
08:35 nine lizmat: then I look forward to your explanation in the weekly :)
08:36 * moritz does
08:36 llfourn is there any fun that can be had with CompUnit interface that is worth documenting yet?
08:36 lizmat well, my interpretation is that if you say [+] @array, it is actually auto-vivified because they are needed
08:36 moritz there are infinitely many operators that you can create from basic operators and meta operators
08:36 lizmat whereas if you say my $a = &[+], they weren't yet
08:36 nine llfourn: there's much fun in completely refactoring CompUnit and friends ;)
08:37 * llfourn takes that as a no
08:37 moritz for example from infix:<+>, you can create X[ZR+] or so
08:37 moritz so we don't create them up-front, but on demand
08:37 llfourn nine: good luck with that :)
08:37 moritz that used to work for calls, but not for references to those operators
08:37 moritz now it works for references too
08:38 moritz m: say &infix:<Z+>.signature.perl
08:38 camelia rakudo-moar 1051fc: OUTPUT«:(+ is raw)␤»
08:38 moritz star-m: say &infix:<Z+>.signature.perl
08:38 camelia star-m 2015.09: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Tpk56BPwpu␤Undeclared routine:␤    &infix:<Z+> used at line 1. Did you mean '&infix:<∖>', '&infix:<lt>', '&infix:<eq>', '&infix:<>=>', '&infix:<=>>'?␤␤»
08:39 nine moritz: thanks! Crystal clear now
08:39 lizmat nine: what moritz said
08:39 lizmat moritz: can I use your exegesis in the P6W ?
08:40 * TimToady notes that infix:<+>(1,2) is technically a call too, but didn't work before
08:40 yoleaux 08:33Z <lizmat> TimToady: Thanks for the quote!
08:40 TimToady also, &[+] is an existing operator
08:41 lizmat TimToady: ah. duh  :-)
08:42 moritz lizmat: sure
08:42 moritz star-m: say infix:<+>(1,2)
08:42 camelia star-m 2015.09: OUTPUT«3␤»
08:42 moritz star-m: say infix:<Z+>(1,2)
08:42 camelia star-m 2015.09: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6rTbHU4LNg␤Undeclared routine:␤    infix:<Z+> used at line 1. Did you mean 'infix:<∖>', 'infix:<lt>', 'infix:<eq>', 'infix:<>=>', 'infix:<=>>'?␤␤»
08:44 mrf * #perl6
08:44 RabidGravy rtp
08:44 RabidGravy er
08:46 TimToady ah, yeah, infix:<Z+> didn't work before, duh
08:46 * TimToady should go to bed soon...
08:46 pdcawley joined #perl6
08:47 TimToady btw, I'm okay with /x ** ^10/ but not okay with /x ** $x/, 'cuz I wanna keep the {}-less form static, and because people will get confused by whether a subscript is allowed there
08:48 TimToady as for /x ** ^*/, that's pretty darn useless, and confusing to look at, given that both ^ and * are normal regex metachars
08:49 mrf TimToady: That that seems fair.
08:49 TimToady mrf++ for the ^10 form though
08:49 mrf I only added ^* as it seems to keep consistent with the use of ^ as a range
08:49 TimToady (though calling '^' min seems a bit weird)
08:50 * TimToady does wonder if people will think ^10 means 0..10 though, when it should mean 0..9
08:51 ShimmerFairy I would expect 0..9, as it is everywhere else :)
08:52 RabidGravy depends on what you think "up to 10" means ;=)
08:52 mrf hmm I actually expected ^10 to be the same as 0..10. I had clearly missed that it was 0..9
08:52 llfourn I exptected 0..10 tbh but 0..10 makes more sense when you think about it. If for ^10 iterated 11 times that would be confusing.
08:52 lizmat most people should think of it as 10 times
08:52 RabidGravy yes
08:52 lizmat m: .say "foo" for ^10
08:52 camelia rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CccAJuZGHc␤Two terms in a row␤at /tmp/CccAJuZGHc:1␤------> 3.say7⏏5 "foo" for ^10␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier…»
08:53 lizmat m: say "foo" for ^10
08:53 camelia rakudo-moar 1051fc: OUTPUT«foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤foo␤»
08:53 ShimmerFairy m: say ^10
08:53 camelia rakudo-moar 1051fc: OUTPUT«0..^10␤»
08:53 ShimmerFairy m: say (^10).list
08:53 camelia rakudo-moar 1051fc: OUTPUT«(0 1 2 3 4 5 6 7 8 9)␤»
08:54 ShimmerFairy ^ that's what I think of when I think of the upto syntax. So I'd expect ** ^10 to mean ** 0..9
08:54 mrf I might update the Range type docs to make it clearer that ^ is exclusive of the endpoint
08:54 lizmat m: say + ^10
08:54 camelia rakudo-moar 1051fc: OUTPUT«10␤»
08:55 mrf Also I suspect that might mean there is a bug in my NQP patch
08:57 mrf m: say "foo" ~~ /o ** 0..2/
08:57 camelia rakudo-moar ee87d7: OUTPUT«「」␤»
08:57 ShimmerFairy The discovery of /a ** ^10/ not working was because ^10 is another way to write a Range which was accidentally not covered. Deviating from that (by suddenly pretending it's 0..10 instead of 0..^10) would be a bug in my eyes.
08:57 mrf m: say "foo" ~~ /o ** 0..^2/
08:57 camelia rakudo-moar ee87d7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sI2dB5PMRF␤Malformed Range␤at /tmp/sI2dB5PMRF:1␤------> 3say "foo" ~~ /o ** 0..7⏏5^2/␤»
08:58 mrf ShimmerFairy: Agreed. I believe my patch would treat it as 0..10 not 0..^10 which would be erroneous.
08:59 ShimmerFairy m: say "AAAA" ~~ /A ** {0..^4}/ # this is also a bug in how regexes handle Ranges, though IIRC I came across it a while back :)
08:59 camelia rakudo-moar ee87d7: OUTPUT«「AAAA」␤»
08:59 Hotkeys <lizmat> m: say + ^10
08:59 Hotkeys did you mean
08:59 Hotkeys m: say [+] ^10
08:59 camelia rakudo-moar ee87d7: OUTPUT«45␤»
09:00 lizmat no, just showing the number of elems in ^10
09:00 Hotkeys oh
09:00 TimToady m: say "AAAAAAAA" ~~ /A ** {0..^4}/
09:00 camelia rakudo-moar ee87d7: OUTPUT«「AAAA」␤»
09:00 TimToady okay, it's just an off-by-one there due to not considering the exclusion
09:00 TimToady but definitely a bug
09:01 dalek rakudo/nom: 63f6fc9 | lizmat++ | src/core/Str.pm:
09:01 dalek rakudo/nom: Also use TRANSPOSE for tr/x// case
09:01 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/63f6fc9001
09:01 ShimmerFairy TimToady: if it's using .bounds on the returned Range there, could that possibly be a more general issue with .bounds not considering exclusion?
09:01 ShimmerFairy m: say (1..^4).bounds
09:01 camelia rakudo-moar ee87d7: OUTPUT«(1 4)␤»
09:01 espadrine joined #perl6
09:01 TimToady we need an intbounds methods or so
09:01 mrf I will take a look at it and see if I am able to fix it to allow exclusionary ranges
09:01 RabidGravy I actually that that the { ... } bits in regexes got handed off to perl proper to determine the value
09:02 timotimo mrf: sorry for not spotting that off-by-one :S
09:02 lizmat TimToady: I've been wanting that for a while, will add that now
09:02 ShimmerFairy RabidGravy: yeah, so my first guess is that Range.bounds is being passed to the regex engine without correction :)
09:03 mrf timotimo: no worries. You have been super helpful and given me mre than enough support
09:03 mrf timotimo++
09:03 TimToady lizmat: note the code for .elems already has the logic
09:03 mrf psch++ # also helping
09:03 timotimo yay
09:03 lizmat TimToady: I'm going one step further and making $!excludes-min/max native ints internally
09:04 mrf timotimo: Considering I thought I would be incabable of doing anything. You got me to the point where I could submit a patch. That is an awesome thing.
09:04 mrf Is ^10 a synonym for "10 iterations" then?
09:04 Timbus 'upto 10'
09:05 Timbus creates a list from 0..9
09:05 TimToady ^10 is just short for 0 ..^ 10
09:05 mrf Timbus: Sadly upto ten is subjective. Some people would be inclusive and some wouldn't
09:05 Timbus luckily, it looks a lot like the long form
09:05 mrf TimToady: That is probably a better answer.
09:06 TimToady but understanding that, "upto" is how it's pronounced :)
09:06 mrf Timbus: It does but I caught me out. I was expecting it to be equivelant of 0..10.
09:06 mrf TimToady: ok
09:07 mrf I suppose that is consistent with its use in a full range..
09:08 TimToady it's our answer to python's [:10] tomfoolery
09:10 mrf TimToady: I will remove the ^* option if your would prefer. Though I am now curious as to what "upto infinity" actually means :D
09:11 ShimmerFairy mrf: probably the * quantifier :P
09:11 Timbus lucky it stops before you get there eh
09:11 mrf ShimmerFairy: likely yes
09:11 TimToady it's the opposite of "to infinity and beyond"
09:11 mrf :D
09:12 ShimmerFairy .oO( / a ** ^* /  --> "ERROR: You used three asterisks, along with a caret, where just one is enough. Please unjam your shift and 8 keys as needed and try again"    :P )
09:13 mrf ShimmerFairy: Thats not actually a terrible unhelpful error.
09:13 timotimo ShimmerFairy: that error message should introspect the currently active keyboard layout
09:13 timotimo shift-8 on my system is „, for example
09:14 ShimmerFairy timotimo: of course, but just think of the ungodly mess of dependencies in that :P
09:14 ShimmerFairy timotimo: it also doesn't account for the * key on my numpad, fwiw :)
09:14 timotimo very problematic!
09:17 ShimmerFairy mrf: aside from the casual tone of my fake message, I wonder if ** ^* and/or ** ^Inf would be worth noticing.
09:26 RabidGravy m: module Foo { sub foo() is export { } }; import Foo; say &foo::BLURB # what is BLURB refering to here?
09:26 camelia rakudo-moar 63f6fc: OUTPUT«(Any)␤»
09:28 mrf ShimmerFairy: If we want to say that ^* and ^Inf are likely a sign that the user is doing something unnecessary then it seems fair to warn them about it.
09:30 RabidGravy "Perl 6: a million characters of helpful error message with some useful code attached"
09:36 azawawi joined #perl6
09:36 azawawi hi
09:37 moritz RabidGravy: uhm, nothing?
09:37 RabidGravy eh?
09:37 moritz RabidGravy: do you think it should?
09:37 moritz m: say &sin::NOTACOSINE
09:37 camelia rakudo-moar 63f6fc: OUTPUT«(Any)␤»
09:38 RabidGravy no I stumbled on it by accident and just wondered if it was something, like something defined in the code or something
09:41 timotimo azawawi: when you wrote "i'm on it" on the .bat launcher issue, it sounded like "i'm going to fix this", now you're asking "any updates on this one?", i'm confused
09:43 nine timotimo: I don't get it. I changed the line in the optimizer to "if $optype eq 'p6for' && $op.ann('context') eq 'sink' {" yet it still changes both parts of the QAST::Want or none.
09:44 timotimo ah, hehe.
09:44 nine timotimo: aah... I guess that's because of $past.annotate('statement_level', -> { $sinkee.annotate('context', 'sink') });
09:44 timotimo as an optimization, we often share QAST objects
09:44 azawawi timotimo: i fixed it and nobody merged it... So i was asking when it will be committed... sorry if i was not clear. I will update it :)
09:44 nine So if the loop is in sink context, both parts are annotated with sink?
09:45 timotimo that's why sometimes you see QAST nodes getting their children popped out of the children list and replaced, rather than replacing the node itself
09:45 timotimo on the other hadn
09:45 timotimo hand*
09:45 timotimo if we already know the context and have it annotated like that, why does the Want even still exist?
09:45 nine I don't know. It's been this way even before the GLR
09:46 timotimo tbh, i'm not sure how the for-to-while optimization did the sink detection before :\
09:46 azawawi timotimo: updated .... thanks :)
09:46 dakkar joined #perl6
09:46 nine timotimo: that answers my question of how on earth this could have worked before
09:47 mrf timotimo: I have added some notes to the PR I created and closed it for now. Will try and work on it later today
09:47 timotimo mrf: cool :)
09:47 nine timotimo: oh it did: if $optype eq 'callmethod' && $op.name eq 'sink' &&
09:48 timotimo azawawi: oh, on the web interface i see the commit now
09:48 timotimo nine: well, that's looking for the method call; is that how?
09:48 timotimo so maybe the interesting place to look is what happened for the GLR where the sink method call used to be added?
09:50 nine timotimo: I pass the context as annotation to the p6for op. p6for then uses the annotated "context" as method name to call on the result
09:50 timotimo oh, interesting
09:51 RabidGravy azawawi, I merged your PR to H::UA manually 'cause it keeps the history cleaner :)
09:51 timotimo so, when you said "i don't get it. [...]", did you mean it doesn't work? or just that the optimizer's output is confusing to you?
09:51 nine timotimo: the latter
09:51 timotimo does that mean spec tests pass? :D
09:52 nine the "&& $op.ann('context') eq 'sink'" certainly helped, but there are still failures
09:52 g4 joined #perl6
09:52 timotimo uh oh
09:53 dalek rakudo/optimize_for_again: 489fdbf | timotimo++ | src/Perl6/Optimizer.nqp:
09:53 dalek rakudo/optimize_for_again: WIP for -> loop; doesn't handle value-returning for yet
09:53 dalek rakudo/optimize_for_again: review: https://github.com/rakudo/rakudo/commit/489fdbf5cd
09:53 dalek rakudo/optimize_for_again: 4eb9e1e | (Stefan Seifert)++ | src/Perl6/Optimizer.nqp:
09:53 dalek rakudo/optimize_for_again: Only optimize for Range to while when looping in sink context
09:53 dalek rakudo/optimize_for_again: review: https://github.com/rakudo/rakudo/commit/4eb9e1e525
09:53 azawawi RabidGravy: im not sure you picked up all the pieces in that commit :) see https://github.com/azawawi/http-useragent/blob/master/README.md
09:54 RabidGravy Hmm. let me try that again
09:55 * azawawi is testing most of his modules on his windows box and fixing stuff along the way :)
10:03 azawawi RabidGravy: re https://github.com/sergot/http-useragent/tree/master/bin ... shouldnt we refactor these scripts to App::HTTP::UserAgent or something like that?
10:04 RabidGravy I'm relaxed about that :)  I don't think I've ever used the scripts
10:05 azawawi RabidGravy: rationale, HTTP::UserAgent is the API, those scripts may not be needed to be installed by dependent modules
10:05 duncan_dmg joined #perl6
10:05 azawawi RabidGravy: hmm then let us move them to examples/
10:06 RabidGravy I'd stick an issue, get sergot to decide seeing as it's his module and all ;-)
10:06 azawawi sure
10:06 RabidGravy I've made a right pigs ear of rebasing this, I've made the situation I was trying to avoid worse
10:08 azawawi RabidGravy: https://github.com/sergot/http-useragent/issues/112
10:09 azawawi RabidGravy: happens that's why i avoid it lol
10:09 * azawawi starts reads Perl weekly http://perlweekly.com/archive/223.html
10:09 azawawi s/reads/reading/
10:09 RabidGravy well it's quite obvious that it was me that screwed up rather than anyone else ;-)
10:10 RabidGravy all done now
10:10 azawawi im going to read this in the afternoon http://think-like-a-git.net/  ... my Git foo is not enough :)
10:11 andreoss joined #perl6
10:11 espadrine joined #perl6
10:11 * azawawi runs panda install HTTP::UserAgent on linux and windows to make sure everything is ok :)
10:12 Alina-malina joined #perl6
10:15 timotimo ugh. the "git for ages 4 and up" video recording was hosted on blip.tv
10:16 timotimo huh
10:16 timotimo opened the video on youtube and one of the first few words (well ... two, really) was "perl six"
10:17 azawawi :)
10:23 RabidGravy feeling a bit blocked at the moment, maybe it's time to start something new
10:25 timotimo played too much minecraft?
10:27 andreoss m: (dir) ==> map slurp
10:27 camelia rakudo-moar 63f6fc: OUTPUT«Cannot call map(Str, Seq); none of these signatures match:␤    (&code, + is raw)␤  in block <unit> at /tmp/zdH9GGNcbn:1␤␤»
10:28 dalek rakudo/nom: 7c5390b | lizmat++ | src/core/Range.pm:
10:28 dalek rakudo/nom: Little makeover of Range preludes
10:28 dalek rakudo/nom:
10:28 dalek rakudo/nom: - excludes-min/max/infinite are now native ints internally
10:28 dalek rakudo/nom: - all .new candidates are now one liners for better inlining
10:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7c5390b54d
10:30 timotimo lizmat: does that commit make Range unsubtypable?
10:30 telex joined #perl6
10:30 timotimo because submethod BUILD takes positionals there?
10:30 lizmat that didn't change
10:30 lizmat that's been like that for a *long* time already
10:31 timotimo ah, ok
10:31 timotimo that's fine, then :)
10:32 masak the "Perl Weekly" people seem to have made a sport out of not understanding my macro posts :(
10:32 jnthn morning, #perl6
10:32 yoleaux 31 Oct 2015 20:13Z <psch> jnthn: checking $cur_candidate<rwness> in Routine.analyze_dispatch seems to fail the parameter binding too early to still throw Parameter::RW, so i'm not sure where this check should happen
10:32 lizmat jnthn o/
10:33 gfldex masak: it's not just the perl weekly people :->
10:33 timotimo masak: oh, is there a link to look at to see it?
10:33 masak dunno
10:33 masak gfldex: if you have any ideas how to make the topic more approachable...
10:34 masak I mean, macros are not for everybody. it's taken me a while to get to this point, too.
10:36 mrf \o jnthn
10:38 ShimmerFairy masak: I still have a lot of trouble seeing what macros are useful for (which is at least partially a bootstrapping concern). The best I've come up with is dealing with repetitive code, e.g. a bunch of similar class declarations, or a loop where each iteration needs a different piece of code, as opposed to the more normal "different data"
10:38 lizmat fwiw, I could have used macros in the settings: now I needed to make a script to generate the source I needed
10:38 masak ShimmerFairy: for a long time, I was at that stage too.
10:39 lizmat masak: tools/build/makeSLICE.pl6   FWIW
10:39 masak ShimmerFairy: it might be good to know that they are good for a number of things, and that I plan to blog about those in due time :)
10:39 pdcawley ShimmerFairy: You can do some very weird stuff with scope as well.
10:39 pdcawley ShimmerFairy: inject all sorts of weird and wondrous things into scopes.
10:40 ShimmerFairy masak: as an example, in a DLX solver I wrote for hexslide a while back, there was a bit of repetition in populating the board; setting up horizontal and vertical pieces of varying lengths. It was the kind of repetition better served by macros then by awkwardly over-engineering things, as I recall.
10:40 lizmat pdcawley  o/
10:40 pdcawley lizmat: o/
10:40 pdcawley ShimmerFairy: Yup, that's a really useful aspect of macros.
10:41 pdcawley Lots of lisp forms implemented as macros that boil down to a heavily boilerplated chunk of code that sets a couple or three variables and builds a function.
10:41 lizmat m: say ^10 .elems, 0..^10 .elems # something's off here
10:41 camelia rakudo-moar 63f6fc: OUTPUT«100..^1␤»
10:41 lizmat m: say ^10 .elems
10:41 camelia rakudo-moar 63f6fc: OUTPUT«10␤»
10:41 lizmat m: say 0..^10 .elems
10:41 camelia rakudo-moar 63f6fc: OUTPUT«0..^1␤»
10:42 pdcawley ShimmerFairy: The other place they get useful when you want to fiddle with evaluation order.
10:43 gfldex to answer the question, what some stuff is good for, one needs a time machine :)
10:43 ShimmerFairy masak: Would it be fair to think of macros as the calculus of programming, in a sense? I recall hearing once that algebra is arithmetic with varying numbers, and calculus is algebra with varying formulas (something like that).
10:44 ShimmerFairy So what I mean there is that macros could be seen as "functions with varying code", as opposed to "functions with varying data".
10:44 ShimmerFairy (you can tell I'm not very good with macros, can't you? :P)
10:47 gfldex the following could use some work: http://rosettacode.org/wiki/Random_number_generator_%28included%29#Perl_6
10:49 dalek rakudo/nom: d99ab18 | lizmat++ | src/core/Range.pm:
10:49 dalek rakudo/nom: Simplify Range.elems
10:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d99ab189af
10:50 donaldh joined #perl6
10:50 masak ShimmerFairy: distracted; will answer later
10:50 ShimmerFairy no problem, I'm sure macros won't get any _more_ confusing anytime soon :P
10:51 gfldex is there any consensus how references to nieca are to be handled?
10:51 gfldex in text ment for members of the public that is
10:51 lizmat I guess similar to pugs, by now ?
10:51 gfldex same question stands for pugs
10:51 lizmat ah  :-)
10:52 lizmat "Pugs/Niecza were earlier attempts at implementing the Perl 6 specification.  They are currently no longer maintained"
10:54 gfldex i will go and purge rosettacode of outdated intarwebs then
10:54 pdcawley ShimmerFairy: Macros manipulate the parse tree of your program (while said parse tree is being built)
10:55 leont joined #perl6
11:01 lucasb joined #perl6
11:04 gfldex m: https://gist.github.com/anonymous/fba291c151cc58da708e
11:04 camelia rakudo-moar 7c5390: OUTPUT«This type cannot unbox to a native integer␤  in any  at gen/moar/m-Metamodel.nqp:1674␤  in sub sha256 at /tmp/lXzD62K2Gb:43␤  in sub sha256 at /tmp/lXzD62K2Gb:12␤  in block <unit> at /tmp/lXzD62K2Gb:1␤␤»
11:06 mprelude joined #perl6
11:06 |Tux| test             50000    36.054    35.946
11:06 |Tux| test-t           50000    37.328    37.219
11:07 dalek joined #perl6
11:09 RabidGravy m: say Version.new("v0.0.1").Str # it may be just may but I'd be happier if there was a way of indicating that this was a string representation of a perl version literal and lose the "v"
11:09 camelia rakudo-moar 7c5390: OUTPUT«v.0.0.1␤»
11:09 RabidGravy "just me"
11:10 timotimo m: say Version.new("0.0.1").Str
11:10 camelia rakudo-moar 7c5390: OUTPUT«0.0.1␤»
11:10 timotimo m: say Version.new("0.0.1").perl
11:10 camelia rakudo-moar 7c5390: OUTPUT«Version.new('0.0.1')␤»
11:10 timotimo hum.
11:11 RabidGravy m: say Version.new("v0.0.1")
11:11 * flussence isn't all that fond of the amount of dots v-strings use
11:11 camelia rakudo-moar 7c5390: OUTPUT«vv.0.0.1␤»
11:11 kaare_ joined #perl6
11:12 RabidGravy flussence, you don't need to use that many dots, it's just a convention
11:12 RabidGravy :)
11:12 flussence I mean:
11:12 flussence m: say $*VM
11:12 camelia rakudo-moar 7c5390: OUTPUT«moar (2015.10.14.g.5.ff.3001)␤»
11:12 RabidGravy it combs for alpha parts and digit parts
11:13 flussence that comes from "2015.10.14-g5ff3001" in git, which is a bit more readable
11:14 RabidGravy It's more spectacularly weird with some more third party version strings
11:14 lucasb Would it make sense to exist a VersionStr?
11:14 lucasb somethink like: say <1 1.0 1e0 1i v1.0>.perl
11:15 lucasb just like there are IntStr, etc.
11:16 dakkar joined #perl6
11:17 ilmari m: say 'skjærgårdsøl'.encode('ascii').decode('utf8')
11:17 camelia rakudo-moar 7c5390: OUTPUT«skj?rg?rds?l␤»
11:17 flussence oh well, the world's not on fire for lack of a perfect solution here, so I'll stop complaining :)
11:17 ilmari any chance of getting that fixed for 6.christmasj?
11:18 RabidGravy and the world is full of the wrecks of "perfect versioning schemes"
11:18 ilmari IMO .encode should die on unrepresentable characters, and have an adverb for specifying replacement if one wants it (possibly with a sensible default)
11:18 lucasb Can't version objects have a revision attribute instead of splitting g5ff3001 in alphas and digits?
11:20 flussence would probably make more sense to split on punctuation than start trying to account for edge cases like that...
11:21 jnthn ilmari: That's RT #123673, which is on the xmas todo list
11:21 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123673
11:22 RabidGravy unfortunately there are probably as many semantic schemes for versioning as there are software projects
11:22 RabidGravy for special cases I'd go with sub-classing Version
11:22 ilmari jnthn: ah, cool
11:24 dalek rakudo/nom: c5c19a5 | lizmat++ | src/core/Range.pm:
11:24 dalek rakudo/nom: Implement Range.intbounds
11:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5c19a5de2
11:26 cygx joined #perl6
11:27 cygx o/
11:27 psch m: say infix:['Z+'](^4, ^4)
11:27 camelia rakudo-moar d99ab1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZA4k6fJQFq␤Undeclared routine:␤    infix:['Z+'] used at line 1␤␤»
11:27 psch m: say &infix:['Z+'](^4, ^4)
11:27 camelia rakudo-moar d99ab1: OUTPUT«(0 2 4 6)␤»
11:28 nine jnthn: just a heads up: I've completed the code restructuring phase of the curli branch and I'm quite positive that I've learned enough along the way to implement the rest.
11:28 cygx so, what do I have to do to make exporting a trait_mod:<is> work with precompilation when using a manual EXPORT sub?
11:29 psch .tell jnthn actually i think i have the rwness check working for moar but not jvm though
11:29 yoleaux psch: I'll pass your message to jnthn.
11:29 cygx is there anything special I have to do when exporting multi candidates?
11:29 jnthn nine: Cool!
11:29 yoleaux 11:29Z <psch> jnthn: actually i think i have the rwness check working for moar but not jvm though
11:29 adhoc joined #perl6
11:30 jnthn psch: What did you mean by "too early", ooc?
11:31 jnthn cygx: Just labeling the trait_mod "is export" should do it
11:31 psch jnthn: that was a bad test case, actually
11:32 psch jnthn: i had one cand with an Int invocant, and got Multi::NoMatch
11:32 psch e.g. multi f(Int:D: $a is rw) { "Int" }; multi f(int $a is rw) { "int" }
11:32 psch with f(5) that throws NoMatch, correctly
11:33 jnthn Yeah
11:33 jnthn That's the right answer :)
11:33 jnthn I'm not sure how well the multi-dispatcher is handling "is rw" yet though
11:33 jnthn iirc, when I looked into it, I found the dispatch cache may need tweaking.
11:34 psch yeah, that may be
11:34 psch i noticed yesterday that during failed dispatches i get lots of invocations of the native candidate
11:34 psch as in, i added "note $which-cand-am-i" to the Int and int postfix:<++> candidates
11:35 psch and for 5++, i got around a dozend "int" outputs
11:35 psch but maybe that's just because we int inc on that path a lot
11:35 gfldex m: say 'I can haz massuge?'; say 'a' <=> 'b';
11:35 camelia rakudo-moar d99ab1: OUTPUT«I can haz massuge?␤X::Multi::NoMatch exception produced no message␤  in block <unit> at /tmp/0OuD3uqvtl:1␤␤»
11:36 bpmedley joined #perl6
11:36 Sqirrel_ joined #perl6
11:37 gfldex is that rakudobug worthy?
11:37 moritz aye
11:37 gfldex just LTA or some deeper problem?
11:38 jnthn Yeah, it looks like the error reporting is bust
11:39 moritz gfldex: <=> coerces to Numeric, and the coercion fails, and it doesn't properly deal with that
11:43 azawawi has anyone worked on `rakudobrew build-zef` ? If not, I am going to work on it :)
11:44 gfldex reported as #126536
11:44 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126536
11:45 finanalyst joined #perl6
11:46 psch "failed to produce a message" is what i got on jvm when i mis-invoked the throwers from P6EX
11:46 tokuhirom_h joined #perl6
11:46 * RabidGravy goes with the ugly but worky
11:46 RabidGravy m: class MetaVersion is Version { multi method new(Str() $ver where * ~~ /^v\d+/) { my $v = $ver; $v ~~ s/^v//; self.new($v) } }; say MetaVersion.new("v0.0.1").Str
11:46 camelia rakudo-moar d99ab1: OUTPUT«0.0.1␤»
11:48 timotimo oh wow.
11:48 timotimo i dreaded having to "repair" my computer
11:48 timotimo turns out all i had to do was wiggle some cables
11:48 timotimo it's probably time to run a good backup ...
11:48 lizmat .oO( it's *always* time to run a good backup)
11:49 psch m: say cis(1.1)
11:49 camelia rakudo-moar d99ab1: OUTPUT«0.453596121425577+0.891207360061435i␤»
11:49 rindolf joined #perl6
11:49 timotimo the words "oh no! he was one day from retirement!" come to mind
11:55 psch m: my $x; ++++$x # this one is kind of troublesome on jvm
11:55 camelia rakudo-moar c5c19a: OUTPUT«Parameter '$a' expected a writable container, but got Int value␤  in block <unit> at /tmp/0NXb3v2tBV:1␤␤»
11:55 dalek nqp: 7710de0 | jnthn++ | src/HLL/Compiler.nqp:
11:55 dalek nqp: Fix thinko in \r\n -> grapheme prep.
11:55 dalek nqp:
11:55 dalek nqp: Need to use double quotes for a \r, not single.
11:55 dalek nqp: review: https://github.com/perl6/nqp/commit/7710de017b
11:55 psch 'cause the place where we'd have to throw Parameter::RW is in RakudoContainerSpec.store
11:56 psch well, except if i'm missing some earlier spot to catch it
11:56 jnthn psch: Yeah, should be able to do an isrwcont check in the binder
11:56 jnthn src/Perl6/Metamodel/BOOTSTRAP.nqp:404 is where we do it for Moar's
11:57 psch jnthn: i have adapted that, but i must've done something insufficiently, 'cause with my adaption it still went through to store
11:58 psch but then my adaption also still threw AdHoc "expected a native int" for int $x; $x++...
11:58 psch so yeah, definitely a lot missing :S
11:58 psch the hard part for me is figuring out where to draw the line between "this is optimizer/inlining" and "this is jvm Binder"
12:08 gfldex m: my $a = 0; 'abc'.substr(-$a).say;
12:08 camelia rakudo-moar c5c19a: OUTPUT«abc␤»
12:08 gfldex ^^^ heisenwarning
12:10 llfourn m: my ($a,*@b) = flat (1,[2,3]); say @b; # can't get this to DWIM
12:10 camelia rakudo-moar c5c19a: OUTPUT«[]␤»
12:11 llfourn m: my ($a,*@b) = (1,[2,3]); say @b; # can't get this to DWIM
12:11 camelia rakudo-moar c5c19a: OUTPUT«[[2 3]]␤»
12:11 llfourn lets say the RHS is being returned from a sub and have no control over it, how to put the first in $ and the rest in @
12:12 llfourn without double arraying
12:12 jnthn m: my ($a, @b) := (1,[2,3]); say @b
12:12 camelia rakudo-moar c5c19a: OUTPUT«[2 3]␤»
12:12 * llfourn swears he tried that
12:12 llfourn ahhh :=
12:12 psch m: my ($a, @b); with (1,[2,3]) -> @ [$x, *@y] { $a = $x; @b = @y }; say @b # the long way around
12:12 camelia rakudo-moar c5c19a: OUTPUT«[2 3]␤»
12:13 llfourn jnthn: thats strangely consistent :)
12:14 llfourn psch: I am not even sure I have seen that syntax before :P
12:14 llfourn with ( .. ) -> @ [ <=== what it that
12:14 jnthn heh, cute :)
12:14 psch m: sub f(@ [$x, @xs]) { say $x; say @xs }; f [1,2,3,4]
12:14 jnthn Both use the signature binder, fwiw
12:14 camelia rakudo-moar c5c19a: OUTPUT«cannot stringify this␤  in sub f at /tmp/tNR22aId16:1␤  in block <unit> at /tmp/tNR22aId16:1␤␤»
12:14 psch huh
12:15 jnthn m: sub f(@ [$x, *@xs]) { say $x; say @xs }; f [1,2,3,4]
12:15 camelia rakudo-moar c5c19a: OUTPUT«1␤[2 3 4]␤»
12:15 psch oh, right, has to slurp
12:15 jnthn That looks like an error reporting fail
12:15 Oatmeal joined #perl6
12:15 psch llfourn: "array unpacking" is how i've heard it called usually
12:15 * psch forgot how the general unpack worked
12:15 llfourn psch: I see so you have this floating '@' in the signature...
12:16 psch llfourn: yeah, it's just an anonymous array
12:16 psch m: my ($a, @b); with (1,[2,3]) -> @all [$x, *@y] { say @all; $a = $x; @b = @y }; say @b
12:16 camelia rakudo-moar c5c19a: OUTPUT«(1 [2 3])␤[2 3]␤»
12:17 gfldex m: my ($a, @b); with (1,[2,3]) -> [$x, *@y] { $a = $x; @b = @y }; say @b
12:17 camelia rakudo-moar c5c19a: OUTPUT«[2 3]␤»
12:17 psch hm, should shapes give us a segmentation there?
12:17 psch e.g. -> [@a[3], @b[9]]
12:17 jnthn psch: Some day, though doubt we'll make that feature by 6.c
12:18 gfldex i would prefer a warning
12:18 RabidGravy before I try and fail miserably, would setting the STORE of a Proxy to a multi work?
12:20 llfourn m: my ($a, @b); with (1,[2,3]) -> [$x, *@y] { $a = $x; @b = @y }; say @b;
12:20 camelia rakudo-moar c5c19a: OUTPUT«[2 3]␤»
12:21 llfourn psch: works without the floating '@'...
12:21 timotimo RabidGravy: i think it should; otherwise: rakudobuggable :)
12:22 psch llfourn: yes.  to me, the explicit array just makes it more visible what happens - as in, that's how i remember i'm doing array unpacking
12:23 _mg_ joined #perl6
12:23 llfourn psch: got it thanks :)
12:23 RabidGravy timotimo, let me see what happens
12:23 * llfourn gains ability 'array unpacking'
12:24 cygx jnthn: I could not get exporting to work and had to pull out the multi candidate intp its own .pm file
12:25 timotimo RabidGravy: i mean, it's just a callable you're installing ... isn't it?
12:27 abraxxa joined #perl6
12:27 llfourn is there any way to do like python: my (_, @b) := (1,[2,3]);
12:27 timotimo you mean discard something?
12:27 llfourn ie junk the first element returned
12:27 llfourn yes
12:27 jnthn llfourn: $
12:27 timotimo you can just assign it to $ i believe
12:28 llfourn thanks!
12:29 llfourn m: my ($, @b) := (1,[2,3]); say @b # but looks like it won't work here :(
12:29 camelia rakudo-moar c5c19a: OUTPUT«[2 3]␤»
12:29 llfourn ...or will it... :D
12:30 llfourn m: ($, my @b) := (1,[2,3]); say @b # I was doing this
12:30 camelia rakudo-moar c5c19a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FC_l1GJurN␤Cannot use bind operator with this left-hand side␤at /tmp/FC_l1GJurN:1␤------> 3($, my @b) := (1,[2,3])7⏏5; say @b # I was doing this␤»
12:31 llfourn m: ($, my @b) = (1,[2,3]); say @b # which works without :=
12:31 camelia rakudo-moar c5c19a: OUTPUT«[[2 3]]␤»
12:31 jnthn my ($, @b) := ...
12:31 llfourn jnthn: yes :)
12:31 psch FSVO works - you get a nested array like that
12:31 jnthn The (...) there is parsed as a signature
12:32 jnthn So it's same as how to discard args
12:32 jnthn sub second($, $a) { $a }
12:32 cygx if I may do say so myself, I'm pretty pleased how the refactor of the TinyCC module is shaping up: https://github.com/cygx/p6-tinycc/blob/v2/t/01-sanity.t
12:33 llfourn jnthn: yes it's once again strangely consistent :)
12:37 aborazmeh joined #perl6
12:37 aborazmeh joined #perl6
12:38 psch hrm, i must be missing something
12:38 psch m: with :1a -> Pair $ (:$key, :$value) { say $key, $value }
12:38 camelia rakudo-moar c5c19a: OUTPUT«a1␤»
12:38 psch m: class A { method foo { "foo" }; method bar { "bar" } }; with A.new -> A $ (:$foo, :$bar) { say $foo, $bar }
12:38 camelia rakudo-moar c5c19a: OUTPUT«(Mu)(Mu)␤»
12:38 psch is unpacking only for Attributes?
12:38 duncan_dmg joined #perl6
12:38 timotimo doesn't it also work for hashes?
12:39 psch timotimo: well, that and hashes excepted... :)
12:39 kjs_ joined #perl6
12:39 psch so, the general, object unpacking
12:39 timotimo :)
12:39 doublec joined #perl6
12:39 timotimo isn't it supposed to work for all methods?
12:39 jnthn No, attributes
12:40 psch i'm not sure, design is a bit dense for my taste on this
12:40 psch ah, alright
12:40 jnthn Though you're free to write custom accessors
12:40 timotimo oh? didn't know
12:40 jnthn So long as you declare the attrs with has $.foo
12:46 abraxxa joined #perl6
12:53 psch jnthn: the Optimizer doesn't have the actual args, but only the types, does that mean trial_bind should bail on SIG_ELEM_IS_RW or should the Optimizer try to figure out if we know it's a container?
12:53 jnthn psch: I'd bail for now
12:55 psch jnthn: that also means we don't need any rwness check in analyze_dispatch yet, iiuc
12:55 jnthn psch: Yeah; I think it's probably easiest to just refuse to analyze such things for the moment
12:56 jnthn psch: 'cus it needs a little more design work
12:56 woolfy joined #perl6
12:56 jnthn (on the containerness stuff)
12:56 psch alright, i'll try and get this working for moar first, and then see if i can port it correctly too
12:57 woolfy At the bottom of  http://doc.perl6.org/language/5to6-nutshell  it says "Generated on 2015-11-01T17:57:36Z from Language/5to6-nutshell.pod from perl6/doc on GitHub."   The link https://github.com/perl6/doc/raw/master/lib/Language/5to6-nutshell.pod gives a 404 error. I don't know who to report this to.
12:58 timotimo needs to be https://raw.githubusercontent.com/perl6/doc/master/doc/Language/5to6-nutshell.pod
12:58 timotimo i.e. change lib to doc
12:58 jnthn psch: fwiw, the trial bind logic doesn't really need to be written in Java, so you might look to see if you can't use the NQP impl of it that Moar has
12:58 jnthn (The normal binding kinda does for performance)
12:59 psch well, in this specific case it appears the change is simple enough and easily portable, but yeah, i suppose i can try to unify them to the BOOTSTRAP.nqp impl of trial_bind
13:01 masak ShimmerFairy: yes, macros as functions with "varying code" is exactly right
13:03 RabidGravy timotimo, yep that works
13:03 RabidGravy m: https://gist.github.com/jonathanstowe/8a7fb59bdcb0586b5027
13:03 camelia rakudo-moar c5c19a: OUTPUT«v0.0.1␤v0.0.1␤»
13:03 azawawi https://github.com/tadzik/rakudobrew/pull/64  # rakudobrew build-zef  :)
13:04 RabidGravy azawawi++ # on a rol
13:04 RabidGravy l
13:05 azawawi RabidGravy: rol\rl or rol\r\nl ? :)
13:05 azawawi RabidGravy: thx :)
13:06 psch S17-procasync hangs are annoying :/
13:07 azawawi RabidGravy: lwpcook idea for H:U:A is great imho. RabidGravy++
13:07 ShimmerFairy masak: I think the problem I have is that they're on such another level it's hard to comprehend where they'll happen. I did run into needing them when fiddling with elisp once, but elisp didn't seem nearly as manipulexitous as Perl 6 :)
13:08 ShimmerFairy (Whereas in contrast I feel Perl 6 has a great deal of manipulexity before you even consider macros, so the place where macros come into play feels just that much more out of reach)
13:08 tokuhirom_h joined #perl6
13:09 arnsholt Macros can be very useful
13:09 arnsholt But they also introduce a whole new way things can go wrong
13:09 arnsholt In Lisp, I've been told that a common beginner mistake is to reach for macros too quick
13:09 gfldex m: my $date = DateTime.new(2015-13-32); # <-- I would like to have a macro to a) make that work and b) fail at compile time
13:09 camelia rakudo-moar c5c19a: ( no output )
13:10 ShimmerFairy Sure, I've no doubt :) . I can't help but feel that if I took the time to learn a non-lisp that had real macros, I'd be much better at understanding them. I just keep hoping that language could be Perl 6 instead :P
13:14 psch uhm, what's with S32-num/complex.t? "Bad plan.  You planned 488 tests but ran 89."
13:15 timotimo a crash?
13:15 timotimo or some kind of exception thrown in the middle of it
13:15 psch hm, this is weird
13:16 psch standalone it works
13:16 leont joined #perl6
13:16 psch ah, it's the indeterministic "Method 'Int' not found for invocant of class 'Any'"
13:19 lizmat m: -5i .. 5i
13:19 camelia rakudo-moar c5c19a: OUTPUT«WARNINGS:␤Useless use of ".." in expression "-5i .. 5i" in sink context (line 1)␤»
13:20 masak ShimmerFairy: yes, that is also right. it's like Perl 6 is already flexible enough that (compared to other languages) you're tempted to reach for macros much, much later.
13:20 masak ShimmerFairy: the counterargument to that is this, though: it's not like we're short on complexity that needs to be tackled! macros may be high on the solution ladder, but the ladder is also very tall.
13:20 lizmat m: -5i .. ^5i
13:20 camelia rakudo-moar c5c19a: OUTPUT«WARNINGS:␤Useless use of ".." in expression "-5i .. ^" in sink context (line 1)␤Can not convert 0+5i to Real: imaginary part not zero␤  in block <unit> at /tmp/FL2rkCHH_g:1␤␤Actually thrown at:␤  in block <unit> at /tmp/FL2rkCHH_g:1␤␤»
13:20 lizmat hmmmm
13:21 ShimmerFairy masak: Yeah, I've certainly run into situations where, say, having a class-generating macro that I could pass a list of names to, instead of manually defining each class, would be nice. It's just that I don't often run into the slang/macro area of problems :)
13:22 dalek rakudo/nom: 76391ca | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp:
13:22 dalek rakudo/nom: Refuse to compile-time bind subs with rw parameters.
13:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/76391ca91b
13:22 masak ShimmerFairy: re "algebra" vs "calculus" -- I've also heard various definitions like that, but I think they're more conventions than strict categories. for example, abstract algebra contains a whole lot of symbols!
13:22 masak ShimmerFairy: and lambda calculus could just as well have been called "lambda algebra", IMO.
13:23 timotimo for some reason i get twitter mails "for businesses" with cheerful subjects like "followers today --> customers tomorrow"
13:23 ShimmerFairy masak: sure, what I heard I internalized as "arithmetic = playing with numbers. algebra = now we generalize the numbers. calculus = now we generalize the formulas", but I certainly don't think it's a hard-n-fast rule :)
13:24 masak lizmat: please don't make complex numbers do something funky with prefix:<^> ;)
13:24 lizmat I was going to give them the same treatment as Reals ?
13:24 Sqirrel joined #perl6
13:24 masak lizmat: "the same treatment"...?
13:24 lizmat or should we just forbid Ranges with Complex ?
13:25 masak lizmat: the latter seems prudent/conservative to me.
13:25 lizmat well, you can't iterate over them, but you can get the bounds
13:25 xpen joined #perl6
13:25 masak oh, hm.
13:25 masak I have no opinion on that, then.
13:25 masak m: class B {}; say B.new .. B.new
13:25 camelia rakudo-moar c5c19a: OUTPUT«B.new..B.new␤»
13:25 masak lizmat: fine by me ;)
13:25 masak lizmat++ # thinking the impossible :)
13:26 timotimo well, there's no problem with iterating over -5i to +5i by one i each time
13:26 masak ShimmerFairy: actually, "calculus" just means "pebble" :P
13:26 ShimmerFairy As soon as you can tell me if -5i is less than +5i, I'd be OK with  -5i..5i  :P
13:27 lizmat ok, closing that pit for now: going to outlaw Complex as endpoints, just like Range and Seq
13:27 timotimo right
13:27 timotimo ranges should very much be about orderable things
13:28 masak we don't have a first-class concept of "orderable", though
13:28 ollej left #perl6
13:28 masak m: say False..True
13:28 camelia rakudo-moar c5c19a: OUTPUT«Bool::False..Bool::True␤»
13:28 timotimo that's right :\
13:28 timotimo so only allow Range with Int, Num, Rat :)
13:28 nine False and True are actually Ints in Perl 6
13:28 nine So there is order there
13:29 masak m: say Less..More
13:29 camelia rakudo-moar c5c19a: OUTPUT«Order::Less..Order::More␤»
13:29 timotimo order! i will have order!!
13:30 masak m: say Less < More
13:30 camelia rakudo-moar c5c19a: OUTPUT«True␤»
13:30 Woodi joined #perl6
13:30 masak m: say Less < Same < More
13:30 camelia rakudo-moar c5c19a: OUTPUT«True␤»
13:31 ShimmerFairy m: say Less ~~ More
13:31 camelia rakudo-moar c5c19a: OUTPUT«False␤»
13:31 ShimmerFairy Turns out less isn't more :/
13:31 masak it's more of a figure of speech.
13:31 woolfy timotimo: "needs to be https://raw.githubusercontent.com/perl6/doc/master/doc/Language/5to6-nutshell.pod" -> lizmat tells me she can adapt the link
13:32 psch m: say Less..More .list
13:32 camelia rakudo-moar c5c19a: OUTPUT«Order::Less..1␤»
13:32 psch m: say (Less..More) .list
13:32 camelia rakudo-moar c5c19a: OUTPUT«(-1 0 1)␤»
13:32 nine .oO( language constructs explained with Perl 6 )
13:32 psch m: say abs Less == More
13:33 camelia rakudo-moar c5c19a: OUTPUT«0␤»
13:33 psch m: say abs(Less) == More
13:33 camelia rakudo-moar c5c19a: OUTPUT«True␤»
13:33 ShimmerFairy masak: I figure the speech is wrong :P
13:33 psch Less is absolutely More... vOv
13:33 timotimo masak: you're a figure of speech yourself, if you don't mind my saying
13:33 psch actually, "Less absolutely is More" is probably preciserer
13:34 ShimmerFairy psch: "In an absolute sense, less is in fact more"
13:34 azawawi quick q, with the new filesystem, will stacktrace be modified back to original module names?
13:34 azawawi in submethod BUILD at /home/azawawi/.rakudobrew/moar-nom/install/share/perl6/site/3:31    # rather odd
13:35 timotimo that'd be nice
13:35 psch ShimmerFairy: that's probably the precisest
13:35 dalek doc: bba2bfc | lizmat++ | lib/Pod/Htmlify.pm6:
13:35 dalek doc: Fix source-url, spotted by woolfy++, timotimo++
13:35 dalek doc: review: https://github.com/perl6/doc/commit/bba2bfc63e
13:36 timotimo also, $*PROGRAM_NAMe or which it is ... :)
13:38 timotimo whichever gets output in the $?USAGE
13:39 azawawi rakudobrew + perl6 weirdness... looking into it
13:40 lucasb perl6 --ll-exception ... |& sed "s|$HOME/\.rakudobrew/moar-nom/install/share/||"
13:40 lucasb ^^ I remember to have put this in some script...
13:40 lucasb to short the long pathnames
13:42 dalek rakudo/nom: 7f6396d | lizmat++ | src/core/Range.pm:
13:42 dalek rakudo/nom: Complex numbers are no valid endpoints for Ranges
13:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f6396dd3c
13:42 dalek rakudo/nom: ae4bafe | lizmat++ | src/core/Range.pm:
13:42 dalek rakudo/nom: Kebab-case smashcased intbounds, ab5tract++
13:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ae4bafee3c
13:44 Sqirrel joined #perl6
13:45 ely-se joined #perl6
13:46 khw joined #perl6
13:49 AlexDaniel joined #perl6
13:50 robinsmidsrod joined #perl6
13:52 azawawi interesting on windows 7 and later, you have 'where $executable-name' to replace which
13:53 azawawi WHERE /R c:\windows *.exe *.dll *.bat  # interesting
13:55 azawawi where /R "c:\Program Files (x86)" firefox.exe   # since firefox is not in PATH... go figure lol
13:57 [Coke] thought: we should have a document ship with p6c that lists what things are still known to be experimental so we can more easily change them when needed (like macros)
13:59 RabidGravy sounds like a plan
14:05 adu joined #perl6
14:06 dalek roast: 733886c | lizmat++ | S03-operators/range-basic.t:
14:06 dalek roast: Simplify a lot of tests, add some more
14:06 dalek roast:
14:06 dalek roast: Result is actual fewer tests reported, but more tests done, thanks
14:06 dalek roast: to the magic that is subtest {} !
14:06 dalek roast: review: https://github.com/perl6/roast/commit/733886c91d
14:06 dalek roast: 3eab3f3 | lizmat++ | S02-types/range.t:
14:06 dalek roast: Follow Range.perl changes
14:06 dalek roast: review: https://github.com/perl6/roast/commit/3eab3f3776
14:06 cygx joined #perl6
14:07 sprocket joined #perl6
14:07 cygx https://github.com/cygx/p6-tinycc/commit/43987c8ef008513012a820b682c8a049a04af443 # no comment
14:08 timotimo that's adorable
14:08 pmurias joined #perl6
14:09 n0tjack joined #perl6
14:10 pmurias what does #~ mean in the rakudo code base? I see it in src/Perl6/Metamodel/DefiniteHOW.nqp?
14:10 pmurias jnthn: do you think using cross-compiling for rakudo-js is sane? (until nqp-js is of comparable speed to nqp-m)
14:11 pmurias jnthn: or will it just get me into trouble and I should just work on getting nqp-js faster
14:11 timotimo i suppose that's how FROGGS' editor comments out stuff?
14:13 jnthn pmurias: I'd be a bit hesitant in so far as you need BEGIN time to work
14:13 nine pmurias: that's really just comments.
14:13 jnthn pmurias: And my gut feeling is that you might run into issues
14:13 jnthn (If not bootstrapped)
14:14 jnthn You'd make it through the build up to BOOTSTRAP.nqp without issues, I suspect
14:15 llfourn m: .say for &postcircumfix:<{ }>.candidates;
14:15 camelia rakudo-moar 76391c: OUTPUT«sub postcircumfix:<{ }> (\SELF, \key) { #`(Sub|38262536) ... }␤sub postcircumfix:<{ }> (\SELF, \key, Mu \ASSIGN) { #`(Sub|38258128) ... }␤sub postcircumfix:<{ }> (\SELF, \key, Mu :$BIND! is raw) { #`(Sub|38261320) ... }␤sub postcircumfix:<{ }> (\SELF…»
14:15 llfourn I get "Method 'iterator' must be implemented by Iterable because it is required by a role" at the end of that
14:18 ilmari m: .perl for &postcircumfix:<{ }>.candidates;
14:18 camelia rakudo-moar 76391c: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
14:18 sprocket joined #perl6
14:18 pmurias what should I use to measure nqp-js optimalizations?
14:18 llfourn ilmari: there you go :)
14:19 ilmari the missing bit of the stack trace is: in any make_pun at gen/moar/m-Metamodel.nqp:1639, in any find_method at gen/moar/m-Metamodel.nqp:1667
14:20 jnthn pmurias: For profiling, or what benchmark?
14:21 jnthn pmurias: If you're mostly concerned with compile time, then I'd profile compiling one of the NQP source files, if that ain't too much data.
14:21 llfourn ilmari: what do you mean? :)
14:22 llfourn ilmari: ah nvm --ll-exception I see it
14:23 ilmari llfourn: the bit that camelia didn't output
14:26 pmurias jnthn: for the start I'm more concerned about just having a number that so that I can check if the code nqp-js spits outs is getting faster
14:26 timotimo cygx: can you tell me why you chose Empty instead of just "" for your add method thingie there?
14:26 timotimo pmurias: does perl6-bench already know how to build nqp-js?
14:26 pmurias jnthn: just compiling something with nqp-js-compiled-to-js seems like a decent start
14:27 lizmat m: say "a".."z" ~~ "a" .. "z" # shouldn't this just work ?
14:27 camelia rakudo-moar ae4baf: OUTPUT«X::Multi::NoMatch exception produced no message␤  in block <unit> at /tmp/Tkp8JvImIS:1␤␤»
14:27 pmurias timotimo: not yet
14:27 llfourn m: .signature.params[0].perl for &postcircumfix:<{ }>.candidates
14:27 camelia rakudo-moar ae4baf: ( no output )
14:27 kjs_ joined #perl6
14:27 llfourn m: .signature.params[1].perl for &postcircumfix:<{ }>.candidates
14:27 camelia rakudo-moar ae4baf: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
14:27 pmurias timotimo: how do I make it benchmark nqp-js?
14:27 timotimo pmurias: perhaps adding it to compiler.json and components.pl would be a good start?
14:27 llfourn ilmari: something wrong with the 2nd argument of one of them :P
14:30 timotimo cygx: never mind, i get it now
14:31 lucasb llfourn: this happens when something tries to 'say' Iterable. Iterable is a role, so it tries to auto-pun itself before any method on it will work. It fails because it needs a 'iterator' on the composing class.
14:32 timotimo lucasb: can easily be solved by giving every empty class an "iterator" method!
14:32 cognominal joined #perl6
14:32 llfourn lucasb: In this case one of the params is iterable? (it happens with just .perl instead of say)
14:33 lucasb I think this happens with any method
14:33 dalek rakudo/nom: 42922fb | lizmat++ | src/core/Range.pm:
14:33 dalek rakudo/nom: Streamline Range.perl/gist for better readability
14:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42922fb39c
14:33 dalek rakudo/nom: 939e5c9 | lizmat++ | src/core/Range.pm:
14:33 dalek rakudo/nom: Remove thinko from Range.Str
14:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/939e5c9c5e
14:33 lucasb m: Iterable.oh-hai
14:33 camelia rakudo-moar ae4baf: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
14:35 llfourn m: .signature.params[0,2..*].perl for &postcircumfix:<{ }>.candidates #works
14:35 camelia rakudo-moar ae4baf: ( no output )
14:35 llfourn m: .signature.params.perl for &postcircumfix:<{ }>.candidates #fails
14:35 camelia rakudo-moar ae4baf: OUTPUT«Method 'iterator' must be implemented by Iterable because it is required by a role␤  in any compose_method_table at gen/moar/m-Metamodel.nqp:2661␤  in any apply at gen/moar/m-Metamodel.nqp:2671␤  in any compose at gen/moar/m-Metamodel.nqp:2807␤  in…»
14:35 llfourn ^^ why I thought it's a param that's causing it
14:36 llfourn lucasb: but thanks for the info lucasb++
14:43 llfourn lucasb: yep the routine that fails has the sig: (Any Iterable)
14:43 sprocket joined #perl6
14:44 llfourn .signature.params.map({ .type.^name } ).say for &postcircumfix:<{ }>.candidates
14:49 * lizmat is preparing the Perl 6 Weekly again
14:49 n0tjack_ joined #perl6
14:49 lizmat let me know of anything newsworthy that you think I might have missed !
14:50 dalek doc: 258a6ae | (Ronald Schmidt)++ | doc/Language/classtut.pod:
14:50 dalek doc: Update classtut.pod
14:50 dalek doc:
14:50 dalek doc: Fix partially broken link to section of objects doc.
14:50 dalek doc: review: https://github.com/perl6/doc/commit/258a6aec80
14:53 jnthn lizmat: My main news was correcting the NFG algo (mostly done except the \r\n case)
14:53 lizmat that's the headline already  :-)
14:53 jnthn m: my $a = 0; ++$a++
14:53 camelia rakudo-moar ae4baf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VEbDb2Kq3h␤Operators '++' and '++' are non-associative and require parentheses␤at /tmp/VEbDb2Kq3h:1␤------> 3my $a = 0; ++$a++7⏏5<EOL>␤    expecting any of:␤        postfix␤»
14:53 jnthn That non-assoc error I did too
14:53 timotimo the headline is "lizmat: My main news was correcting the NFG algo (mostly done except the \r\n case)"?
14:53 jnthn m: /^+/
14:53 camelia rakudo-moar ae4baf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PbgNCj2mXg␤Can only quantify a construct that produces a match␤at /tmp/PbgNCj2mXg:1␤------> 3/^+7⏏5/␤    expecting any of:␤        term␤»
14:53 timotimo don't make it that, that's just weird
14:53 jnthn And that :)
14:53 lizmat 2015.45 Grapheme Clustering
14:53 TimToady joined #perl6
14:53 timotimo i bet you also saw the literal mistype thing
14:54 lizmat yep, also mentioned already  :-)
14:55 skids joined #perl6
14:56 jnthn .oO( litreal mistype )
14:58 dalek rakudo/nom: 385850b | lizmat++ | src/core/Range.pm:
14:58 dalek rakudo/nom: Streamline Range.iterator
14:58 dalek rakudo/nom:
14:58 dalek rakudo/nom: Possible since $!excludes-min and $!excludes-max have sensible int values.
14:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/385850bfc2
14:59 llfourn lizmat: you can now search for control flow stuff like 'if','given' in docs if that rates a mention...
14:59 lizmat llfourn: cool, I did miss that :-)
15:00 lizmat but first, some cycling while the sun is still out&
15:00 timotimo cycle the sun back in!
15:00 nine lizmat: I'd be happy if you mentioned my YAPC talks video: http://niner.name/talks/YAPC2015-Granada-Nines_Talk-HD720.m4v
15:01 pmurias joined #perl6
15:02 RabidGravy the fog has finally lifted in merry old London
15:04 dalek doc: a481420 | (Lloyd Fournier)++ | doc/Language/control.pod:
15:04 dalek doc: if got missed out of X<>
15:04 dalek doc: review: https://github.com/perl6/doc/commit/a48142092f
15:05 llfourn ...now you actually can search for if :P
15:05 llfourn (when it gets rebuilt)
15:11 * TimToady yawns after 5 hours of sleep, and plans to take a siesta later...
15:15 [Coke] nine: that's a hell of an opener.
15:16 nine [Coke]: err....what do you mean? :)
15:16 [Coke] I have the volume down low as I'm in an office sans headphones, but it sounded like something about rolling around naked in teh snow. Perhap I need my ears checked.
15:17 PerlJam Coke: he was *dancing* and *half* naked  :)
15:19 flussence I'm confused; RAKUDO_MODULE_DEBUG=1 tells me "." (and "blib") is in @?INC by default (and the code agrees), but I'm getting an error because it turns out it's not.
15:20 [Coke] PerlJam: well then!
15:21 nine At least I can't remember any rolling ;)
15:22 tokuhirom joined #perl6
15:24 TimToady What is this stuff coming down from the sky?  It reminds me of something we used to see around here sometimes...
15:24 TimToady Oh yeah, I think it's called rain.
15:25 TimToady One of those rare meteorological phenomena you read about but rarely see.
15:25 TimToady If you're Californian...
15:26 nine TimToady: stuff coming down from the sky? Now you're dreaming
15:26 PerlJam move to Texas and you'll see more than you want to for a while
15:26 masak 'night, #perl6
15:26 PerlJam masak: g'night
15:27 isacloud_ joined #perl6
15:28 timo joined #perl6
15:29 robins joined #perl6
15:29 pmurias_ joined #perl6
15:30 itz_stmu1 joined #perl6
15:30 kipd_ joined #perl6
15:30 smash_ joined #perl6
15:30 b^_^d joined #perl6
15:30 erdic_ joined #perl6
15:30 lucs_ joined #perl6
15:31 cxreg2 joined #perl6
15:35 mattp_ joined #perl6
15:35 dustinm` joined #perl6
15:35 dalek nqp: cc97cd9 | jnthn++ | tools/build/MOAR_REVISION:
15:35 dalek nqp: Bump MOAR_REVISION for improved line reading.
15:35 dalek nqp: review: https://github.com/perl6/nqp/commit/cc97cd9924
15:35 dalek nqp: d70e1a0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
15:35 dalek nqp: Map readlinechompfh and setinputlineseps on Moar.
15:35 dalek nqp: review: https://github.com/perl6/nqp/commit/d70e1a0c25
15:37 dalek nqp: 5f82f9e | jnthn++ | t/moar/03-line-seps.t:
15:37 dalek nqp: Tests for multi-char seps and chomped readline op.
15:37 dalek nqp:
15:37 dalek nqp: Just for MoarVM; porting this functionality to JVM is an open task for
15:37 dalek nqp: anyone interested.
15:37 dalek nqp: review: https://github.com/perl6/nqp/commit/5f82f9e7ca
15:37 dalek nqp: 0cbc4cd | jnthn++ | / (2 files):
15:37 dalek nqp: Harden tests in prep for \r\n -> 1 grapheme.
15:37 dalek nqp: review: https://github.com/perl6/nqp/commit/0cbc4cd6fc
15:41 lucasb Someone interested will have the amazing oportunity of doing the task
15:41 salva joined #perl6
15:41 lucasb j/k :)
15:42 finanalyst joined #perl6
15:42 softmoth joined #perl6
15:43 * jnthn delegates what he can... :)
15:44 xpen joined #perl6
15:44 jnthn Seems I've fixed RT #122971 :)
15:44 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122971
15:45 Sqirrel joined #perl6
15:45 pmurias_ jnthn: It's great where there is a bunch of fun/bite-sized tasks around
15:46 sprocket joined #perl6
15:46 clkao joined #perl6
15:47 jnthn pmurias: I guess you'll want to do those for js too ;)
15:47 hoelzro joined #perl6
15:47 pdcawley joined #perl6
15:47 pmurias jnthn: I'm rebuilding nqp and getting to work on that right know
15:48 hoelzro o/ #perl6
15:52 n0tjack joined #perl6
15:55 yqt joined #perl6
15:57 kjs_ joined #perl6
15:57 jdv79 how come there seems to be a diff between the scope of the imported symbols from a use and a require in the same spot?
15:58 jdv79 oh, nm
15:58 pmurias hoelzro: hi
15:58 hoelzro o/ pmurias
15:59 pmurias jnthn: the change to version 16 of the serialization format for MoarVM happened in April?
16:00 jnthn pmurias: Sorry, I don't know without looking at the git history
16:00 jnthn (git log src/6model/serialization.c should be revealing)
16:00 jdv79 is require broken?  i feel like this particular worked not long ago.
16:00 hoelzro pmurias: I take it nqp-js doesn't like the new serialization format?
16:01 jdv79 *particular code
16:01 pmurias hoelzro: updating it should be a big problem
16:01 hoelzro =(
16:01 pmurias * shouldn't
16:01 hoelzro I can maybe help with it, since I handled the 13 → 14 and 14 → 15 changes
16:01 pmurias I'm just confused why it popped up right now when it happend a few months ago
16:01 hoelzro oh, good =)
16:01 hoelzro maybe something wasn't writing out in v16?
16:02 hoelzro or it has something to do with NQP bootstrap?
16:03 hoelzro oh, that *is* interesting; v16 came out in April?
16:03 Alina-malina joined #perl6
16:07 integral joined #perl6
16:08 jnthn Anyone know anything about the "Method 'Int' not found for invocant of class 'Any'" hiesenbug?
16:08 dalek perl6-roast-data: 0535d8a | coke++ | / (9 files):
16:08 dalek perl6-roast-data: today (automated commit)
16:08 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0535d8ae4a
16:09 pmurias hoelzro: that's what I gather from the git log
16:09 pmurias hoelzro: (that it came out in April)
16:09 dalek rakudo/nom: 273e895 | jnthn++ | tools/build/NQP_REVISION:
16:09 dalek rakudo/nom: Bump NQP_REVISION for line reading improvements.
16:09 dalek rakudo/nom:
16:09 dalek rakudo/nom: MoarVM can now handle multi-char separators, which we get with this
16:09 dalek rakudo/nom: bump without doing anything further. Also makes available support for
16:09 dalek rakudo/nom: multiple separators and chomping them at VM level.
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/273e8950ad
16:09 [Coke] jnthn: only that i tripped over it.
16:09 dalek roast: b709a7c | jnthn++ | S16-filehandles/io_in_while_loops.t:
16:09 dalek roast: Test for RT #122971.
16:09 dalek roast: review: https://github.com/perl6/roast/commit/b709a7c471
16:09 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=122971
16:09 jnthn [Coke]: Yeah, I get it on only some runs :/
16:09 jnthn [Coke]: What platform you hit it on?
16:10 itz_stmu1 error: short SHA1 38585 is ambiguous.
16:10 [Coke] all those JVM tickets recently were most recently tested on OS X.
16:10 itz_stmu1 never seen that before!
16:10 [Coke] https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.jvm_summary.out is the last run on hack.p6c.org
16:11 dalek doc: d5b6854 | (Lloyd Fournier)++ | doc/Language/modules.pod:
16:11 dalek doc: fix typos in modules.pod
16:11 dalek doc: review: https://github.com/perl6/doc/commit/d5b6854a75
16:11 jdv79 https://gist.github.com/anonymous/e45bf78f9e29adf16633
16:11 jdv79 what's wrong there?
16:11 hoelzro I'm wondering if https://github.com/MoarVM/MoarVM/blob/master/src/6model/serialization.c#L1672 has something to do with it
16:11 hoelzro (the nqp-js issue)
16:11 jnthn [Coke]: Wait, you got the method Int on Any error on JVM too?
16:12 [Coke] ... I may be confusing my b00gs.
16:12 pmurias hoelzro: nqp-js issue? you mean the random js code disappearing?
16:12 jnthn [Coke]: Yeah, I don't see it in https://github.com/coke/perl6-roast-data/blob/master/log/rakudo.jvm_summary.out
16:12 hoelzro pmurias: I mean the serialization format issue
16:13 [Coke] jnthn: apologies.
16:13 mattp_ joined #perl6
16:13 [Coke] I blame my 2.5 hours of sleep last night!
16:13 jnthn np
16:13 jnthn And, ouch!
16:14 hoelzro yeah, there is a lot of if(version <= 15) { /* use int */ } else { /* use varint */ } code in serialization.c
16:14 hoelzro I'm guessing that if the else branches are ported over to deserialization.js, nqp-js will build once again
16:14 jdv79 lizmat: maybe.  for now i'm just "new and clone"ing to do what i want
16:15 jdv79 lizmat: maybe at a perf stage that might be better...  idk.
16:15 JimmyZ <= 15 is for boostrap code ..
16:15 pmurias hoelzro: the way strings are serialized changed, I'm working on that rcurrently
16:15 jnthn pmurias: fwiw, I expect to do an NQP re-bootstrap shortly
16:15 nine jnthn: I've seen that heisenbug on Linux, too
16:16 jnthn OK, good...can Valgrind it at least then :)
16:16 jnthn bbi5
16:16 jdv79 anyone get what's going on with the gist above?  seems simple enough.
16:16 dalek roast: 6d74106 | coke++ | S05-modifier/counted.t:
16:16 dalek roast: slight fudge for jvm
16:16 dalek roast:
16:16 dalek roast: (needs more)
16:16 dalek roast: review: https://github.com/perl6/roast/commit/6d74106d1d
16:17 xfix joined #perl6
16:19 jdv79 hmm.  require Foo; seems to require a sym lookup to use that stuff as in ::('Foo').new instead of Foo.new - seems wrong
16:19 hoelzro pmurias: I did a bunch of similar work for the merge a little while back; BinaryCursor.prototype.locate_thing does something like the new string reading code, iirc
16:19 PerlJam jdv79: require is run-time, there is no Foo symbol for the Foo.new at compile-time.
16:21 jdv79 i suspected that was it
16:21 PerlJam jdv79: you'd have to do something like   BEGIN require Foo;   or  require Foo; need Foo;
16:21 jdv79 the whole point is late loading though at runtime
16:22 jdv79 for this use at least.  hmm
16:22 moritz jdv79: iirc it's supposed to install a symbol Foo anyway
16:23 jnthn moritz: What could it install?
16:23 moritz jdv79: TimToady++ complained about the other day
16:23 jdv79 i guess i'm remembering it wrongly then
16:23 jdv79 p5ism
16:23 moritz jdv79: a container holding Any, for example?
16:24 sprocket if i start running a p6 program as the user, can i drop privileges to a regular user simply by setting the $*USER var?
16:25 pdcawley joined #perl6
16:25 _Ven joined #perl6
16:26 ilmari Cannot modify an immutable IdName
16:27 _Ven hoy, #perl6!
16:27 sprocket apparently not, as it’s immutable.  is there a setuid/setgid?
16:27 moritz sprocket: I don't think so; though you could always call it via NativeCall
16:27 moritz sprocket: compare http://doc.perl6.org/language/nativecall#Calling_into_the_standard_library
16:27 sprocket moritz: ah ok.  is that something that’d be provided later via a POSIX lib?
16:28 moritz sprocket: presumably, yes
16:28 sprocket moritz: great, ok, thanks!
16:29 pmurias hoelzro: like most finds in the new serialization it seems to be similiar but slightly different
16:30 hoelzro yeah, it seems to primarily use varints instead of int32s in many places
16:30 jnthn Mostly thanks to nwc10++'s work to shrink the serialized size of things :)
16:30 RabidGravy nwc10++ # anyway
16:38 RabidGravy I was going to ask sprocket how much they wanted that, could be a few minutes to knock together
16:41 dalek roast: c51a7e1 | jnthn++ | S16-filehandles/io.t:
16:41 dalek roast: Add missing .close calls, to fix on Windows.
16:41 dalek roast: review: https://github.com/perl6/roast/commit/c51a7e1315
16:41 dalek rakudo/optimize_for_again: fdf6dfa | (Stefan Seifert)++ | src/Perl6/Actions.nqp:
16:41 dalek rakudo/optimize_for_again: Fix optimized for range loop messing up lexicals
16:41 dalek rakudo/optimize_for_again:
16:41 dalek rakudo/optimize_for_again: The optimized code is created from the original op tree, not what p6for
16:41 dalek rakudo/optimize_for_again: generates. So creating the closure for $block in p6for is not enough.
16:41 dalek rakudo/optimize_for_again: Add the block_closure to the original op tree instead, so we get it in
16:41 dalek rakudo/optimize_for_again: the optimized code, too.
16:41 dalek rakudo/optimize_for_again: review: https://github.com/rakudo/rakudo/commit/fdf6dfab47
16:42 nine .tell timotimo found another issue with the for range optimization. Now there's only one left (last/next support) till we have a clean spec test again :)
16:42 yoleaux nine: I'll pass your message to timotimo.
16:42 jdv79 i thought symbols were forward declared or whatever that's called
16:43 jdv79 but its only a wrinkle in this use so not a big deal
16:45 _Ven (whoever added the exercism.io perl6 exercises)++
16:45 _Ven did a few, it was fun (although the test file doesn't load the correct class)
16:45 n0tjack joined #perl6
16:45 nine Ok, that was my small contribution of the day. Out now for some socializing :)
16:48 sprocket joined #perl6
16:52 LLamaRider joined #perl6
16:55 SHODAN joined #perl6
16:58 Oatmeal joined #perl6
16:58 dalek roast: 61ee17d | jnthn++ | S16-io/lines.t:
16:58 dalek roast: Add missing file closing, fixing test on Windows.
16:58 dalek roast:
16:58 dalek roast: You can't unlink and then re-spurt a file that was not closed on
16:58 dalek roast: Windows.
16:58 dalek roast: review: https://github.com/perl6/roast/commit/61ee17d4ff
17:00 dalek roast: 369aa88 | jnthn++ | S32-io/pipe.t:
17:00 dalek roast: Avoid doing a run that spits out a warning.
17:00 dalek roast: review: https://github.com/perl6/roast/commit/369aa88e56
17:06 liztormato joined #perl6
17:11 andreoss m: (dir) ==> grep * !~~ :f ==> map &say
17:11 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j4IuVAmLEQ␤Variable '&infix:<!~~>' is not declared␤at /tmp/j4IuVAmLEQ:1␤------> 3(dir) ==> grep * 7⏏5!~~ :f ==> map &say␤»
17:13 andreoss m: (1,2,3,4) ==> grep * !== 1 ==> map &say
17:13 camelia rakudo-moar 273e89: OUTPUT«2␤3␤4␤»
17:13 andreoss m: (1,2,3,4) ==> grep * !~~ 1 ==> map &say
17:13 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XF03A6dO0J␤Variable '&infix:<!~~>' is not declared␤at /tmp/XF03A6dO0J:1␤------> 3(1,2,3,4) ==> grep * 7⏏5!~~ 1 ==> map &say␤»
17:14 andreoss m: (1,2,3,4) ==> grep { $_ !~~ 1 } ==> map &say
17:14 camelia rakudo-moar 273e89: OUTPUT«2␤3␤4␤»
17:15 andreoss prefix:<!> is misparsed in feeds? bug?
17:16 Sqirrel joined #perl6
17:17 andreoss m: say 1 !~~ 2
17:17 camelia rakudo-moar 273e89: OUTPUT«True␤»
17:18 psch m: say ^10 .grep: * !~~ { $_ %% 2 }($_)
17:18 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/McREyGOl2J␤Variable '&infix:<!~~>' is not declared␤at /tmp/McREyGOl2J:1␤------> 3say ^10 .grep: * 7⏏5!~~ { $_ %% 2 }($_)␤»
17:18 andreoss m: my &z = * !~~ 2; say z(1);
17:18 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Um_mMAe8Te␤Variable '&infix:<!~~>' is not declared␤at /tmp/Um_mMAe8Te:1␤------> 3my &z = * 7⏏5!~~ 2; say z(1);␤»
17:18 psch m: say ( * !~~ Int )(5)
17:18 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iP3Y0Tqf94␤Variable '&infix:<!~~>' is not declared␤at /tmp/iP3Y0Tqf94:1␤------> 3say ( * 7⏏5!~~ Int )(5)␤»
17:18 andreoss rather with WhateverCode
17:18 psch m: say ( 5 !~~ * )(5)
17:18 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tBa_lOnlJ1␤Variable '&infix:<!~~>' is not declared␤at /tmp/tBa_lOnlJ1:1␤------> 3say ( 5 7⏏5!~~ * )(5)␤»
17:23 dalek nqp: 12bab30 | (Pawel Murias)++ | src/vm/js/nqp-runtime/deserialization.js:
17:23 dalek nqp: [js] Fix deserialization of things under the serialization format 16.
17:23 dalek nqp: review: https://github.com/perl6/nqp/commit/12bab304f8
17:23 RabidGravy I've spent a bit of time toshing up Cache::Memcached but I'm not even sure that people use memcached in their apps anymore
17:24 andreoss m: sub infix:<!~~>($a,$b){  $a !~~ $b } ; say (* !~~ Int)(Nil);
17:24 camelia rakudo-moar 273e89: OUTPUT«True␤»
17:24 sprocket how can i create a new type in p6?
17:24 sprocket ie) if i wanted to create a new type that was called “MyInt” and it was just a int32
17:24 RabidGravy subset
17:24 sprocket left #perl6
17:24 sprocket joined #perl6
17:24 psch an different name for an existing type i'd use constant for, fwiw
17:24 andreoss m: subset MyInt of int32; my MyInt $x = 6; say $x;
17:24 camelia rakudo-moar 273e89: OUTPUT«Type check failed in assignment to $x; expected MyInt but got Int␤  in block <unit> at /tmp/T0pyEq8P6C:1␤␤»
17:24 psch m: constant MyInt = Int; my MyInt $x = 5;
17:24 camelia rakudo-moar 273e89: ( no output )
17:24 psch that's just a different name again, though
17:24 psch underneath it's still an Int
17:24 sprocket psch: ah, thanks!
17:24 andreoss m: constant MyInt = int32; my MyInt $x = 6; say $x;
17:24 camelia rakudo-moar 273e89: OUTPUT«6␤»
17:25 andreoss why subset didn't work?
17:25 jnthn You can't really subset native types
17:25 RabidGravy because
17:25 RabidGravy m: class MyInt is int32 { }
17:25 camelia rakudo-moar 273e89: OUTPUT«===SORRY!===␤Cannot find method 'BUILDPLAN'␤»
17:25 jnthn Because the value gets boxed on the way to the thing that checks it
17:26 RabidGravy that could be more awesome
17:27 jnthn RabidGravy: Indeed.
17:28 jnthn Can probably patch that easily
17:28 * jnthn includes an attempt to fix it with the other thing he needs to spectest
17:30 andreoss m: my &infix:<~~~> := &infix<~~>; say (* !~~~ 1)(2);
17:30 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1TG3cpWxjh␤Undeclared routine:␤    &infix used at line 1. Did you mean '&indir', '&index'?␤␤»
17:30 andreoss m: my &infix:<~~~> := &infix:<~~>; say (* !~~~ 1)(2);
17:30 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2b3lezm_Lr␤Variable '&infix:<!~~>' is not declared␤at /tmp/2b3lezm_Lr:1␤------> 3my &infix:<~~~> := &infix:<~~>; say (* 7⏏5!~~~ 1)(2);␤»
17:30 andreoss m: my &infix:<smart-match> := &infix:<~~>; say (* !smart-match 1)(2);
17:30 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4S_ZkhW0q3␤Cannot negate smart-match because additive operators are not iffy enough␤at /tmp/4S_ZkhW0q3:1␤------> 3x:<smart-match> := &infix:<~~>; say (* !7⏏5smart-match 1)(2);␤    expecting any of…»
17:30 diana_olhovik_ joined #perl6
17:30 jnthn RabidGravy: Yeah, got a patch that fixes the error.
17:30 ggoebel2 joined #perl6
17:31 RabidGravy jnthn++ # make things good
17:32 RabidGravy the problem with error messages that reference something esoteric in the implementation is that the uninitiated have no way of knowing whether it is something they have done wrong or not
17:35 AlexDaniel I actually like this one:
17:35 AlexDaniel m: class MyInt is MyInt { }
17:35 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/avu7aWZeCv␤'MyInt' cannot inherit from itself.␤at /tmp/avu7aWZeCv:1␤»
17:35 sprocket how do i run the tests in a p6 module i’ve checked out of github?
17:35 AlexDaniel look! There's an error message for that! :D
17:35 jnthn There's one for things you can't inherit from too, it's jsut that native types flagged themselves as being inheritable.
17:35 moritz sprocket: PERL6LIB=lib prove -e perl6 t
17:36 sprocket moritz: thanks :)
17:36 jdv79 RabidGravy: why wouldn't people use memcached?
17:36 moritz sprocket: I think there's also a panda-test command  or something
17:37 sprocket moritz: is panda a package/module manager?
17:37 jdv79 $work used to use it lically and the aws version
17:37 jdv79 *locally
17:37 moritz sprocket: yes
17:37 AlexDaniel m: class MyInt is Any is Int { }
17:37 camelia rakudo-moar 273e89: OUTPUT«===SORRY!===␤Could not build C3 linearization: ambiguous hierarchy␤»
17:37 n0tjack joined #perl6
17:38 AlexDaniel is it internal?
17:38 jnthn No
17:38 moritz AlexDaniel: no, it's a user error
17:38 RabidGravy jdv79, I don't know, people don't talk about it, I've used it rarely myself but it had a lot more buzz a few years ago. or has it just become an "appliance"
17:38 jnthn But it could use a line number
17:38 AlexDaniel why no line number then?
17:38 jdv79 yes
17:38 * AlexDaniel submits rakudobug…
17:39 AlexDaniel oh these tiny things!
17:39 jnthn :)
17:39 jdv79 iirc fb still uesd it last i knew
17:39 jnthn It's not a common error to run into :)
17:39 jdv79 even though its got its issues 
17:39 AlexDaniel jnthn: well, I'm not so sure
17:39 dalek rakudo/nom: 60ff7e5 | jnthn++ | src/core/ (4 files):
17:39 dalek rakudo/nom: Factor our setting handle line ending.
17:39 dalek rakudo/nom:
17:39 dalek rakudo/nom: Also add support for multiple endings, though we're not using this
17:39 dalek rakudo/nom: anywhere just yet.
17:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/60ff7e5cb1
17:39 dalek rakudo/nom: 6154e5f | jnthn++ | src/Perl6/Metamodel/NativeHOW.nqp:
17:39 dalek rakudo/nom: Can not inherit from native types.
17:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6154e5f226
17:40 [Coke] up to RT: 1046
17:40 jnthn AlexDaniel: I am; people using multiple inheritance is thankfully already quite rare :)
17:40 jnthn [Coke]: But xmas down by 1 more today, I hope :)
17:41 jnthn Well, I know, 'cus I closed it... :)
17:45 AlexDaniel m: class Weirdness is Nil { }; my Weirdness $var = Nil;
17:45 camelia rakudo-moar 273e89: ( no output )
17:45 AlexDaniel m: class Weirdness is Nil { }; my Weirdness $var;
17:45 camelia rakudo-moar 273e89: ( no output )
17:45 AlexDaniel is there any way to only allow defined Nils?
17:45 AlexDaniel I've tried Nil:D but it does not work, as far as I can see
17:46 psch ..defined Nil?
17:46 psch m: say (Nil but role { defined { True } }).defined # ?
17:46 AlexDaniel m: class Weirdness is Nil { }; my Weirdness:D $var;
17:46 camelia rakudo-moar 273e89: OUTPUT«WARNINGS:␤Useless use of "defined { True } " in expression "defined { True } " in sink context (line 1)␤False␤»
17:46 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Nx_ig99iYC␤Variable definition of type Weirdness:D requires an initializer␤at /tmp/Nx_ig99iYC:1␤------> 3eirdness is Nil { }; my Weirdness:D $var7⏏5;␤    expecting any of:␤        constraint␤»
17:46 psch m: say (Nil but role { method defined { True } }).defined # ?
17:46 camelia rakudo-moar 273e89: OUTPUT«True␤»
17:46 psch that's the only defined Nil i can imagine :S
17:47 AlexDaniel well Weirdness:D should do the trick, but I want that to be exactly in its type, hm
17:47 psch AlexDaniel: the question, to me, is "where do you get a defined Nil"
17:47 * AlexDaniel is always asking for some crap and expects Perl6 to handle that somehow
17:47 psch m: my $x = Nil; say $x.defined
17:47 camelia rakudo-moar 273e89: OUTPUT«False␤»
17:47 psch m: my $x = Nil.new; say $x.defined
17:47 camelia rakudo-moar 273e89: OUTPUT«False␤»
17:48 AlexDaniel so basically :D means that it is initialized?
17:49 AlexDaniel what does the “D” stands for then?
17:50 psch http://doc.perl6.org/type/Signature#Constraining_Defined_and_Undefined_Values
17:50 RabidGravy isn't Nil designed to behave undefined whatever you do to it?
17:50 psch AlexDaniel: the issue is that Nil *cannot* be defined
17:50 psch AlexDaniel: not that :D doesn't mean defined
17:51 AlexDaniel OK, what if I want it to be Nil but not Any?…
17:51 psch ...unless i'm confusing .defined and .DEFINITE again, then it's about .DEFINITE :l
17:51 psch m: say Nil ~~ Any
17:51 camelia rakudo-moar 273e89: OUTPUT«True␤»
17:51 AlexDaniel hmmm
17:51 psch Nil isa Any :)
17:53 TimToady only for implementation convenience; Nil is the absence of a value, so it cannot really have a type
17:53 diana_olhovik_ joined #perl6
17:53 psch m: my Cool $x := Nil
17:53 camelia rakudo-moar 273e89: ( no output )
17:53 psch m: my Cool $x := Nil; say $x.WHAT
17:53 camelia rakudo-moar 273e89: OUTPUT«Nil␤»
17:54 jnthn TimToady: At the moment, we have in IO handles a .nl which is the separator for reading line by line
17:54 psch AlexDaniel: ^^^ something like that?
17:54 jnthn TimToady: We really need to support setting that to an array of separators, but I discovered that we're double-purposing .nl for the output separator too :S
17:54 jnthn TimToady: Can I have a pair of names you like? nl-in and nl-out are two candidates. :)
17:54 AlexDaniel psch: I don't know :) I'm just having fun with the fact that I can write “is Nil”
17:55 AlexDaniel in fact, it is much simpler
17:55 AlexDaniel m: my Nil $var = Nil;
17:55 camelia rakudo-moar 273e89: ( no output )
17:55 psch m: class F { }; my F $x = F.new; say $x.perl; $x = Nil; say $x.perl
17:55 camelia rakudo-moar 273e89: OUTPUT«F.new␤F␤»
17:56 jnthn TimToady: Being able to have the input separator be ["\n", "\r\n"] is one of the last things for getting \r\n as a grapheme, and so the new NFG stuff wrapped up :)
17:56 TimToady jnthn: that seems okay to me; let's just not do anything that would preclude a regex instead of an array someday
17:56 jnthn TimToady: OK, I'll go with in and out. Thanks.
17:56 TimToady since a regex can subsume matching an array
17:56 jnthn (nl-in and nl-out)
17:56 atweiden joined #perl6
17:56 jnthn *nod*
17:57 [Coke] jnthn: XMAS: 66
17:57 jnthn Aww...I thought we were already at 66 and now'd have 65... :)
17:58 psch TimToady: the *fix:[] form doesn't work &-less, is that intentional?
17:58 psch m: say infix:['+'](1,2)
17:58 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fnBKlEQ2m7␤Undeclared routine:␤    infix:['+'] used at line 1. Did you mean 'infix:<+|>', 'infix:<+>', 'infix:«+>»', 'infix:«+<»', 'infix:<+^>'?␤␤»
17:58 TimToady nah, just a buglet
17:58 TimToady can work around with &
17:59 psch right
17:59 jnthn TimToady: Other I/O question: there's an RT about Windows line endings and making \n magically turn into \r\n on Windows.
17:59 jnthn TimToady: I was pondering going so far as default nl-out to \r\n on Windows
17:59 jnthn TimToady: But if you print "foo\n" then you get the \n you asked for and no magic
18:00 jnthn Any feelings on that?
18:00 jnthn (Input from others welcome too)
18:00 eliasr joined #perl6
18:00 TimToady well, Perl has "always" distinguished text mode from binary, so not really sure how that plays with the \r\n grapheme thing
18:00 ^elyse^ joined #perl6
18:00 TimToady Perl 5 translates \r\n -> \n -> \r\n at IO boundaries
18:01 TimToady (on text files)
18:01 TimToady well, or relies on STDIO to do so
18:01 Actualeyes left #perl6
18:02 [Coke] RT: 1046; XMAS: 66, NOM: 8; GLR: 7; JVM: 37; LTA: 86, WEIRD: 10, TESTS: 11
18:04 sprocket any idea what might be causing this error while using NativeCall: Cannot locate native library 'libc.so': /usr/lib/arm-linux-gnueabihf/libc.so: invalid ELF header
18:04 TimToady wel already have /\n/ matching CRLF, but that's mostly there for accidental file sharing from win to *nix
18:04 sprocket the file exists, but NativeCall doesn’t seem to like it all that much
18:04 TimToady making "\n" turn into CRLF on windows would need consideration
18:05 jnthn At the moment we're not doing any translation at the boundary
18:06 RabidGravy sprocket, what does "file" say about the file?
18:06 [Coke] m: say ('a' x 10000).IO.open ;# wtf?
18:06 camelia rakudo-moar 273e89: OUTPUT«Malformed UTF-8 at line 2 col 7␤  in block <unit> at /tmp/R1N0bu_X0J:1␤␤»
18:06 jnthn stdio.h on Windows does indeed do such transforms, though we actually read everything as binary at the moment and decode it. We know at the VM level if we're interested in text or bytes, of course. But we ain't going through the magical stdio stuff
18:06 sprocket oh, odd, it says: /usr/lib/arm-linux-gnueabihf/libc.so: ASCII text
18:06 sprocket and it is indeed ASCII
18:06 [Coke] ^^ RT #125813
18:06 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125813
18:07 [Coke] jnthn, there's a weird UTF-8 error for you. :)
18:07 [Coke] m: say "नि".chars
18:07 camelia rakudo-moar 273e89: OUTPUT«1␤»
18:08 ilmari sprocket: it's a linker script
18:08 TimToady well, we also need to worry about getting accidental *nix files into win, so maybe coercing to the native format is the right default
18:08 [Coke] m: say «நி กำ षि "\r\n"»».chars
18:08 camelia rakudo-moar 273e89: OUTPUT«(1 1 1 2)␤»
18:08 abraxxa joined #perl6
18:08 [Coke] jnthn: is there a separate RT for \r\n ?
18:09 sprocket ilmari: ah.  i’ve located the actual libc, and now i just need to convince NativeCall to use that one instead
18:09 ilmari sprocket: .so are generally for the compile-time linker, not the dynamic linker, which uses the versioned .so.X.Y
18:09 RabidGravy sprocket, are you explicitly specifying the library in the "is native" ?  You shouldn't need to
18:09 jnthn TimToady: I was rather hoping to not coerce at all, given \n and \v in regexes do the right thing under NFG, and folks doing line-based stuff will typically work with .get/.lines (which auto-chomp) and .say (which can pick the correct platform ending)
18:09 sprocket RabidGravy: i was yes - if i drop it, it’ll just look for it in the already loaded libc?
18:09 RabidGravy yeah
18:10 ilmari sprocket: if it's in libc it'll already be loaded, so you can just do 'is native(Str)'
18:10 ilmari sprocket: http://doc.perl6.org/language/nativecall#Calling_into_the_standard_library
18:10 sprocket ilmari, RabicGravy: great, will give it a try
18:10 TimToady jnthn: yeah, forcing nl-out to CRLF (or LF) seems like it covers most of the cases, except perhaps for socket programming
18:11 DrPete joined #perl6
18:11 TimToady and maybe even there, if we're careful
18:11 jnthn TimToady: OK, I'll go with that, and say that print "foo\n" doesn't get special treatment, only "say foo"
18:12 TimToady but the question remains whether \n should mean CRLF on windows
18:12 jnthn Ah, you were still wondering that :)
18:12 jnthn hmm
18:12 [Coke] jnthn: \r\n is covered by RT #125927
18:12 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125927
18:12 TimToady well, there are conflicting design goals here
18:12 AlexDaniel .oO( whether anything should mean \n… )
18:13 TimToady culturally speaking, people expect \n to both mean a simple line feed, and to do the right thing in text files
18:13 jnthn [Coke]: We're more discussing https://rt.perl.org/Ticket/Display.html?id=88674 by now; I think we agree that \r\n will be one grapheme and that's fairly orthogonal to what we're considering at the moment. :)
18:13 TimToady in regex we've made the call that it's a logical newline, not a \xa
18:14 TimToady so do we be inconsistent with *nix culture, or with P6 regexes?
18:15 [Coke] jnthn: right, I'm just trying to close tickets.
18:15 kjs_ joined #perl6
18:15 PerlJam TimToady: self-consistency is a worthy goal  ;)
18:15 TimToady way back in the mists of time, \n was supposed to be a logical newline, but that kinda went away over the years
18:16 jnthn [Coke]: I've done most of the work for 125927, just missing the \r\n case, which is what I've been working on the last days, but it ended up having to yak shave another RT first :)
18:17 duncan_dmg left #perl6
18:17 [Coke] m: say chr 999999999999999999999999999
18:17 camelia rakudo-moar 273e89: OUTPUT«Cannot unbox 90 bit wide bigint into native integer␤  in block <unit> at /tmp/LiDTTrQn4t:1␤␤»
18:17 TimToady if we make it go to CRLF on windows only, that doesn't hurt anyone's *nix program, so the question is are there any windows programs that would be hurt by assuming \n means CRLF?
18:18 TimToady or programs that would be hurt after porting from *nix to windows?
18:18 jnthn How do you force output of a UNIX-style \n in Perl 5 when running on Windows, ooc?
18:19 jnthn Do you have to drop to binary mode?
18:19 TimToady default is text, and you have to do binary to bypass it
18:19 ilmari binmode($fh, ':raw')
18:20 ilmari and :encoding(), probably
18:20 * jnthn notes that qq{rn} eq qq{n} isn't true in Perl 5
18:20 ilmari no, it's only on IO
18:20 jnthn So I'm not quite sure exactly where the "magic" is happening
18:21 TimToady note the $fh argument
18:21 ilmari in the :crlf PerlIO layer
18:22 AlexDaniel [Coke]: maybe you wanna have a look at #125820 as well?
18:22 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125820
18:22 AlexDaniel [Coke]: it seems like the first one does not hang anymore
18:22 ilmari which the :raw pseudo-layer removes
18:22 AlexDaniel [Coke]: and other one-liners are printing the same error
18:23 TimToady well, and binmode without the 2nd arg defaults to raw
18:23 AlexDaniel [Coke]: which probably means that other 99999999 reports should be reviewed
18:23 AlexDaniel #126014
18:23 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126014
18:24 ilmari TimToady: yeah, :raw is more useful in the second arg to open
18:24 AlexDaniel #125814 #125811
18:24 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125814
18:24 jnthn ilmari: Does that essentially amount to an extra pass over all strings on input/output on Windows?
18:25 AlexDaniel [Coke]: not all of them are fixed, but it seems like some are
18:25 ilmari jnthn: each perlio layer can buffer and transform the data however it wants
18:25 TimToady I suppose we could have a 'use newline "\xa\xd"' pragma or so to influence what literal \n means
18:26 ilmari jnthn: the :crlf layer is actually just a flag on the default :unix layer, so presumably more efficient than that
18:26 ilmari jnthn: but PerlIO is a horrid mess, just ask leont
18:26 TimToady er, "\xd\xa", I guess
18:27 abraxxa joined #perl6
18:27 TimToady well, really, probably 'use newline :crlf' or 'use newline :lf'
18:27 ilmari https://www.youtube.com/watch?v=ybTFXG9HWUk
18:28 TimToady and then if we decided to default \n on windows to :crlf, it could be forced back to :lf at need
18:28 TimToady maybe that's the best way forward
18:28 jnthn TimToady: You're meaning what a literal \n compiles into on Windows, yes?
18:29 TimToady it would usually do the right thing on either *nix or windows, but be settable to the other culture at will
18:29 TimToady yes
18:29 jnthn OK, which removes the responsibility from IO
18:29 TimToady well, not really
18:30 jnthn ?
18:30 TimToady I'm assuming you still want nl-out to go to crlf
18:30 jnthn Oh
18:30 AlexDaniel m: my Nil $var where * == 42 = Nil; say $var;
18:30 camelia rakudo-moar 273e89: OUTPUT«Nil␤»
18:30 jnthn Yeah but, has $.nl-out = "\n";
18:30 jnthn Will compile into the right thing when you build your Rakudo on Windows :)
18:31 TimToady except maybe open should respect the caller's \n?
18:31 [Coke] AlexDaniel: feel free to comment on the tickets so I don't have to! ;)
18:31 TimToady when there's a pragma, I mean
18:31 jnthn Ah, true.
18:31 AlexDaniel m: my Int $var where * == 42 = Nil; say $var; # hm, what's this anon thing…
18:31 camelia rakudo-moar 273e89: OUTPUT«(<anon>)␤»
18:31 AlexDaniel [Coke]: eh, well, I thought that you are going to do that :)
18:31 jnthn CLIENT::<$?NL> or so
18:32 AlexDaniel [Coke]: but if not, tell me
18:32 TimToady jnthn: yeah
18:32 jnthn OK. And I presume for input we just are happy with \n and \r\n on any platform?
18:32 TimToady yes, robustness principle
18:33 jnthn And we don't transform them, since \n in a regex matches logically and .get and .lines chomp by default?
18:33 TimToady right
18:33 jnthn OK, I think we have a workable plan. :)
18:33 TimToady seems so as if to be
18:33 jnthn Thanks!
18:34 jnthn Think time to dinner, admin, relax...will work on it again tomorrow.
18:34 TimToady .oO("The fate of millions of \n characters hangs in the balance...")
18:35 jnthn Will work on other I/O-ish things this week too (like the sync I/O handles between threads)
18:36 jnthn food &
18:39 rindolf Hi all. sup?
18:39 d^_^b joined #perl6
18:40 lizmat jnthn: building moar has become pretty noisy on OSX at least
18:41 lizmat '&&' within '||' [-Wlogical-op-parentheses]
18:42 spider-mario joined #perl6
18:42 sprocket trying to trouble shoot some nativecall here, i’m getting this error: “This type cannot unbox to a native integer”
18:42 lizmat can you gist a --ll-exception backtrace ?
18:43 lizmat TimToady jnthn : wrt to using a regexp as a line delimiter, we have that functionality in IO:Handle.split already, so should be pluggable into .get and .lines
18:47 sprocket ah, got it - was a problem with a missing “is native(..)”
18:56 RabidGravy I've just put RT #126541 in regarding being able to get at the native file descriptor via the IO::Handle, IO::Socket etc because I keep forgetting about it
18:56 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=126541
19:03 firstdayonthejob joined #perl6
19:09 dalek doc: 6c8e42a | (Zoffix Znet)++ | doc/Language/faq.pod:
19:09 dalek doc: Grammar fix
19:09 dalek doc: review: https://github.com/perl6/doc/commit/6c8e42a4c3
19:09 dalek doc: b285f73 | (Zoffix Znet)++ | doc/Language/faq.pod:
19:09 dalek doc: Clarify applicability of Inline::Perl5
19:09 dalek doc:
19:09 dalek doc: The answer slightly implies *only* Catalyst and DBI can be used
19:09 dalek doc: review: https://github.com/perl6/doc/commit/b285f732d3
19:13 dalek doc: 92e37e4 | (Zoffix Znet)++ | doc/Language/faq.pod:
19:13 dalek doc: Grammar/phrasing
19:13 dalek doc: review: https://github.com/perl6/doc/commit/92e37e4958
19:15 yqt joined #perl6
19:16 telex joined #perl6
19:22 leont joined #perl6
19:29 atweiden m: class AOHSeen { has Int:D $.count = 0; has Bool:D $.seen = False; method postfix:<++>() { $!count++; $!seen = True; } }; my AOHSeen %aoh_seen; %aoh_seen<a> = AOHSeen.new; %aoh_seen<a>++;
19:29 camelia rakudo-moar 273e89: OUTPUT«Method 'succ' not found for invocant of class 'AOHSeen'␤  in block <unit> at /tmp/NvYvoSyQNp:1␤␤»
19:30 atweiden do i have this postfix declaration wrong?
19:30 moritz atweiden: yes, needs to be a sub in the outer scope
19:30 atweiden ah, makes sense moritz++
19:39 tokuhirom_h joined #perl6
19:40 moritz atweiden: though the default postfix:<++> implementation happily calls a method "succ" (for "successor") on your class, so just implementing that might be even easier
19:45 vendethiel joined #perl6
19:48 Ven_ joined #perl6
19:49 diana_olhovik joined #perl6
19:49 lizmat Another Perl 6 Weekly has hit the Net: https://p6weekly.wordpress.com/2015/11/02/2015-45-grapheme-clustering/
19:55 RabidGravy yay!
19:56 diana_olhovik__ joined #perl6
19:59 skids lizmat++
19:59 leont Awesome
20:02 moritz lizmat++
20:03 colomon lizmat++
20:06 hoelzro lizmat++
20:08 AlexDaniel hold on guys, I'm afraid that lizmat will overflow…
20:08 AlexDaniel hmm, what would be the error message
20:08 AlexDaniel lizmat++
20:08 lizmat :-)  EHEADEXPLODED
20:08 AlexDaniel that's less than awesome
20:08 lizmat ENOTALESLEFT
20:09 * AlexDaniel submits lizmatbug
20:09 PerlJam AlexDaniel: Love is infinite, so there's always more to share.
20:09 PerlJam lizmat++
20:10 AlexDaniel “(so a combiner after a control char is now an isolated combiner)” great!
20:11 colomon lizmat: link for nine’s video doesn’t work for me?  (Error 404)
20:11 lizmat ah?
20:12 * PerlJam makes a mental note to shout ETOOMUCHLOVE at Yaakov next time our paths cross on #perl  ;)
20:12 espadrine joined #perl6
20:13 lizmat weird...
20:13 colomon lizmat: huh
20:13 jdv79 PerlJam: huh?
20:14 colomon lizmat: if I go from your link, it doesn’t work for me.  If I go to http://niner.name/talks/ and click on the talk, it works.  :\
20:14 colomon oh
20:14 lizmat fixed
20:14 PerlJam jdv79: Am I being too random today?   I'm still a little groggy from a long weekend.
20:14 colomon it’s http://niner.name/talks/YAPC201%E2%80%8B5-Granada-Nines_Talk-HD720.m4v vs
20:14 colomon http://niner.name/talks/YAPC2015-Granada-Nines_Talk-HD720.m4v
20:14 lizmat there was some inviible garbage in there
20:15 lizmat fixed
20:15 lizmat colomon++
20:15 jdv79 yaakov comment was random
20:15 colomon lizmat: indeed, lizmat++
20:15 nowan joined #perl6
20:16 lizmat "I LOVE YOU ALL WITH A GREAT HUGE LOVE" is one of Yaakov's famous quotes
20:18 kjs_ joined #perl6
20:18 sjn lizmat++ # well written Perl 6 Weekly
20:19 ZoffixW joined #perl6
20:19 nowan joined #perl6
20:19 ZoffixW Is it possible to make operators work on an object? like Perl 5's "use overload"?
20:20 moritz ZoffixW: you can export multis of operators that support your type
20:20 moritz ZoffixW: or provide coercion methods
20:22 PerlJam jdv79: Yaakov always greets #perl with "I LOVE YOU ALL WITH GREAT HUGE LOVE"  or something similar.
20:22 Ven_ .u ⋄
20:22 yoleaux U+22C4 DIAMOND OPERATOR [Sm] (⋄)
20:22 doublec joined #perl6
20:22 PerlJam oh, /me is slow today in reading #perl6
20:23 [Coke] m: class A {}; sub infix:<+>(A,A) {5}; say A.new+A.new
20:23 camelia rakudo-moar 273e89: OUTPUT«5␤»
20:23 [Coke] m: class A {}; sub infix:<+>(A,Int:D) {5}; say A.new+1000
20:23 camelia rakudo-moar 273e89: OUTPUT«5␤»
20:25 jdv79 i like yaakov..  his role in tpf has been confusing though.
20:25 PerlJam confusing how?
20:26 gfldex m: class C { method foo(){ say 'foo'; } }; my method postfix:<!>(C:D $self:){$self.foo}; (C.new).&postfix:<!>;
20:26 camelia rakudo-moar 273e89: OUTPUT«foo␤»
20:26 gfldex ZoffixW: technically, yes
20:26 dalek rakudo/nom: 7d666a2 | (Steve Mynott)++ | src/core/ (2 files):
20:26 dalek rakudo/nom: add dragonfly BSD
20:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d666a201b
20:26 dalek rakudo/nom: c668b5f | lizmat++ | src/core/ (2 files):
20:26 dalek rakudo/nom: Merge pull request #570 from stmuk/nom
20:26 dalek rakudo/nom:
20:26 dalek rakudo/nom: add dragonfly BSD
20:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c668b5ffc1
20:26 jdv79 i thought as part of community guy he would be reaching out
20:27 jdv79 he said hes only internal or something like that so thats like echo chamber mgmt?
20:28 PerlJam something like that I guess.  He encourages and helps others to do the reaching out.
20:28 PerlJam (at least that's how I see it)
20:29 jdv79 is that happening.  i would think thats more valuable.  idk.
20:29 jdv79 external works that is
20:30 ZoffixW The export stuff isn't working:
20:30 ZoffixW m: class RGB { has Int $.num; sub infix:<+> (RGB $x, Int $y) is export { $x.num + $y; } }; my $x = RGB.new; say $x + 42;
20:30 camelia rakudo-moar 273e89: OUTPUT«Cannot call Numeric(RGB: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at /tmp/wstwrYtXYs:1␤␤»
20:30 ZoffixW Not sure what "coercion methods" are. And the several other examples shown would seem to require the user of my module to declare the special operators?
20:31 ZoffixW I'm trying to make an RGB tuple on which I could do math (like https://metacpan.org/pod/Number::RGB )
20:31 [Coke] ZoffixW: you need to make those subs external to the class.
20:31 [Coke] class RGB { has Int $.num;} sub infix:<+> (RGB $x, Int $y) { $x.num + $y; }; my $x = RGB.new; say $x + 42;
20:31 [Coke] m: class RGB { has Int $.num;} sub infix:<+> (RGB $x, Int $y) { $x.num + $y; }; my $x = RGB.new; say $x + 42;
20:31 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PrTxHOXPcy␤Strange text after block (missing semicolon or comma?)␤at /tmp/PrTxHOXPcy:1␤------> 3class RGB { has Int $.num;}7⏏5 sub infix:<+> (RGB $x, Int $y) { $x.num␤    expecting any of:␤     …»
20:32 _mg_ joined #perl6
20:32 [Coke] m: class RGB { has Int $.num;}; sub infix:<+> (RGB $x, Int $y) { $x.num + $y; }; my $x = RGB.new; say $x + 42;
20:32 camelia rakudo-moar 273e89: OUTPUT«Type check failed in binding $x; expected RGB but got Int␤  in sub infix:<+> at /tmp/0G05DkeQln:1␤  in sub infix:<+> at /tmp/0G05DkeQln:1␤  in block <unit> at /tmp/0G05DkeQln:1␤␤»
20:32 [Coke] ok, that's closer, anyway.
20:34 PerlJam you forgot "multi"
20:34 ZoffixW PerlJam++ Thanks :)
20:35 [Coke] ah, doh
20:35 ZoffixW Great. This works [Coke]++ moritz++
20:35 RabidGravy or put them in the scope of the class and apply "is export"
20:36 Alina-malina joined #perl6
20:37 leont joined #perl6
20:41 ZoffixW ISAGN in Perl 6's "overload" module :)
20:43 ZoffixW Is there a way to call the same code block with two different signatures? Like I might have my $obj + 42; or 42 + $obj. How do I cover both cases with least code? Something like multi infix:<+> (RGB $x, Int $y OR Int $y, RGB $y)
20:43 ZoffixW s/my //;
20:47 PerlJam I think clarity and simplicity trump tersness any day :)
20:47 ZoffixW Sure, which is why I don't want to consider $obj + 42 and 42 + $obj as two different cases :)
20:47 ZoffixW Since functionally, they're identical :)
20:48 PerlJam Are they always?
20:48 RabidGravy yeah, write up a bunch of multis and refactor the common code to a single sub
20:48 RabidGravy which you call from inside the multis
20:48 ZoffixW Actually, three cases $obj + 42, $obj + $obj, and 42 + $obj
20:49 ZoffixW Alright, I'll do that.
20:49 konobi pmurias: morning
20:50 RabidGravy if they really are identical you could do "multi sub....($x where RGB|Int, $y where RGB|Int)"
20:50 RabidGravy but I don't think that's clearer to me
20:51 RabidGravy no that wont't work because it allows Int, Int
20:51 RabidGravy so it whave to be more complex
20:51 * PerlJam mumbles something about waterbeds
20:51 moritz but Int, Int is already handled by a more narrow candidate
20:52 RabidGravy yeah
20:53 PerlJam if you used the junction types, you'd have to do _more_ work to get it to work correctly; not less.
20:53 RabidGravy I'd have thought so to
20:53 RabidGravy more is less in this case
21:00 RabidGravy let Perl be sorting out the stuff that would otherwise involve a bunch of ugly conditionals
21:02 ugexe is an error that is just 'Abort' moarvm or nqp?
21:02 yoleaux 1 Nov 2015 08:27Z <azawawi> ugexe: I was able to use zef on windows. Thanks for creating such a great tool. Please do keep up the awesome work.
21:02 yoleaux 1 Nov 2015 09:12Z <azawawi> ugexe: what's zef solution for the following code https://github.com/retupmoca/P6-Compress-Zlib-Raw/blob/master/Build.pm ?
21:02 PerlJam Though a slang or some macros that could automate this particular case would be interesting.
21:03 ugexe im hammering a socket and get 'Abort' errors in the same spot until i add some random code, which then does the same thing but in a different spot
21:11 RabidGravy can you add a signature to some code block after it has been created?
21:12 ugexe maybe with .assuming
21:12 Ven_ joined #perl6
21:13 ugexe i guess thats the opposite of what you want heh
21:14 RabidGravy yeah that partially applies the arguments to make a new code block
21:14 Alina-malina joined #perl6
21:15 mrf evening #perl6
21:15 RabidGravy which is cool in itself
21:15 mrf https://gist.github.com/ungrim97/65905b1393a7f7658dbb
21:16 mrf I believe that fixes my patch for ^10 in regexs though I don't know why the 0..^10 and ^10 test don't pass...
21:16 mrf TimToady: ^
21:17 jnthn lizmat++ # weekly
21:17 jnthn lizmat: Gah, I hate that &&/|| precedence error. Maybe we can turn it off so we can stop waste time patching it.
21:19 lizmat looks like it is only one patch, though, which I would be willing to do after confirming where the parens are supposed to go  :-)
21:19 lizmat that should tell you something about the need for those parens  :-)
21:21 jnthn lizmat: I've pushed something to kill the warning off
21:22 jnthn Hopefully that helps.
21:22 lizmat pretty sure it will...
21:22 jnthn Warnings should be there to catch common mistakes, but so far it just makes legwork for me.
21:22 jnthn And I've no intention of putting superstitious parens in for *that*.
21:22 [Sno] joined #perl6
21:22 * lizmat is glad with a more silent Moar build
21:22 jnthn :)
21:23 bartolin jnthn: I think that the "Method 'Int' not found for invocant of class 'Any'" happens since f5276ca2
21:24 bartolin jnthn: I'm not sure why, but this prevents the error with S32-num/complex.t: https://gist.github.com/usev6/bac193a8b7219490993c
21:25 jnthn *very* odd...
21:25 * bartolin runs a spectest, curiously
21:25 jnthn Thanks for investigating. :)
21:26 * jnthn will be back in the morning :)
21:26 jnthn 'night, #perl6
21:26 TimToady o/
21:26 bartolin o/
21:29 mrf TimToady: I pinged you regarding the ^ range quantifiers NQP patch but I now realise you may not be the best person to ping. DO you know who would be?
21:31 Peter_R joined #perl6
21:33 Ven_ joined #perl6
21:34 _28_ria joined #perl6
21:40 lizmat m: say (^10).roll(*)[^10]  # okidoki
21:40 camelia rakudo-moar 273e89: OUTPUT«(0 6 4 5 1 4 5 1 2 8)␤»
21:40 lizmat m: say (^10).roll(*)[^10]  # huh ??
21:40 camelia rakudo-moar 273e89: OUTPUT«(6 9 8 3 5 5 5 0 4 0)␤»
21:40 lizmat m: say (^10) .roll(*)[^10]  # huh ??
21:40 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Tv0qD2wqqQ␤Unable to parse expression in bracketed infix; couldn't find final ']' ␤at /tmp/Tv0qD2wqqQ:1␤------> 3say (^10) .roll(*)[^7⏏10]  # huh ??␤»
21:40 lizmat not space before .
21:40 lizmat *note
21:42 bbkr joined #perl6
21:42 bbkr r: for 0.00 .. 2.01 {.say}
21:42 yoleaux 7 Sep 2015 06:58Z <jnthn> bbkr: Saw your post; I think the deadlock will go away once I implement the smarter version of await that makes thread pool threads available to do other work while they're awaiting.
21:42 camelia rakudo-{moar,jvm} 273e89: OUTPUT«0␤1␤2␤»
21:42 TEttinger joined #perl6
21:42 bbkr looks like bug
21:43 lizmat bbkr: long time no see!
21:43 bbkr :)
21:43 lizmat not a bug, I don't think
21:44 lizmat because the for will add 1 for each iteration, and 2.00 is still below 2.01 ?
21:44 lizmat or are referring to the loss of decimal digits ?
21:45 bbkr ah, range does not inherit argument resolution (decimal places in this case)
21:45 bbkr yes, how to make ranges with decimal places?
21:45 lizmat r: .say for 0.01 .. 2.02
21:45 Ven_ joined #perl6
21:45 camelia rakudo-{moar,jvm} 273e89: OUTPUT«0.01␤1.01␤2.01␤»
21:46 lizmat m: say 0.00
21:46 camelia rakudo-moar 273e89: OUTPUT«0␤»
21:46 bbkr r: for 0.1, 0.2 ... 2.0 { .say }
21:46 camelia rakudo-{moar,jvm} 273e89: OUTPUT«0.1␤0.2␤0.3␤0.4␤0.5␤0.6␤0.7␤0.8␤0.9␤1␤1.1␤1.2␤1.3␤1.4␤1.5␤1.6␤1.7␤1.8␤1.9␤2␤»
21:46 bbkr \o/
21:46 lizmat yes, that works too
21:46 lizmat m: .WHAT.say for 0.00 .. 2.01
21:46 camelia rakudo-moar 273e89: OUTPUT«(Rat)␤(Rat)␤(Rat)␤»
21:47 lizmat so it was working after all, just the .say was dropping the decimal digits
21:48 TimToady m: .say for (0..2) / 10
21:48 camelia rakudo-moar 273e89: OUTPUT«0␤»
21:48 lizmat fg
21:48 TimToady m: say (0..2) / 10
21:48 camelia rakudo-moar 273e89: OUTPUT«0.0..0.2␤»
21:48 lizmat oops
21:48 TimToady hmm, that looks a bit buggy
21:48 TimToady oh wait, nm
21:48 bbkr r:  .nude.perl.say for 0.0 ... 2.0
21:49 camelia rakudo-{moar,jvm} 273e89: OUTPUT«(0, 1)␤(1, 1)␤(2, 1)␤»
21:51 bbkr looks fine. I simply forgot about ... operator that can get explicit step from 1st and 2nd value. thanks
21:51 kmel joined #perl6
21:53 muraiki joined #perl6
21:54 bartolin for the records: I got a clean spectest on moar with the modification from https://gist.github.com/usev6/bac193a8b7219490993c
21:55 dalek rakudo/nom: a2b02f4 | TimToady++ | src/Perl6/Grammar.nqp:
21:55 dalek rakudo/nom: set name on autogen'd metaops
21:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2b02f4ed2
21:55 bartolin that doesn't look like a clean patch, though ...
21:56 bartolin ^^ was related to my gist, not to TimToady++'s commit :-)
21:56 lizmat bartolin: will try in a mo
21:57 Ven_ joined #perl6
21:57 bartolin lizmat: no hurry! and thanks for the P6Weekly, btw
21:57 raiph joined #perl6
21:57 lizmat you're welcome!
21:59 TimToady mrf: maybe I can look at it later tonight
22:00 muraiki I wanted to give a quick thanks to everybody who has worked on #perl6. our first perl6 code went into production today :)
22:04 lizmat muraiki++
22:04 lizmat .oO( I think I got the "quote of the week" for next week )
22:10 Ven_ muraiki++ :D
22:11 RabidGravy muraiki, nice one very very nice.  no amount of  theoretical perfection, passing tests or reams of documentation validates what people have been doing more than that :)
22:12 muraiki it's nothing incredibly complicated; it watches files in a directory and fixes permissions that break, and also watches any newly created subdirs of that directory. but it uses supplies, which made the whole thing a breeze to write!
22:12 muraiki it solved a real pain of a problem for us in a very easy way
22:12 muraiki thanks again, everyone
22:13 RabidGravy blog! blog!
22:13 vendethiel muraiki: am I remembering correctly you were at the APW14?
22:13 muraiki vendethiel: no, I wasn't there, although I don't even know what APW is :)
22:13 RabidGravy it is the little things like IO.watch that build up to make the fabulous
22:13 vendethiel sorry, I get names mixed up all the time. austria perl workshop
22:14 muraiki vendethiel: hehe, nope. I was at the pittsburgh perl workshop recently, but didn't meet many people because I had a cold and as such became antisocial :)
22:16 tokuhiro_ joined #perl6
22:17 muraiki RabidGravy: I'd like to blog, but I'm not certain if my company will approve releasing this source. I'll look into it, though. but I did run into either a bug or else was doing something very wrong with IO watchers... let me find the RT
22:17 muraiki https://rt.perl.org/Public/Bug/Display.html?id=125908
22:17 muraiki I didn't even know how to describe it in a summary
22:18 pmurias konobi: morning
22:18 muraiki I know that in Reactive Extensions there is a distinction between hot and cold observables, but given that my test case didn't reproduce the problem, I don't think there's such an idea in perl 6's supply observables
22:18 muraiki wait, my test case did reproduce the problem
22:18 stmuk joined #perl6
22:18 muraiki sorry, it's launch day and my mind is frazzled :)
22:19 lizmat :-)
22:20 kjs_ joined #perl6
22:25 RabidGravy well there is  a notion of "live" supplies and otherwise
22:25 lizmat bartolin: fwiw, I'm trying a different approach
22:25 lizmat -    has $!handled;
22:25 lizmat +    has int $!handled;
22:26 lizmat aka, a cheap way to get a defined false value
22:26 muraiki RabidGravy: yeah, I saw the paragraph about live vs on demand. the problem in the ticket though is something I could see happening in Rx, but was unexpected in p6; that of two acts on one supply causing each act to be evaluated twice
22:27 lizmat muraiki: that smells of a bug indeed
22:27 muraiki which I guess is what the ticket should have been called
22:27 muraiki but at the time I was even more bewildered :)
22:27 lizmat are these two acts on the same thread or not ?
22:28 muraiki lizmat: to be honest, I'm not sure how to answer that :) I didn't explicitly create any new threads, though
22:28 RabidGravy I've noticed that you may get multiple events on an IO::Notification for some single logical change, depending on what happens in the app
22:29 lizmat yeah, but that is a known OS issue
22:29 muraiki RabidGravy: I took duplicate changes due to metadata changes into account via .unique(:as(*.path), :expires(5))
22:30 RabidGravy I did some work on pyinotify to get it to work on FreeBSD, properly did my head in
22:31 lizmat muraiki: glad to see Supply.unique used that way in production  :-)
22:31 muraiki lizmat: hehe
22:32 muraiki well, unfortunately I have to head out as my wife is waiting for me. thanks again everyone
22:35 dalek rakudo/nom: 5349d05 | lizmat++ | src/core/Failure.pm:
22:35 dalek rakudo/nom: Fix some strange failures
22:35 dalek rakudo/nom:
22:35 dalek rakudo/nom: bartolin++ found $!handled not being defined in some cases would cause
22:35 dalek rakudo/nom: a problem.
22:35 dalek rakudo/nom:
22:35 dalek rakudo/nom:   "Method 'Int' not found for invocant of class 'Any'"
22:35 dalek rakudo/nom:
22:35 dalek rakudo/nom: By making $!handled a native int, I think we kill two birds with one stone:
22:35 dalek rakudo/nom: the problem has gone away, and (hopefully) faster code gen for Failures
22:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5349d05c87
22:35 lizmat .oO( sometimes I feel like I only have a hammer to hit native int nails )
22:36 adu joined #perl6
22:38 retupmoca m: my $s = Supply.new; my $s2 = $s.unique(:as({$_}), :expires(5)); $s2.act({say $_}); $s.emit(1); $s2.act({ say $_ * 2}); $s.emit(2); # re: #125908
22:38 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=125908
22:38 camelia rakudo-moar 273e89: OUTPUT«1␤2␤4␤2␤4␤»
22:38 retupmoca looks like a bug in unique?
22:43 pmurias_ joined #perl6
22:44 cognominal lizmat++ # weekly
22:45 lizmat retupmoca: good catch, will look in a mo
22:48 DrPete joined #perl6
22:55 dalek rakudo-star-daily: 7a3656c | coke++ | log/ (10 files):
22:55 dalek rakudo-star-daily: today (automated commit)
22:55 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/7a3656c003
23:01 adu m: +<<
23:01 camelia rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uTApYxzOXa␤Prefix +<< requires an argument, but no valid term found␤at /tmp/uTApYxzOXa:1␤------> 3+<<7⏏5<EOL>␤    expecting any of:␤        prefix␤»
23:12 Ven_ joined #perl6
23:27 dalek ecosystem: 5edb69e | retupmoca++ | META.list:
23:27 dalek ecosystem: Add Crust::Handler::SCGI
23:27 dalek ecosystem:
23:27 dalek ecosystem: https://github.com/retupmoca/p6-Crust-Handler-SCGI
23:27 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/5edb69e903
23:35 skids joined #perl6
23:36 lizmat good night, #perl6!
23:50 jdv79 nite
23:56 kid51 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo