»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
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 | |
makes more sense | |||
psch | m: class A { has $.b; method a is export { say $.b }}; import A; a A.new(:b(5)) | ||
camelia | rakudo-moar fd8c98: OUTPUT«5» | ||
00:02
adu left
|
|||
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:03
RabidGravy left
00:07
colomon left
00:08
colomon joined
|
|||
cognominal | what is the dollar in the signature? | 00:08 | |
psch | cognominal: a scalar invocant | ||
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/btTGXDIdP6Two terms in a rowat /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…» | ||
psch | oh | ||
that's not where the signature goes... | |||
m: class A { has $.b; method a (A $self: ) is export { say $self!b }}; import A; say &a.signature | |||
camelia | rakudo-moar fd8c98: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yE4twEl1GlNo 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» | ||
psch | oh, the param is outside..? | 00:10 | |
m: class A { has $.b; method a (A $self: ) is export { say $self.b }}; import A; say &a.signature | |||
camelia | rakudo-moar fd8c98: OUTPUT«(A $self: *%_)» | ||
psch | anyway, there | ||
cognominal | psch++ | 00:12 | |
00:16
tokuhirom joined
|
|||
psch | ah, no, if it's not literal self it always goes through method dispatch... | 00:16 | |
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/ci7T9lM3z2No 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.» | ||
cognominal | m: class A { my &a = method a { say 'a' }; method b { a A }}; A.b # wicked | ||
camelia | rakudo-moar fd8c98: OUTPUT«a» | ||
psch | well, okay, that has me a tad confused... | ||
oh duh | |||
$.a is the same as self.a, but self!a isn't the same as $!a | 00:18 | ||
konobi | is there a version of the 'nix' language in nqp land? | 00:19 | |
00:20
tokuhirom left
|
|||
[Coke] | not to my knowledge. | 00:34 | |
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» | ||
cognominal | m: class A { my &a = method { say 'a' }; my &b = method { say 'b' }; our @a = ( &a, &b ) }; say @A::a | ||
camelia | rakudo-moar 1051fc: OUTPUT«[<anon> <anon>]» | ||
01:00
tokuhirom_h joined
01:04
tokuhirom_h left
|
|||
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» | ||
cognominal | m: say infix:['+'](1, 2) | 01:08 | |
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/F4e_z7kUwWUndeclared routine: infix:['+'] used at line 1. Did you mean 'infix:<+|>', 'infix:<+>', 'infix:«+>»', 'infix:«+<»', 'infix:<+^>'?» | ||
01:08
yqt left
|
|||
AlexDaniel | .u ⚠ | 01:10 | |
yoleaux | U+26A0 WARNING SIGN [So] (⚠) | ||
sprocket | is there something akin to a PERL5LIB environment var for rakudo that i can use to specify alternate library paths? | 01:11 | |
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 | ||
cognominal | I think you can use -I when invoking rakudo | 01:13 | |
sprocket | ah ok | ||
cognominal | I see PERL6LIB in the sources | 01:14 | |
github.com/rakudo/rakudo/blob/nom/...ore/Inc.pm | 01:15 | ||
sprocket | cognominal: I’ll check it out - thank you! | ||
cognominal | m: say 1.:<+>(2) | 01:16 | |
camelia | rakudo-moar 1051fc: OUTPUT«Cannot find method 'CALL-ME' in block <unit> at /tmp/bCGdBoTIi0:1» | ||
cognominal | at least they all parse :) | 01:17 | |
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. | ||
zengargoyle | is there a particular reason FIRST { … } can't be used in a while loop? | 01:26 | |
but LAST { … } can. | 01:27 | ||
m: my $x = True; while $x { FIRST { say "first" }; LAST { say "last" }; $x = False; } | 01:29 | ||
camelia | rakudo-moar 1051fc: OUTPUT«last» | ||
zengargoyle | m: my $x = True; while $x { once { say "first" }; LAST { say "last" }; $x = False; } | ||
camelia | rakudo-moar 1051fc: OUTPUT«firstlast» | ||
01:29
finanalyst left
|
|||
psch | m: say &infix:['+'](1,2) | 01:31 | |
camelia | rakudo-moar 1051fc: OUTPUT«3» | ||
psch | hm, not sure if that's autogen or the other bit... | ||
gfldex | m: my $i = 10; while $i-- { FIRST { say 'first' } }; | 01:32 | |
camelia | ( no output ) | ||
gfldex | m: my $i = 10; while $i-- { FIRST { say 'first' } say 'alive' }; | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_ychOoa7LcStrange 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 …» | ||
gfldex | m: my $i = 10; while $i-- { FIRST { say 'first' }; say 'alive' }; | ||
camelia | rakudo-moar 1051fc: OUTPUT«alivealivealivealivealivealivealivealivealivealive» | ||
gfldex | zengargoyle: please rakudobug | ||
zengargoyle | heh, seems like i'm rakudobuging something every day :P | 01:33 | |
01:35
TEttinger joined
01:36
cognominal left
|
|||
mst | design.perl6.org/Differences.html | 01:36 | |
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 | |||
or if that doc's considered 'out of date, meh' can we put some sort of thing at the top saying that | 01:37 | ||
01:38
MadcapJake joined
|
|||
zengargoyle | rakudobug'd: [perl #126535] AutoReply: [BUG] - FIRST phaser not firing in while | 01:39 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126535 | ||
AlexDaniel | .u 🛂 | 01:47 | |
yoleaux | U+1F6C2 PASSPORT CONTROL [So] (🛂) | ||
01:48
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
[Coke] | m: say "\c[PASSPORT CONTROL]" ~ "\c[COMBINING DIAERESIS]" | 01:51 | |
camelia | rakudo-moar 1051fc: OUTPUT«🛂̈» | ||
01:53
xpen joined
01:55
laouji joined
|
|||
AlexDaniel | .u 💬 | 01:55 | |
yoleaux | U+1F4AC SPEECH BALLOON [So] (💬) | ||
01:55
laouji left
|
|||
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/5beV6hPyp4Unrecognized character name COMBINING SPEECHBALOONat /tmp/5beV6hPyp4:1------> 3SSPORT CONTROL]\c[COMBINING SPEECHBALOON7⏏5]" # i wonder...» | ||
psch | aww unicode, why not | ||
:P | |||
TEttinger | m: say "\c[PASSPORT CONTROL]\c[COMBINING SPEECHBALLOON]" | 01:57 | |
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E_CVaKrj52Unrecognized character name COMBINING SPEECHBALLOONat /tmp/E_CVaKrj52:1------> 3SPORT CONTROL]\c[COMBINING SPEECHBALLOON7⏏5]"» | ||
TEttinger | m: say "\c[PASSPORT CONTROL]\c[COMBINING SPEECH BALLOON]" | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/_z1WSSNTDmUnrecognized character name COMBINING SPEECH BALLOONat /tmp/_z1WSSNTDm:1------> 3PORT CONTROL]\c[COMBINING SPEECH BALLOON7⏏5]"» | ||
TEttinger | aw | ||
is there a way to search the unicode DB for all matches? | 01:58 | ||
[Coke] | .u SPEECH | ||
yoleaux | U+2EC8 CJK RADICAL C-SIMPLIFIED SPEECH [So] (⻈) | ||
U+2F94 KANGXI RADICAL SPEECH [So] (⾔) | |||
U+1F4AC SPEECH BALLOON [So] (💬) | |||
[Coke] | .u SPEECHB | ||
yoleaux | No characters found | ||
AlexDaniel | .u BALOON | 01:59 | |
yoleaux | No characters found | ||
AlexDaniel | oops | ||
.u BALLOON | |||
yoleaux | U+2723 FOUR BALLOON-SPOKED ASTERISK [So] (✣) | ||
U+2724 HEAVY FOUR BALLOON-SPOKED ASTERISK [So] (✤) | |||
U+2749 BALLOON-SPOKED ASTERISK [So] (❉) | |||
AlexDaniel | so it is limited to just 3 | ||
TEttinger | .u COMBINING SPEECH | 02:01 | |
yoleaux | No characters found | ||
TEttinger | .u COMBINING BALLOON | ||
yoleaux | No characters found | ||
TEttinger | .u COMBINING BUBBLE | ||
yoleaux | No characters found | ||
TEttinger | .u SPEECH BALLOON | ||
yoleaux | U+1F4AC SPEECH BALLOON [So] (💬) | ||
TEttinger | hm | ||
AlexDaniel | there is no combining bubbles, stop it! :D | 02:02 | |
psch | "\x0".."\xffff" .grep({.uniprop eq 'Mn'}) # get all the marks! | ||
AlexDaniel | here's the list of all combining stuff: en.wikipedia.org/wiki/Combining_character | 02:03 | |
02:03
adu joined
|
|||
AlexDaniel | 🛂⃠ | 02:04 | |
psch | ooh, COMBINING HALF-WIDTH LEFT ALIGNED BLOCK | 02:05 | |
02:06
sprocket left
|
|||
psch better goes to bed :S | 02:06 | ||
02:08
goofyFuzzball joined
|
|||
diakopter | haha | 02:15 | |
02:22
risou left
|
|||
Sgeo | Does/will Perl6 have a reasonable FFI? | 02:22 | |
02:25
yeahnoob joined
|
|||
AlexDaniel | Sgeo: like Inline::Python? | 02:27 | |
zengargoyle | TEttinger: are you on a linux box? | ||
TEttinger | nope | ||
Sgeo | I don't know anything about Inline::Python | ||
Sgeo wants to use an opaque C library | |||
adu | opaque? | ||
TEttinger | why, zengargoyle? | ||
gfldex | Sgeo: see NativeCall | 02:28 | |
adu | and Inline::C | ||
gfldex | design.perl6.org/S21.html | ||
adu | and C::Parser | ||
zengargoyle | ah, don't know about Win/Mac... i usually zcat /usr/shar/i18n/charmaps/UTF-8.gx | fgrep <whatever> | ||
TEttinger | ah ok | ||
zengargoyle | other OS might have a file somewhere of characters... | ||
adu | zengargoyle: Mac is pretty close to most other unixen | 02:29 | |
zengargoyle | yeah, i almost count Mac, but don't know file locations. | ||
not sure, think that file is part of iconv | 02:30 | ||
02:30
bpmedley left
|
|||
adu | zengargoyle: usually if you substitute historical monikers with TitleCaseWords, the directory structure is pretty close | 02:30 | |
zengargoyle | uh, no locales package it seems. | 02:31 | |
adu | zengargoyle: like /home is /Users, /usr is /Library and lib/ is Frameworks/ and include/ is Headers/ | 02:32 | |
zengargoyle | lol | ||
adu | zengargoyle: it's exactly the same :P | 02:33 | |
zengargoyle: but I think most developer I know install homebrew or macports to smooth out the differences | 02:34 | ||
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 | |
and is more likely to work on Mac than Solaris. :P | |||
adu | most unix-y people I know who use windows install Cygwin | ||
02:37
BenGoldberg left
|
|||
adu | I've tried Solaris, it's /dev tree is like an alien world | 02:37 | |
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:41 | |
02:41
goofyFuzzball left
|
|||
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:44 | |
02:47
cognominal joined
02:59
cognominal left
03:05
kaare_ joined
03:10
aborazmeh left
03:12
MadcapJake left,
atweiden left
03:18
risou_awy joined,
risou_awy is now known as risou
|
|||
raiph | m: sink 1 | 03:20 | |
camelia | ( no output ) | ||
03:20
cognominal joined
03:22
tokuhirom joined
03:28
finanalyst joined
03:31
cognominal left
03:32
aborazmeh joined,
aborazmeh left,
aborazmeh joined
03:37
Actualeyes joined
03:38
xinming left
|
|||
zengargoyle | back in college days i kept my laundry in a NeXT box. too cool. | 03:40 | |
03:44
xinming joined
03:54
Oatmeal left
04:00
Oatmeal joined
04:04
khw joined
04:06
kaare_ left,
aborazmeh left
|
|||
dalek | kudo-star-daily: 5ec59e7 | coke++ | log/ (9 files): today (automated commit) |
04:29 | |
04:39
Actualeyes left
04:43
adu left
04:44
skids left
04:45
llfourn joined
04:58
Actualeyes joined
05:04
khw left
05:05
sprocket joined
|
|||
Hotkeys | does perl 6 have an equivalent to the $INPUT_RECORD_SEPARATOR or $RS or $/ variables from perl 5? | 05:07 | |
moritz | Hotkeys: you can specify the separator during open with nl => "separator" | 05:08 | |
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? | ||
TimToady | anyway, at the moment I think slurp.split is faster | ||
05:09
atweiden joined
|
|||
TimToady | hopefully will change in the next week or two | 05:09 | |
moritz | there's also open(...).split iirc | 05:13 | |
which might be less memory hungry | |||
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. | ||
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:23
AlexDaniel left
05:31
sprocket left
|
|||
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 | ||
atweiden | any thoughts on Rat64 vs rat64 native types? | ||
moritz | rats are composite types; there's not much point having a native one | 05:33 | |
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:34 | |
so a rat64 would actually have an int128 for its numerator | 05:35 | ||
05:42
[Sno] left
|
|||
zengargoyle | m: say "ア つ.ぐ".match(/<:Kana :Hira [.\h]>+/); | 05:45 | |
camelia | rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」» | ||
zengargoyle | m: say "ア つ.ぐ".match(/<:Kana :Hira [.]>+/); | ||
camelia | rakudo-moar 1051fc: OUTPUT«「ア」» | ||
arnsholt | zengargoyle: [...] doesn't introduce a character class in Perl 6, FYI =) | ||
It's a non-capturing group like (?:) in Perl 5 | 05:46 | ||
TimToady | it's inside <> | ||
zengargoyle | insise < > | ||
TimToady | but you need + | ||
m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.]>+/); | |||
camelia | rakudo-moar 1051fc: OUTPUT«「ア」» | ||
TimToady | m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.\h]>+/); | ||
camelia | rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」» | ||
zengargoyle | m: say "ア つ.ぐ".match(/<:Kana :Hira [.\h]>+/); | 05:47 | |
camelia | rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」» | ||
arnsholt | Oh, derp. It would appear that reading comprehension deteriorates as thesis writing intensifies >.< | ||
zengargoyle | m: say "ア つ.ぐ".match(/<:Kana+:Hira+[.]>+ % ' '/); | ||
camelia | rakudo-moar 1051fc: OUTPUT«「ア つ」» | ||
zengargoyle | why is [.] not matching the '.' | 05:48 | |
TimToady | that...shouldn't work work without + | ||
05:48
finanalyst left
|
|||
zengargoyle tried both ways and decided + didn't make a difference and thought maybe it was the default... | 05:49 | ||
TimToady | m: say "ア つ.ぐ".match(/<[\w] [.\h]>+/); | 05:50 | |
camelia | rakudo-moar 1051fc: OUTPUT«「ア つ.ぐ」» | ||
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; …» | ||
TimToady | eep, + isn't supposed to be default | ||
zengargoyle | m: say "つ.ぐ".match/<:Hira+[.]>+/); | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5===Null regex not allowedat /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); …» | ||
zengargoyle | m: say "つ.ぐ".match(/<:Hira+[.]>+/); | ||
camelia | rakudo-moar 1051fc: OUTPUT«「つ.ぐ」» | ||
zengargoyle | m: say "つ.ぐ つ.ぐ".match(/<:Hira+[.]>+ % ' '/); | 05:52 | |
camelia | rakudo-moar 1051fc: OUTPUT«「つ」» | ||
05:53
raiph left
|
|||
zengargoyle | m: "つ.ぐ つ.ぐ" ~~ m :g /<:Hira+[.]>+ % ' '/; say @(); | 05:56 | |
camelia | rakudo-moar 1051fc: OUTPUT«(「つ」 「.」 「ぐ つ」 「.」 「ぐ」)» | ||
zengargoyle wishes linenoise handled wide characters. | 05:59 | ||
atweiden | is it Rat128? getting invalid typename. | 06:08 | |
maybe i'll try rat64 first, but is it implemented? | 06:09 | ||
m: my rat64 $r = 0.0 | 06:16 | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5===Type 'rat64' is not declaredat /tmp/4JyC2ay_s2:1------> 3my rat647⏏5 $r = 0.0Malformed myat /tmp/4JyC2ay_s2:1------> 3my7⏏5 rat64 $r = 0.0» | ||
atweiden | m: my rat32 $r = 0.0 | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5===Type 'rat32' is not declaredat /tmp/nL33VHIKZU:1------> 3my rat327⏏5 $r = 0.0Malformed myat /tmp/nL33VHIKZU:1------> 3my7⏏5 rat32 $r = 0.0» | ||
atweiden | m: my Rat64 $r = 0.0 | 06:17 | |
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5===Type 'Rat64' is not declaredat /tmp/8ajKDsPbz7:1------> 3my Rat647⏏5 $r = 0.0Malformed myat /tmp/8ajKDsPbz7:1------> 3my7⏏5 Rat64 $r = 0.0» | ||
atweiden | how do you declare one of these larger Rats? | ||
TimToady | no, all we have is Rat and FatRat so far | 06:31 | |
06:37
jevin_ joined
06:42
quester joined
|
|||
quester | p6: my $i = 65536; say $i; $i *=2; say $i | 06:42 | |
camelia | rakudo-moar 1051fc: OUTPUT«65536131072» | ||
quester | p6: my int $i = 65536; say $i; $i *=2; say $i | 06:58 | |
camelia | rakudo-moar 1051fc: OUTPUT«65536131072» | ||
06:58
quester left
07:06
diana_olhovik_ joined
07:12
baest_ is now known as baest
07:27
firstdayonthejob joined
07:32
[Sno] joined
07:38
stux|RC-only joined
07:41
abraxxa joined
07:42
RabidGravy joined
07:45
darutoko joined
|
|||
RabidGravy | marnin | 07:46 | |
07:46
abraxxa left
07:55
colomon left
07:56
colomon joined
08:00
abraxxa joined
08:09
kjs_ joined
08:17
_mg_ joined
08:20
atweiden left,
ely-se joined
08:28
firstdayonthejob left,
Humbedooh left
08:30
Humbedooh joined
|
|||
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 | ||
lizmat | .tell TimToady Thanks for the quote! | ||
yoleaux | lizmat: I'll pass your message to TimToady. | ||
nine | lizmat: do you actually understand this? | 08:34 | |
dalek | kudo/nom: ee87d79 | lizmat++ | t/01-sanity/53-transpose.t: Fixup TRANSPOSE tests after changes |
||
08:35
zakharyas joined
|
|||
lizmat | I think so :-) | 08:35 | |
nine | lizmat: then I look forward to your explanation in the weekly :) | ||
moritz does | 08:36 | ||
llfourn | is there any fun that can be had with CompUnit interface that is worth documenting yet? | ||
lizmat | well, my interpretation is that if you say [+] @array, it is actually auto-vivified because they are needed | ||
moritz | there are infinitely many operators that you can create from basic operators and meta operators | ||
lizmat | whereas if you say my $a = &[+], they weren't yet | ||
nine | llfourn: there's much fun in completely refactoring CompUnit and friends ;) | 08:37 | |
llfourn takes that as a no | |||
moritz | for example from infix:<+>, you can create X[ZR+] or so | ||
so we don't create them up-front, but on demand | |||
llfourn | nine: good luck with that :) | ||
moritz | that used to work for calls, but not for references to those operators | ||
now it works for references too | |||
m: say &infix:<Z+>.signature.perl | 08:38 | ||
camelia | rakudo-moar 1051fc: OUTPUT«:(+ is raw)» | ||
moritz | star-m: say &infix:<Z+>.signature.perl | ||
camelia | star-m 2015.09: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Tpk56BPwpuUndeclared routine: &infix:<Z+> used at line 1. Did you mean '&infix:<∖>', '&infix:<lt>', '&infix:<eq>', '&infix:<>=>', '&infix:<=>>'?» | ||
nine | moritz: thanks! Crystal clear now | 08:39 | |
lizmat | nine: what moritz said | ||
moritz: can I use your exegesis in the P6W ? | |||
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! | ||
TimToady | also, &[+] is an existing operator | ||
lizmat | TimToady: ah. duh :-) | 08:41 | |
moritz | lizmat: sure | 08:42 | |
star-m: say infix:<+>(1,2) | |||
camelia | star-m 2015.09: OUTPUT«3» | ||
moritz | star-m: say infix:<Z+>(1,2) | ||
camelia | star-m 2015.09: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6rTbHU4LNgUndeclared routine: infix:<Z+> used at line 1. Did you mean 'infix:<∖>', 'infix:<lt>', 'infix:<eq>', 'infix:<>=>', 'infix:<=>>'?» | ||
mrf | * #perl6 | 08:44 | |
RabidGravy | rtp | ||
er | |||
TimToady | ah, yeah, infix:<Z+> didn't work before, duh | 08:46 | |
TimToady should go to bed soon... | |||
08:46
pdcawley joined
|
|||
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:47 | |
as for /x ** ^*/, that's pretty darn useless, and confusing to look at, given that both ^ and * are normal regex metachars | 08:48 | ||
mrf | TimToady: That that seems fair. | 08:49 | |
TimToady | mrf++ for the ^10 form though | ||
mrf | I only added ^* as it seems to keep consistent with the use of ^ as a range | ||
TimToady | (though calling '^' min seems a bit weird) | ||
TimToady does wonder if people will think ^10 means 0..10 though, when it should mean 0..9 | 08:50 | ||
ShimmerFairy | I would expect 0..9, as it is everywhere else :) | 08:51 | |
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 | ||
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. | ||
lizmat | most people should think of it as 10 times | ||
RabidGravy | yes | ||
lizmat | m: .say "foo" for ^10 | ||
camelia | rakudo-moar 1051fc: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CccAJuZGHcTwo terms in a rowat /tmp/CccAJuZGHc:1------> 3.say7⏏5 "foo" for ^10 expecting any of: infix infix stopper statement end statement modifier…» | ||
lizmat | m: say "foo" for ^10 | 08:53 | |
camelia | rakudo-moar 1051fc: OUTPUT«foofoofoofoofoofoofoofoofoofoo» | ||
ShimmerFairy | m: say ^10 | ||
camelia | rakudo-moar 1051fc: OUTPUT«0..^10» | ||
ShimmerFairy | m: say (^10).list | 08:54 | |
camelia | rakudo-moar 1051fc: OUTPUT«(0 1 2 3 4 5 6 7 8 9)» | ||
ShimmerFairy | ^ that's what I think of when I think of the upto syntax. So I'd expect ** ^10 to mean ** 0..9 | ||
mrf | I might update the Range type docs to make it clearer that ^ is exclusive of the endpoint | ||
lizmat | m: say + ^10 | ||
camelia | rakudo-moar 1051fc: OUTPUT«10» | ||
mrf | Also I suspect that might mean there is a bug in my NQP patch | 08:55 | |
m: say "foo" ~~ /o ** 0..2/ | 08:57 | ||
camelia | rakudo-moar ee87d7: OUTPUT«「」» | ||
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. | ||
mrf | m: say "foo" ~~ /o ** 0..^2/ | ||
camelia | rakudo-moar ee87d7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sI2dB5PMRFMalformed Rangeat /tmp/sI2dB5PMRF:1------> 3say "foo" ~~ /o ** 0..7⏏5^2/» | ||
mrf | ShimmerFairy: Agreed. I believe my patch would treat it as 0..10 not 0..^10 which would be erroneous. | 08:58 | |
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」» | ||
Hotkeys | <lizmat> m: say + ^10 | ||
did you mean | |||
m: say [+] ^10 | |||
camelia | rakudo-moar ee87d7: OUTPUT«45» | ||
lizmat | no, just showing the number of elems in ^10 | 09:00 | |
Hotkeys | oh | ||
TimToady | m: say "AAAAAAAA" ~~ /A ** {0..^4}/ | ||
camelia | rakudo-moar ee87d7: OUTPUT«「AAAA」» | ||
TimToady | okay, it's just an off-by-one there due to not considering the exclusion | ||
but definitely a bug | |||
dalek | kudo/nom: 63f6fc9 | lizmat++ | src/core/Str.pm: Also use TRANSPOSE for tr/x// case |
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? | ||
m: say (1..^4).bounds | |||
camelia | rakudo-moar ee87d7: OUTPUT«(1 4)» | ||
09:01
espadrine joined
|
|||
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 | ||
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 | ||
lizmat | TimToady: I've been wanting that for a while, will add that now | ||
ShimmerFairy | RabidGravy: yeah, so my first guess is that Range.bounds is being passed to the regex engine without correction :) | ||
mrf | timotimo: no worries. You have been super helpful and given me mre than enough support | 09:03 | |
timotimo++ | |||
TimToady | lizmat: note the code for .elems already has the logic | ||
mrf | psch++ # also helping | ||
timotimo | yay | ||
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. | ||
Is ^10 a synonym for "10 iterations" then? | |||
Timbus | 'upto 10' | ||
creates a list from 0..9 | 09:05 | ||
TimToady | ^10 is just short for 0 ..^ 10 | ||
mrf | Timbus: Sadly upto ten is subjective. Some people would be inclusive and some wouldn't | ||
Timbus | luckily, it looks a lot like the long form | ||
mrf | TimToady: That is probably a better answer. | ||
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. | ||
TimToady: ok | |||
I suppose that is consistent with its use in a full range.. | 09:07 | ||
TimToady | it's our answer to python's [:10] tomfoolery | 09:08 | |
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:10 | |
ShimmerFairy | mrf: probably the * quantifier :P | 09:11 | |
Timbus | lucky it stops before you get there eh | ||
mrf | ShimmerFairy: likely yes | ||
TimToady | it's the opposite of "to infinity and beyond" | ||
mrf | :D | ||
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:12 | |
mrf | ShimmerFairy: Thats not actually a terrible unhelpful error. | 09:13 | |
timotimo | ShimmerFairy: that error message should introspect the currently active keyboard layout | ||
shift-8 on my system is „, for example | |||
ShimmerFairy | timotimo: of course, but just think of the ungodly mess of dependencies in that :P | 09:14 | |
timotimo: it also doesn't account for the * key on my numpad, fwiw :) | |||
timotimo | very problematic! | ||
ShimmerFairy | mrf: aside from the casual tone of my fake message, I wonder if ** ^* and/or ** ^Inf would be worth noticing. | 09:17 | |
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)» | ||
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:28 | |
RabidGravy | "Perl 6: a million characters of helpful error message with some useful code attached" | 09:30 | |
09:36
azawawi joined
|
|||
azawawi | hi | 09:36 | |
moritz | RabidGravy: uhm, nothing? | 09:37 | |
RabidGravy | eh? | ||
moritz | RabidGravy: do you think it should? | ||
m: say &sin::NOTACOSINE | |||
camelia | rakudo-moar 63f6fc: OUTPUT«(Any)» | ||
RabidGravy | no I stumbled on it by accident and just wondered if it was something, like something defined in the code or something | 09:38 | |
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:41 | |
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:43 | |
timotimo | ah, hehe. | 09:44 | |
nine | timotimo: aah... I guess that's because of $past.annotate('statement_level', -> { $sinkee.annotate('context', 'sink') }); | ||
timotimo | as an optimization, we often share QAST objects | ||
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 :) | ||
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 | ||
on the other hadn | |||
hand* | |||
if we already know the context and have it annotated like that, why does the Want even still exist? | |||
nine | I don't know. It's been this way even before the GLR | ||
timotimo | tbh, i'm not sure how the for-to-while optimization did the sink detection before :\ | 09:46 | |
azawawi | timotimo: updated .... thanks :) | ||
nine | timotimo: that answers my question of how on earth this could have worked before | ||
09:46
dakkar joined
|
|||
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
espadrine left
|
|||
nine | timotimo: oh it did: if $optype eq 'callmethod' && $op.name eq 'sink' && | 09:47 | |
timotimo | azawawi: oh, on the web interface i see the commit now | 09:48 | |
nine: well, that's looking for the method call; is that how? | |||
so maybe the interesting place to look is what happened for the GLR where the sink method call used to be added? | |||
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 | ||
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? | ||
nine | timotimo: the latter | ||
timotimo | does that mean spec tests pass? :D | ||
nine | the "&& $op.ann('context') eq 'sink'" certainly helped, but there are still failures | 09:52 | |
09:52
g4 joined
|
|||
timotimo | uh oh | 09:52 | |
dalek | kudo/optimize_for_again: 489fdbf | timotimo++ | src/Perl6/Optimizer.nqp: WIP for -> loop; doesn't handle value-returning for yet |
09:53 | |
kudo/optimize_for_again: 4eb9e1e | (Stefan Seifert)++ | src/Perl6/Optimizer.nqp: Only optimize for Range to while when looping in sink context |
|||
azawawi | RabidGravy: im not sure you picked up all the pieces in that commit :) see github.com/azawawi/http-useragent/.../README.md | ||
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:01
TEttinger left
|
|||
azawawi | RabidGravy: re github.com/sergot/http-useragent/t...master/bin ... shouldnt we refactor these scripts to App::HTTP::UserAgent or something like that? | 10:03 | |
RabidGravy | I'm relaxed about that :) I don't think I've ever used the scripts | 10:04 | |
azawawi | RabidGravy: rationale, HTTP::UserAgent is the API, those scripts may not be needed to be installed by dependent modules | 10:05 | |
10:05
duncan_dmg joined
|
|||
azawawi | RabidGravy: hmm then let us move them to examples/ | 10:05 | |
RabidGravy | I'd stick an issue, get sergot to decide seeing as it's his module and all ;-) | 10:06 | |
azawawi | sure | ||
RabidGravy | I've made a right pigs ear of rebasing this, I've made the situation I was trying to avoid worse | ||
10:08
yeahnoob left
|
|||
azawawi | RabidGravy: github.com/sergot/http-useragent/issues/112 | 10:08 | |
RabidGravy: happens that's why i avoid it lol | 10:09 | ||
azawawi starts reads Perl weekly perlweekly.com/archive/223.html | |||
s/reads/reading/ | |||
RabidGravy | well it's quite obvious that it was me that screwed up rather than anyone else ;-) | ||
all done now | 10:10 | ||
azawawi | im going to read this in the afternoon think-like-a-git.net/ ... my Git foo is not enough :) | ||
10:11
andreoss joined,
espadrine joined
|
|||
azawawi runs panda install HTTP::UserAgent on linux and windows to make sure everything is ok :) | 10:11 | ||
10:12
Alina-malina joined
|
|||
timotimo | ugh. the "git for ages 4 and up" video recording was hosted on blip.tv | 10:15 | |
huh | |||
opened the video on youtube and one of the first few words (well ... two, really) was "perl six" | 10:16 | ||
azawawi | :) | 10:17 | |
RabidGravy | feeling a bit blocked at the moment, maybe it's time to start something new | 10:23 | |
timotimo | played too much minecraft? | 10:25 | |
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» | ||
dalek | kudo/nom: 7c5390b | lizmat++ | src/core/Range.pm: Little makeover of Range preludes - excludes-min/max/infinite are now native ints internally - all .new candidates are now one liners for better inlining |
10:28 | |
10:28
telex left
|
|||
timotimo | lizmat: does that commit make Range unsubtypable? | 10:30 | |
10:30
telex joined
|
|||
timotimo | because submethod BUILD takes positionals there? | 10:30 | |
lizmat | that didn't change | ||
that's been like that for a *long* time already | |||
timotimo | ah, ok | 10:31 | |
that's fine, then :) | |||
masak | the "Perl Weekly" people seem to have made a sport out of not understanding my macro posts :( | 10:32 | |
jnthn | morning, #perl6 | ||
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 | ||
lizmat | jnthn o/ | ||
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? | ||
masak | dunno | ||
gfldex: if you have any ideas how to make the topic more approachable... | |||
I mean, macros are not for everybody. it's taken me a while to get to this point, too. | 10:34 | ||
mrf | \o jnthn | 10:36 | |
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
dayangkun left
|
|||
masak | ShimmerFairy: for a long time, I was at that stage too. | 10:38 | |
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 :) | ||
pdcawley | ShimmerFairy: You can do some very weird stuff with scope as well. | ||
ShimmerFairy: inject all sorts of weird and wondrous things into scopes. | |||
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/ | ||
pdcawley | lizmat: o/ | ||
ShimmerFairy: Yup, that's a really useful aspect of macros. | |||
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 | ||
camelia | rakudo-moar 63f6fc: OUTPUT«100..^1» | ||
lizmat | m: say ^10 .elems | ||
camelia | rakudo-moar 63f6fc: OUTPUT«10» | ||
lizmat | m: say 0..^10 .elems | ||
camelia | rakudo-moar 63f6fc: OUTPUT«0..^1» | ||
pdcawley | ShimmerFairy: The other place they get useful when you want to fiddle with evaluation order. | 10:42 | |
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). | ||
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 | ||
(you can tell I'm not very good with macros, can't you? :P) | |||
gfldex | the following could use some work: rosettacode.org/wiki/Random_number_...%29#Perl_6 | 10:47 | |
dalek | kudo/nom: d99ab18 | lizmat++ | src/core/Range.pm: Simplify Range.elems |
10:49 | |
10:50
donaldh joined
|
|||
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? | ||
in text ment for members of the public that is | |||
lizmat | I guess similar to pugs, by now ? | ||
gfldex | same question stands for pugs | ||
lizmat | ah :-) | ||
"Pugs/Niecza were earlier attempts at implementing the Perl 6 specification. They are currently no longer maintained" | 10:52 | ||
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
11:01
lucasb joined
|
|||
gfldex | m: 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:04
dakkar left
11:06
mprelude joined
|
|||
|Tux| | test 50000 36.054 35.946 | 11:06 | |
test-t 50000 37.328 37.219 | |||
11:07
dalek joined,
ChanServ sets mode: +v dalek
|
|||
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» | ||
RabidGravy | "just me" | ||
timotimo | m: say Version.new("0.0.1").Str | 11:10 | |
camelia | rakudo-moar 7c5390: OUTPUT«0.0.1» | ||
timotimo | m: say Version.new("0.0.1").perl | ||
camelia | rakudo-moar 7c5390: OUTPUT«Version.new('0.0.1')» | ||
timotimo | hum. | ||
RabidGravy | m: say Version.new("v0.0.1") | 11:11 | |
flussence isn't all that fond of the amount of dots v-strings use | |||
camelia | rakudo-moar 7c5390: OUTPUT«vv.0.0.1» | ||
11:11
kaare_ joined
|
|||
RabidGravy | flussence, you don't need to use that many dots, it's just a convention | 11:12 | |
:) | |||
flussence | I mean: | ||
m: say $*VM | |||
camelia | rakudo-moar 7c5390: OUTPUT«moar (2015.10.14.g.5.ff.3001)» | ||
RabidGravy | it combs for alpha parts and digit parts | ||
flussence | that comes from "2015.10.14-g5ff3001" in git, which is a bit more readable | 11:13 | |
RabidGravy | It's more spectacularly weird with some more third party version strings | 11:14 | |
lucasb | Would it make sense to exist a VersionStr? | ||
somethink like: say <1 1.0 1e0 1i v1.0>.perl | |||
just like there are IntStr, etc. | 11:15 | ||
11:16
dakkar joined
|
|||
ilmari | m: say 'skjærgårdsøl'.encode('ascii').decode('utf8') | 11:17 | |
camelia | rakudo-moar 7c5390: OUTPUT«skj?rg?rds?l» | ||
flussence | oh well, the world's not on fire for lack of a perfect solution here, so I'll stop complaining :) | ||
ilmari | any chance of getting that fixed for 6.christmasj? | ||
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
adhoc left
|
|||
lucasb | Can't version objects have a revision attribute instead of splitting g5ff3001 in alphas and digits? | 11:18 | |
flussence | would probably make more sense to split on punctuation than start trying to account for edge cases like that... | 11:20 | |
jnthn | ilmari: That's RT #123673, which is on the xmas todo list | 11:21 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=123673 | ||
RabidGravy | unfortunately there are probably as many semantic schemes for versioning as there are software projects | 11:22 | |
for special cases I'd go with sub-classing Version | |||
ilmari | jnthn: ah, cool | ||
dalek | kudo/nom: c5c19a5 | lizmat++ | src/core/Range.pm: Implement Range.intbounds |
11:24 | |
11:26
cygx joined
|
|||
cygx | o/ | 11:27 | |
psch | m: say infix:['Z+'](^4, ^4) | ||
camelia | rakudo-moar d99ab1: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZA4k6fJQFqUndeclared routine: infix:['Z+'] used at line 1» | ||
psch | m: say &infix:['Z+'](^4, ^4) | ||
camelia | rakudo-moar d99ab1: OUTPUT«(0 2 4 6)» | ||
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 | ||
yoleaux | psch: I'll pass your message to jnthn. | ||
cygx | is there anything special I have to do when exporting multi candidates? | ||
jnthn | nine: Cool! | ||
yoleaux | 11:29Z <psch> jnthn: actually i think i have the rwness check working for moar but not jvm though | ||
11:29
adhoc joined
11:30
_mg_ left
|
|||
jnthn | psch: What did you mean by "too early", ooc? | 11:30 | |
cygx: Just labeling the trait_mod "is export" should do it | 11:31 | ||
psch | jnthn: that was a bad test case, actually | ||
jnthn: i had one cand with an Int invocant, and got Multi::NoMatch | 11:32 | ||
e.g. multi f(Int:D: $a is rw) { "Int" }; multi f(int $a is rw) { "int" } | |||
with f(5) that throws NoMatch, correctly | |||
jnthn | Yeah | 11:33 | |
That's the right answer :) | |||
I'm not sure how well the multi-dispatcher is handling "is rw" yet though | |||
iirc, when I looked into it, I found the dispatch cache may need tweaking. | |||
psch | yeah, that may be | 11:34 | |
i noticed yesterday that during failed dispatches i get lots of invocations of the native candidate | |||
as in, i added "note $which-cand-am-i" to the Int and int postfix:<++> candidates | |||
and for 5++, i got around a dozend "int" outputs | 11:35 | ||
but maybe that's just because we int inc on that path a lot | |||
gfldex | m: say 'I can haz massuge?'; say 'a' <=> 'b'; | ||
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,
Sqirrel_ joined
|
|||
gfldex | is that rakudobug worthy? | 11:37 | |
moritz | aye | ||
11:37
Sqirrel left
|
|||
gfldex | just LTA or some deeper problem? | 11:38 | |
jnthn | Yeah, it looks like the error reporting is bust | ||
moritz | gfldex: <=> coerces to Numeric, and the coercion fails, and it doesn't properly deal with that | 11:39 | |
11:42
abraxxa left
|
|||
azawawi | has anyone worked on `rakudobrew build-zef` ? If not, I am going to work on it :) | 11:43 | |
gfldex | reported as #126536 | 11:44 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126536 | ||
11:45
finanalyst joined
|
|||
psch | "failed to produce a message" is what i got on jvm when i mis-invoked the throwers from P6EX | 11:46 | |
11:46
tokuhirom_h joined
|
|||
RabidGravy goes with the ugly but worky | 11:46 | ||
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 | |||
camelia | rakudo-moar d99ab1: OUTPUT«0.0.1» | ||
timotimo | oh wow. | 11:48 | |
i dreaded having to "repair" my computer | |||
turns out all i had to do was wiggle some cables | |||
it's probably time to run a good backup ... | |||
lizmat | .oO( it's *always* time to run a good backup) |
||
11:48
xpen left
|
|||
psch | m: say cis(1.1) | 11:49 | |
camelia | rakudo-moar d99ab1: OUTPUT«0.453596121425577+0.891207360061435i» | ||
11:49
rindolf joined
|
|||
timotimo | the words "oh no! he was one day from retirement!" come to mind | 11:49 | |
11:50
tokuhirom_h left
|
|||
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» | ||
dalek | p: 7710de0 | jnthn++ | src/HLL/Compiler.nqp: Fix thinko in \r\n -> grapheme prep. Need to use double quotes for a \r, not single. |
||
psch | 'cause the place where we'd have to throw Parameter::RW is in RakudoContainerSpec.store | ||
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 | ||
src/Perl6/Metamodel/BOOTSTRAP.nqp:404 is where we do it for Moar's | |||
psch | jnthn: i have adapted that, but i must've done something insufficiently, 'cause with my adaption it still went through to store | 11:57 | |
but then my adaption also still threw AdHoc "expected a native int" for int $x; $x++... | 11:58 | ||
so yeah, definitely a lot missing :S | |||
the hard part for me is figuring out where to draw the line between "this is optimizer/inlining" and "this is jvm Binder" | 11:59 | ||
12:03
Oatmeal left
12:04
donaldh left
|
|||
gfldex | m: my $a = 0; 'abc'.substr(-$a).say; | 12:08 | |
camelia | rakudo-moar c5c19a: OUTPUT«abc» | ||
gfldex | ^^^ heisenwarning | ||
llfourn | m: my ($a,*@b) = flat (1,[2,3]); say @b; # can't get this to DWIM | 12:10 | |
camelia | rakudo-moar c5c19a: OUTPUT«[]» | ||
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]]» | ||
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 @ | ||
without double arraying | 12:12 | ||
jnthn | m: my ($a, @b) := (1,[2,3]); say @b | ||
camelia | rakudo-moar c5c19a: OUTPUT«[2 3]» | ||
llfourn swears he tried that | |||
ahhh := | |||
psch | m: my ($a, @b); with (1,[2,3]) -> @ [$x, *@y] { $a = $x; @b = @y }; say @b # the long way around | 12:13 | |
camelia | rakudo-moar c5c19a: OUTPUT«[2 3]» | ||
llfourn | jnthn: thats strangely consistent :) | ||
psch: I am not even sure I have seen that syntax before :P | 12:14 | ||
with ( .. ) -> @ [ <=== what it that | |||
jnthn | heh, cute :) | ||
psch | m: sub f(@ [$x, @xs]) { say $x; say @xs }; f [1,2,3,4] | ||
jnthn | Both use the signature binder, fwiw | ||
camelia | rakudo-moar c5c19a: OUTPUT«cannot stringify this in sub f at /tmp/tNR22aId16:1 in block <unit> at /tmp/tNR22aId16:1» | ||
psch | huh | ||
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]» | ||
psch | oh, right, has to slurp | ||
jnthn | That looks like an error reporting fail | ||
12:15
Oatmeal joined
|
|||
psch | llfourn: "array unpacking" is how i've heard it called usually | 12:15 | |
psch forgot how the general unpack worked | |||
llfourn | psch: I see so you have this floating '@' in the signature... | 12:16 | |
psch | llfourn: yeah, it's just an anonymous array | ||
m: my ($a, @b); with (1,[2,3]) -> @all [$x, *@y] { say @all; $a = $x; @b = @y }; say @b | |||
camelia | rakudo-moar c5c19a: OUTPUT«(1 [2 3])[2 3]» | ||
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]» | ||
psch | hm, should shapes give us a segmentation there? | ||
e.g. -> [@a[3], @b[9]] | |||
jnthn | psch: Some day, though doubt we'll make that feature by 6.c | 12:18 | |
gfldex | i would prefer a warning | ||
RabidGravy | before I try and fail miserably, would setting the STORE of a Proxy to a multi work? | ||
12:19
kjs_ left
|
|||
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]» | ||
llfourn | psch: works without the floating '@'... | 12:21 | |
timotimo | RabidGravy: i think it should; otherwise: rakudobuggable :) | ||
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:22 | |
12:23
_mg_ joined
|
|||
llfourn | psch: got it thanks :) | 12:23 | |
RabidGravy | timotimo, let me see what happens | ||
llfourn gains ability 'array unpacking' | |||
cygx | jnthn: I could not get exporting to work and had to pull out the multi candidate intp its own .pm file | 12:24 | |
timotimo | RabidGravy: i mean, it's just a callable you're installing ... isn't it? | 12:25 | |
12:27
abraxxa joined
|
|||
llfourn | is there any way to do like python: my (_, @b) := (1,[2,3]); | 12:27 | |
timotimo | you mean discard something? | ||
llfourn | ie junk the first element returned | ||
yes | |||
jnthn | llfourn: $ | ||
timotimo | you can just assign it to $ i believe | ||
llfourn | thanks! | 12:28 | |
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]» | ||
llfourn | ...or will it... :D | ||
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_l1GJurNCannot use bind operator with this left-hand sideat /tmp/FC_l1GJurN:1------> 3($, my @b) := (1,[2,3])7⏏5; say @b # I was doing this» | ||
llfourn | m: ($, my @b) = (1,[2,3]); say @b # which works without := | 12:31 | |
camelia | rakudo-moar c5c19a: OUTPUT«[[2 3]]» | ||
jnthn | my ($, @b) := ... | ||
llfourn | jnthn: yes :) | ||
psch | FSVO works - you get a nested array like that | ||
jnthn | The (...) there is parsed as a signature | ||
12:32
abraxxa left
|
|||
jnthn | So it's same as how to discard args | 12:32 | |
sub second($, $a) { $a } | |||
cygx | if I may do say so myself, I'm pretty pleased how the refactor of the TinyCC module is shaping up: github.com/cygx/p6-tinycc/blob/v2/t/01-sanity.t | ||
llfourn | jnthn: yes it's once again strangely consistent :) | 12:33 | |
12:37
duncan_dmg left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
psch | hrm, i must be missing something | 12:38 | |
m: with :1a -> Pair $ (:$key, :$value) { say $key, $value } | |||
camelia | rakudo-moar c5c19a: OUTPUT«a1» | ||
psch | m: class A { method foo { "foo" }; method bar { "bar" } }; with A.new -> A $ (:$foo, :$bar) { say $foo, $bar } | ||
camelia | rakudo-moar c5c19a: OUTPUT«(Mu)(Mu)» | ||
psch | is unpacking only for Attributes? | ||
12:38
duncan_dmg joined
|
|||
timotimo | doesn't it also work for hashes? | 12:38 | |
psch | timotimo: well, that and hashes excepted... :) | 12:39 | |
12:39
kjs_ joined
|
|||
psch | so, the general, object unpacking | 12:39 | |
timotimo | :) | ||
12:39
doublec joined
|
|||
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 | ||
ah, alright | |||
jnthn | Though you're free to write custom accessors | ||
timotimo | oh? didn't know | ||
jnthn | So long as you declare the attrs with has $.foo | ||
12:46
abraxxa joined
12:48
leont left
|
|||
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 | ||
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 | ||
psch: 'cus it needs a little more design work | 12:56 | ||
12:56
woolfy joined
|
|||
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 | ||
woolfy | At the bottom of 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 github.com/perl6/doc/raw/master/li...tshell.pod gives a 404 error. I don't know who to report this to. | 12:57 | |
timotimo | needs to be raw.githubusercontent.com/perl6/do...tshell.pod | 12:58 | |
i.e. change lib to doc | |||
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 | ||
(The normal binding kinda does for performance) | |||
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 | 12:59 | |
13:00
aborazmeh left
|
|||
masak | ShimmerFairy: yes, macros as functions with "varying code" is exactly right | 13:01 | |
RabidGravy | timotimo, yep that works | 13:03 | |
m: gist.github.com/jonathanstowe/8a7f...b0586b5027 | |||
camelia | rakudo-moar c5c19a: OUTPUT«v0.0.1v0.0.1» | ||
azawawi | github.com/tadzik/rakudobrew/pull/64 # rakudobrew build-zef :) | 13:04 | |
RabidGravy | azawawi++ # on a rol | ||
l | |||
azawawi | RabidGravy: rol\rl or rol\r\nl ? :) | 13:05 | |
RabidGravy: thx :) | |||
psch | S17-procasync hangs are annoying :/ | 13:06 | |
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 :) | ||
(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 | ||
13:08
tokuhirom_h joined
|
|||
arnsholt | Macros can be very useful | 13:09 | |
But they also introduce a whole new way things can go wrong | |||
In Lisp, I've been told that a common beginner mistake is to reach for macros too quick | |||
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 | ||
camelia | ( no output ) | ||
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:10 | |
13:13
tokuhirom_h left
|
|||
psch | uhm, what's with S32-num/complex.t? "Bad plan. You planned 488 tests but ran 89." | 13:14 | |
timotimo | a crash? | 13:15 | |
or some kind of exception thrown in the middle of it | |||
psch | hm, this is weird | ||
standalone it works | 13:16 | ||
13:16
leont joined
|
|||
psch | ah, it's the indeterministic "Method 'Int' not found for invocant of class 'Any'" | 13:16 | |
lizmat | m: -5i .. 5i | 13:19 | |
camelia | rakudo-moar c5c19a: OUTPUT«WARNINGS:Useless use of ".." in expression "-5i .. 5i" in sink context (line 1)» | ||
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 | |
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. | |||
lizmat | m: -5i .. ^5i | ||
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:1Actually thrown at: in block <unit> at /tmp/FL2rkCHH_g:1» | ||
lizmat | hmmmm | ||
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:21 | |
dalek | kudo/nom: 76391ca | peschwa++ | src/Perl6/Metamodel/BOOTSTRAP.nqp: Refuse to compile-time bind subs with rw parameters. |
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! | ||
ShimmerFairy: and lambda calculus could just as well have been called "lambda algebra", IMO. | |||
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 :) | ||
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_ left,
Sqirrel joined
|
|||
masak | lizmat: "the same treatment"...? | 13:24 | |
lizmat | or should we just forbid Ranges with Complex ? | ||
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
|
|||
masak | oh, hm. | 13:25 | |
I have no opinion on that, then. | |||
m: class B {}; say B.new .. B.new | |||
camelia | rakudo-moar c5c19a: OUTPUT«B.new..B.new» | ||
masak | lizmat: fine by me ;) | ||
lizmat++ # thinking the impossible :) | |||
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 | ||
ShimmerFairy | As soon as you can tell me if -5i is less than +5i, I'd be OK with -5i..5i :P | ||
lizmat | ok, closing that pit for now: going to outlaw Complex as endpoints, just like Range and Seq | 13:27 | |
timotimo | right | ||
ranges should very much be about orderable things | |||
masak | we don't have a first-class concept of "orderable", though | 13:28 | |
13:28
ollej left
|
|||
masak | m: say False..True | 13:28 | |
camelia | rakudo-moar c5c19a: OUTPUT«Bool::False..Bool::True» | ||
timotimo | that's right :\ | ||
so only allow Range with Int, Num, Rat :) | |||
nine | False and True are actually Ints in Perl 6 | ||
So there is order there | 13:29 | ||
masak | m: say Less..More | ||
camelia | rakudo-moar c5c19a: OUTPUT«Order::Less..Order::More» | ||
timotimo | order! i will have order!! | ||
masak | m: say Less < More | 13:30 | |
camelia | rakudo-moar c5c19a: OUTPUT«True» | ||
13:30
Woodi joined
|
|||
masak | m: say Less < Same < More | 13:30 | |
camelia | rakudo-moar c5c19a: OUTPUT«True» | ||
ShimmerFairy | m: say Less ~~ More | 13:31 | |
camelia | rakudo-moar c5c19a: OUTPUT«False» | ||
ShimmerFairy | Turns out less isn't more :/ | ||
13:31
leont left
|
|||
masak | it's more of a figure of speech. | 13:31 | |
woolfy | timotimo: "needs to be raw.githubusercontent.com/perl6/do...shell.pod" -> lizmat tells me she can adapt the link | ||
psch | m: say Less..More .list | 13:32 | |
camelia | rakudo-moar c5c19a: OUTPUT«Order::Less..1» | ||
psch | m: say (Less..More) .list | ||
camelia | rakudo-moar c5c19a: OUTPUT«(-1 0 1)» | ||
nine | .oO( language constructs explained with Perl 6 ) |
||
psch | m: say abs Less == More | 13:33 | |
camelia | rakudo-moar c5c19a: OUTPUT«0» | ||
psch | m: say abs(Less) == More | ||
camelia | rakudo-moar c5c19a: OUTPUT«True» | ||
ShimmerFairy | masak: I figure the speech is wrong :P | ||
psch | Less is absolutely More... vOv | ||
timotimo | masak: you're a figure of speech yourself, if you don't mind my saying | ||
psch | actually, "Less absolutely is More" is probably preciserer | ||
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? | ||
in submethod BUILD at /home/azawawi/.rakudobrew/moar-nom/install/share/perl6/site/3:31 # rather odd | 13:35 | ||
13:35
cygx left
|
|||
timotimo | that'd be nice | 13:35 | |
psch | ShimmerFairy: that's probably the precisest | 13:36 | |
dalek | c: bba2bfc | lizmat++ | lib/Pod/Htmlify.pm6: Fix source-url, spotted by woolfy++, timotimo++ |
||
timotimo | also, $*PROGRAM_NAMe or which it is ... :) | ||
whichever gets output in the $?USAGE | 13:38 | ||
azawawi | rakudobrew + perl6 weirdness... looking into it | 13:39 | |
13:39
Sqirrel left
|
|||
lucasb | perl6 --ll-exception ... |& sed "s|$HOME/\.rakudobrew/moar-nom/install/share/||" | 13:40 | |
^^ I remember to have put this in some script... | |||
to short the long pathnames | |||
13:40
ely-se left
|
|||
dalek | kudo/nom: 7f6396d | lizmat++ | src/core/Range.pm: Complex numbers are no valid endpoints for Ranges |
13:42 | |
kudo/nom: ae4bafe | lizmat++ | src/core/Range.pm: Kebab-case smashcased intbounds, ab5tract++ |
|||
13:44
Sqirrel joined
13:45
ely-se joined
13:46
khw joined
13:49
AlexDaniel joined
13:50
robinsmidsrod joined
13:51
Sqirrel left
|
|||
azawawi | interesting on windows 7 and later, you have 'where $executable-name' to replace which | 13:52 | |
WHERE /R c:\windows *.exe *.dll *.bat # interesting | 13:53 | ||
where /R "c:\Program Files (x86)" firefox.exe # since firefox is not in PATH... go figure lol | 13:56 | ||
[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:57 | |
RabidGravy | sounds like a plan | 13:59 | |
14:05
adu joined,
abraxxa left
|
|||
dalek | ast: 733886c | lizmat++ | S03-operators/range-basic.t: Simplify a lot of tests, add some more Result is actual fewer tests reported, but more tests done, thanks to the magic that is subtest {} ! |
14:06 | |
ast: 3eab3f3 | lizmat++ | S02-types/range.t: Follow Range.perl changes |
|||
14:06
cygx joined
14:07
sprocket joined
|
|||
cygx | github.com/cygx/p6-tinycc/commit/4...49a04af443 # no comment | 14:07 | |
timotimo | that's adorable | 14:08 | |
14:08
pmurias joined
14:09
n0tjack joined
|
|||
pmurias | what does #~ mean in the rakudo code base? I see it in src/Perl6/Metamodel/DefiniteHOW.nqp? | 14:10 | |
jnthn: do you think using cross-compiling for rakudo-js is sane? (until nqp-js is of comparable speed to nqp-m) | |||
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? | ||
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. | ||
jnthn | pmurias: And my gut feeling is that you might run into issues | ||
(If not bootstrapped) | |||
You'd make it through the build up to BOOTSTRAP.nqp without issues, I suspect | 14:14 | ||
14:14
sprocket left
|
|||
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
azawawi left
|
|||
llfourn | I get "Method 'iterator' must be implemented by Iterable because it is required by a role" at the end of that | 14:15 | |
14:16
tokuhirom left
14:17
adu left
|
|||
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
|
|||
pmurias | what should I use to measure nqp-js optimalizations? | 14:18 | |
llfourn | ilmari: there you go :) | ||
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:19 | |
jnthn | pmurias: For profiling, or what benchmark? | 14:20 | |
14:20
kjs_ left
|
|||
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? :) | ||
ilmari: ah nvm --ll-exception I see it | 14:22 | ||
ilmari | llfourn: the bit that camelia didn't output | 14:23 | |
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? | ||
pmurias: does perl6-bench already know how to build nqp-js? | |||
pmurias | jnthn: just compiling something with nqp-js-compiled-to-js seems like a decent start | ||
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» | ||
pmurias | timotimo: not yet | ||
llfourn | m: .signature.params[0].perl for &postcircumfix:<{ }>.candidates | ||
camelia | ( no output ) | ||
14:27
kjs_ joined
|
|||
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…» | ||
pmurias | timotimo: how do I make it benchmark nqp-js? | ||
timotimo | pmurias: perhaps adding it to compiler.json and components.pl would be a good start? | ||
llfourn | ilmari: something wrong with the 2nd argument of one of them :P | ||
timotimo | cygx: never mind, i get it now | 14:30 | |
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:31 | |
timotimo | lucasb: can easily be solved by giving every empty class an "iterator" method! | 14:32 | |
14:32
cognominal joined
|
|||
llfourn | lucasb: In this case one of the params is iterable? (it happens with just .perl instead of say) | 14:32 | |
lucasb | I think this happens with any method | 14:33 | |
dalek | kudo/nom: 42922fb | lizmat++ | src/core/Range.pm: Streamline Range.perl/gist for better readability |
||
kudo/nom: 939e5c9 | lizmat++ | src/core/Range.pm: Remove thinko from Range.Str |
|||
lucasb | m: Iterable.oh-hai | ||
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…» | ||
llfourn | m: .signature.params[0,2..*].perl for &postcircumfix:<{ }>.candidates #works | 14:35 | |
camelia | ( no output ) | ||
llfourn | m: .signature.params.perl for &postcircumfix:<{ }>.candidates #fails | ||
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…» | ||
llfourn | ^^ why I thought it's a param that's causing it | ||
lucasb: but thanks for the info lucasb++ | 14:36 | ||
14:41
sprocket left
|
|||
llfourn | lucasb: yep the routine that fails has the sig: (Any Iterable) | 14:43 | |
14:43
sprocket joined
|
|||
llfourn | .signature.params.map({ .type.^name } ).say for &postcircumfix:<{ }>.candidates | 14:44 | |
14:49
sprocket left
|
|||
lizmat is preparing the Perl 6 Weekly again | 14:49 | ||
14:49
n0tjack_ joined
|
|||
lizmat | let me know of anything newsworthy that you think I might have missed ! | 14:49 | |
dalek | c: 258a6ae | (Ronald Schmidt)++ | doc/Language/classtut.pod: Update classtut.pod Fix partially broken link to section of objects doc. |
14:50 | |
14:51
n0tjack left
14:52
TimToady left,
Alina-malina left
|
|||
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 :-) | ||
jnthn | m: my $a = 0; ++$a++ | ||
camelia | rakudo-moar ae4baf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VEbDb2Kq3hOperators '++' and '++' are non-associative and require parenthesesat /tmp/VEbDb2Kq3h:1------> 3my $a = 0; ++$a++7⏏5<EOL> expecting any of: postfix» | ||
jnthn | That non-assoc error I did too | ||
timotimo | the headline is "lizmat: My main news was correcting the NFG algo (mostly done except the \r\n case)"? | ||
jnthn | m: /^+/ | ||
camelia | rakudo-moar ae4baf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PbgNCj2mXgCan only quantify a construct that produces a matchat /tmp/PbgNCj2mXg:1------> 3/^+7⏏5/ expecting any of: term» | ||
timotimo | don't make it that, that's just weird | ||
jnthn | And that :) | ||
lizmat | 2015.45 Grapheme Clustering | ||
14:53
TimToady joined
|
|||
timotimo | i bet you also saw the literal mistype thing | 14:54 | |
14:54
n0tjack_ left
|
|||
lizmat | yep, also mentioned already :-) | 14:54 | |
14:55
skids joined
|
|||
jnthn | .oO( litreal mistype ) |
14:56 | |
14:56
g4 left
|
|||
dalek | kudo/nom: 385850b | lizmat++ | src/core/Range.pm: Streamline Range.iterator Possible since $!excludes-min and $!excludes-max have sensible int values. |
14:58 | |
llfourn | lizmat: you can now search for control flow stuff like 'if','given' in docs if that rates a mention... | 14:59 | |
14:59
pmurias left
|
|||
lizmat | llfourn: cool, I did miss that :-) | 14:59 | |
but first, some cycling while the sun is still out& | 15:00 | ||
timotimo | cycle the sun back in! | ||
nine | lizmat: I'd be happy if you mentioned my YAPC talks video: niner.name/talks/YAPC2015-Granada-N...-HD720.m4v | ||
15:01
pmurias joined
|
|||
RabidGravy | the fog has finally lifted in merry old London | 15:02 | |
dalek | c: a481420 | (Lloyd Fournier)++ | doc/Language/control.pod: if got missed out of X<> |
15:04 | |
llfourn | ...now you actually can search for if :P | 15:05 | |
(when it gets rebuilt) | |||
TimToady yawns after 5 hours of sleep, and plans to take a siesta later... | 15:11 | ||
[Coke] | nine: that's a hell of an opener. | 15:15 | |
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. | ||
PerlJam | Coke: he was *dancing* and *half* naked :) | 15:17 | |
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:19 | |
[Coke] | PerlJam: well then! | 15:20 | |
nine | At least I can't remember any rolling ;) | 15:21 | |
15:22
tokuhirom joined
15:24
xpen left
|
|||
TimToady | What is this stuff coming down from the sky? It reminds me of something we used to see around here sometimes... | 15:24 | |
Oh yeah, I think it's called rain. | |||
One of those rare meteorological phenomena you read about but rarely see. | 15:25 | ||
If you're Californian... | |||
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 | ||
masak | 'night, #perl6 | ||
PerlJam | masak: g'night | ||
15:27
isacloud_ joined,
tokuhirom left
15:28
timo joined
15:29
timo is now known as Guest80685,
robins joined,
pmurias_ joined
15:30
itz_stmu1 joined,
kipd_ joined,
smash_ joined,
b^_^d joined,
erdic_ joined,
lucs_ joined
15:31
ely-se left,
cxreg2 joined
15:32
mattp_ left
15:35
pmurias left,
robinsmidsrod left,
finanalyst left,
Jonis left,
integral left,
smash left,
dustinm` left,
erdic_ is now known as erdic,
mattp_ joined,
dustinm` joined
|
|||
dalek | p: cc97cd9 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for improved line reading. |
15:35 | |
p: d70e1a0 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Map readlinechompfh and setinputlineseps on Moar. |
|||
15:37
isacloud_ is now known as isacloud
|
|||
dalek | p: 5f82f9e | jnthn++ | t/moar/03-line-seps.t: Tests for multi-char seps and chomped readline op. Just for MoarVM; porting this functionality to JVM is an open task for anyone interested. |
15:37 | |
p: 0cbc4cd | jnthn++ | / (2 files): Harden tests in prep for \r\n -> 1 grapheme. |
|||
15:38
kipd_ is now known as kipd
15:40
robins is now known as robinsmidsrod
|
|||
lucasb | Someone interested will have the amazing oportunity of doing the task | 15:41 | |
15:41
salva joined
|
|||
lucasb | j/k :) | 15:42 | |
15:42
finanalyst joined
15:43
softmoth joined
|
|||
jnthn delegates what he can... :) | 15:43 | ||
15:44
xpen joined,
pdcawley left
|
|||
jnthn | Seems I've fixed RT #122971 :) | 15:44 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=122971 | ||
15:45
Sqirrel joined
|
|||
pmurias_ | jnthn: It's great where there is a bunch of fun/bite-sized tasks around | 15:45 | |
15:46
pmurias_ is now known as pmurias,
sprocket joined,
clkao joined
|
|||
jnthn | pmurias: I guess you'll want to do those for js too ;) | 15:47 | |
15:47
hoelzro joined,
pdcawley joined
|
|||
pmurias | jnthn: I'm rebuilding nqp and getting to work on that right know | 15:47 | |
hoelzro | o/ #perl6 | 15:48 | |
15:50
Sqirrel left,
kjs_ left
15:52
n0tjack joined
15:55
yqt joined
15:57
kjs_ joined
|
|||
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:57 | |
oh, nm | 15:58 | ||
pmurias | hoelzro: hi | ||
hoelzro | o/ pmurias | ||
pmurias | jnthn: the change to version 16 of the serialization format for MoarVM happened in April? | 15:59 | |
jnthn | pmurias: Sorry, I don't know without looking at the git history | 16:00 | |
(git log src/6model/serialization.c should be revealing) | |||
jdv79 | is require broken? i feel like this particular worked not long ago. | ||
hoelzro | pmurias: I take it nqp-js doesn't like the new serialization format? | ||
jdv79 | *particular code | 16:01 | |
pmurias | hoelzro: updating it should be a big problem | ||
hoelzro | =( | ||
pmurias | * shouldn't | ||
hoelzro | I can maybe help with it, since I handled the 13 → 14 and 14 → 15 changes | ||
pmurias | I'm just confused why it popped up right now when it happend a few months ago | ||
hoelzro | oh, good =) | ||
16:01
cygx left
|
|||
hoelzro | maybe something wasn't writing out in v16? | 16:01 | |
or it has something to do with NQP bootstrap? | 16:02 | ||
16:02
pdcawley left,
uruwi left
|
|||
hoelzro | oh, that *is* interesting; v16 came out in April? | 16:03 | |
16:03
Alina-malina joined
16:07
integral joined
|
|||
jnthn | Anyone know anything about the "Method 'Int' not found for invocant of class 'Any'" hiesenbug? | 16:08 | |
dalek | rl6-roast-data: 0535d8a | coke++ | / (9 files): today (automated commit) |
||
pmurias | hoelzro: that's what I gather from the git log | 16:09 | |
hoelzro: (that it came out in April) | |||
dalek | kudo/nom: 273e895 | jnthn++ | tools/build/NQP_REVISION: Bump NQP_REVISION for line reading improvements. MoarVM can now handle multi-char separators, which we get with this bump without doing anything further. Also makes available support for multiple separators and chomping them at VM level. |
||
[Coke] | jnthn: only that i tripped over it. | ||
dalek | ast: b709a7c | jnthn++ | S16-filehandles/io_in_while_loops.t: Test for RT #122971. |
||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=122971 | ||
jnthn | [Coke]: Yeah, I get it on only some runs :/ | ||
[Coke]: What platform you hit it on? | |||
itz_stmu1 | error: short SHA1 38585 is ambiguous. | 16:10 | |
[Coke] | all those JVM tickets recently were most recently tested on OS X. | ||
itz_stmu1 | never seen that before! | ||
16:10
itz_stmu1 is now known as stmuk
|
|||
[Coke] | github.com/coke/perl6-roast-data/b...ummary.out is the last run on hack.p6c.org | 16:10 | |
dalek | c: d5b6854 | (Lloyd Fournier)++ | doc/Language/modules.pod: fix typos in modules.pod |
16:11 | |
jdv79 | gist.github.com/anonymous/e45bf78f9e29adf16633 | ||
what's wrong there? | |||
hoelzro | I'm wondering if github.com/MoarVM/MoarVM/blob/mast...on.c#L1672 has something to do with it | ||
(the nqp-js issue) | |||
jnthn | [Coke]: Wait, you got the method Int on Any error on JVM too? | ||
16:11
_mg_ left
16:12
xpen left
|
|||
[Coke] | ... I may be confusing my b00gs. | 16:12 | |
pmurias | hoelzro: nqp-js issue? you mean the random js code disappearing? | ||
16:12
mattp_ left
|
|||
jnthn | [Coke]: Yeah, I don't see it in github.com/coke/perl6-roast-data/b...ummary.out | 16:12 | |
hoelzro | pmurias: I mean the serialization format issue | ||
[Coke] | jnthn: apologies. | 16:13 | |
16:13
mattp_ joined
|
|||
[Coke] | I blame my 2.5 hours of sleep last night! | 16:13 | |
jnthn | np | ||
And, ouch! | |||
hoelzro | yeah, there is a lot of if(version <= 15) { /* use int */ } else { /* use varint */ } code in serialization.c | 16:14 | |
I'm guessing that if the else branches are ported over to deserialization.js, nqp-js will build once again | |||
jdv79 | lizmat: maybe. for now i'm just "new and clone"ing to do what i want | ||
lizmat: maybe at a perf stage that might be better... idk. | 16:15 | ||
JimmyZ | <= 15 is for boostrap code .. | ||
pmurias | hoelzro: the way strings are serialized changed, I'm working on that rcurrently | ||
jnthn | pmurias: fwiw, I expect to do an NQP re-bootstrap shortly | ||
nine | jnthn: I've seen that heisenbug on Linux, too | ||
jnthn | OK, good...can Valgrind it at least then :) | 16:16 | |
bbi5 | |||
jdv79 | anyone get what's going on with the gist above? seems simple enough. | ||
dalek | ast: 6d74106 | coke++ | S05-modifier/counted.t: slight fudge for jvm (needs more) |
||
16:17
xfix joined
|
|||
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 | ||
PerlJam | jdv79: require is run-time, there is no Foo symbol for the Foo.new at compile-time. | 16:20 | |
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; | ||
jdv79 | the whole point is late loading though at runtime | ||
16:22
lucasb left
|
|||
jdv79 | for this use at least. hmm | 16:22 | |
moritz | jdv79: iirc it's supposed to install a symbol Foo anyway | ||
jnthn | moritz: What could it install? | 16:23 | |
moritz | jdv79: TimToady++ complained about the other day | ||
jdv79 | i guess i'm remembering it wrongly then | ||
p5ism | |||
moritz | jdv79: a container holding Any, for example? | ||
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:24 | |
16:25
pdcawley joined,
_Ven joined
|
|||
ilmari | Cannot modify an immutable IdName | 16:26 | |
_Ven | hoy, #perl6! | 16:27 | |
sprocket | apparently not, as it’s immutable. is there a setuid/setgid? | ||
moritz | sprocket: I don't think so; though you could always call it via NativeCall | ||
sprocket: compare doc.perl6.org/language/nativecall#C...rd_library | |||
sprocket | moritz: ah ok. is that something that’d be provided later via a POSIX lib? | ||
moritz | sprocket: presumably, yes | 16:28 | |
sprocket | moritz: great, ok, thanks! | ||
pmurias | hoelzro: like most finds in the new serialization it seems to be similiar but slightly different | 16:29 | |
16:29
n0tjack left
|
|||
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 :) | ||
RabidGravy | nwc10++ # anyway | ||
16:36
sprocket left
16:37
diana_olhovik_ left
|
|||
RabidGravy | I was going to ask sprocket how much they wanted that, could be a few minutes to knock together | 16:38 | |
16:39
pdcawley left
|
|||
dalek | ast: c51a7e1 | jnthn++ | S16-filehandles/io.t: Add missing .close calls, to fix on Windows. |
16:41 | |
kudo/optimize_for_again: fdf6dfa | (Stefan Seifert)++ | src/Perl6/Actions.nqp: Fix optimized for range loop messing up lexicals The optimized code is created from the original op tree, not what p6for generates. So creating the closure for $block in p6for is not enough. Add the block_closure to the original op tree instead, so we get it in the optimized code, too. |
|||
16:42
zakharyas left
|
|||
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. | ||
jdv79 | i thought symbols were forward declared or whatever that's called | ||
but its only a wrinkle in this use so not a big deal | 16:43 | ||
_Ven | (whoever added the exercism.io perl6 exercises)++ | 16:44 | |
did a few, it was fun (although the test file doesn't load the correct class) | 16:45 | ||
16:45
Oatmeal left,
n0tjack joined
|
|||
nine | Ok, that was my small contribution of the day. Out now for some socializing :) | 16:45 | |
16:48
sprocket joined
16:52
LLamaRider joined
16:54
LLamaRider left
16:55
SHODAN joined
16:58
Oatmeal joined
|
|||
dalek | ast: 61ee17d | jnthn++ | S16-io/lines.t: Add missing file closing, fixing test on Windows. You can't unlink and then re-spurt a file that was not closed on Windows. |
16:58 | |
ast: 369aa88 | jnthn++ | S32-io/pipe.t: Avoid doing a run that spits out a warning. |
17:00 | ||
17:05
_Ven left
17:06
liztormato joined
17:08
finanalyst left
|
|||
andreoss | m: (dir) ==> grep * !~~ :f ==> map &say | 17:11 | |
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/j4IuVAmLEQVariable '&infix:<!~~>' is not declaredat /tmp/j4IuVAmLEQ:1------> 3(dir) ==> grep * 7⏏5!~~ :f ==> map &say» | ||
17:13
liztormato left
|
|||
andreoss | m: (1,2,3,4) ==> grep * !== 1 ==> map &say | 17:13 | |
camelia | rakudo-moar 273e89: OUTPUT«234» | ||
andreoss | m: (1,2,3,4) ==> grep * !~~ 1 ==> map &say | ||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XF03A6dO0JVariable '&infix:<!~~>' is not declaredat /tmp/XF03A6dO0J:1------> 3(1,2,3,4) ==> grep * 7⏏5!~~ 1 ==> map &say» | ||
andreoss | m: (1,2,3,4) ==> grep { $_ !~~ 1 } ==> map &say | 17:14 | |
camelia | rakudo-moar 273e89: OUTPUT«234» | ||
andreoss | prefix:<!> is misparsed in feeds? bug? | 17:15 | |
17:16
Sqirrel joined
|
|||
andreoss | m: say 1 !~~ 2 | 17:17 | |
camelia | rakudo-moar 273e89: OUTPUT«True» | ||
psch | m: say ^10 .grep: * !~~ { $_ %% 2 }($_) | 17:18 | |
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/McREyGOl2JVariable '&infix:<!~~>' is not declaredat /tmp/McREyGOl2J:1------> 3say ^10 .grep: * 7⏏5!~~ { $_ %% 2 }($_)» | ||
andreoss | m: my &z = * !~~ 2; say z(1); | ||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Um_mMAe8TeVariable '&infix:<!~~>' is not declaredat /tmp/Um_mMAe8Te:1------> 3my &z = * 7⏏5!~~ 2; say z(1);» | ||
psch | m: say ( * !~~ Int )(5) | ||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/iP3Y0Tqf94Variable '&infix:<!~~>' is not declaredat /tmp/iP3Y0Tqf94:1------> 3say ( * 7⏏5!~~ Int )(5)» | ||
andreoss | rather with WhateverCode | ||
17:18
n0tjack left
|
|||
psch | m: say ( 5 !~~ * )(5) | 17:18 | |
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tBa_lOnlJ1Variable '&infix:<!~~>' is not declaredat /tmp/tBa_lOnlJ1:1------> 3say ( 5 7⏏5!~~ * )(5)» | ||
17:20
Sqirrel left
|
|||
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:20 | |
andreoss | m: sub infix:<!~~>($a,$b){ $a !~~ $b } ; say (* !~~ Int)(Nil); | 17:22 | |
camelia | rakudo-moar 273e89: OUTPUT«True» | ||
sprocket | how can i create a new type in p6? | ||
ie) if i wanted to create a new type that was called “MyInt” and it was just a int32 | 17:23 | ||
RabidGravy | subset | ||
dalek | p: 12bab30 | (Pawel Murias)++ | src/vm/js/nqp-runtime/deserialization.js: [js] Fix deserialization of things under the serialization format 16. |
||
17:23
sprocket left,
sprocket joined
|
|||
psch | an different name for an existing type i'd use constant for, fwiw | 17:23 | |
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» | ||
psch | m: constant MyInt = Int; my MyInt $x = 5; | ||
camelia | ( no output ) | ||
psch | that's just a different name again, though | ||
underneath it's still an Int | |||
sprocket | psch: ah, thanks! | ||
andreoss | m: constant MyInt = int32; my MyInt $x = 6; say $x; | ||
camelia | rakudo-moar 273e89: OUTPUT«6» | ||
andreoss | why subset didn't work? | 17:25 | |
jnthn | You can't really subset native types | ||
RabidGravy | because | ||
17:25
yqt left
|
|||
RabidGravy | m: class MyInt is int32 { } | 17:25 | |
camelia | rakudo-moar 273e89: OUTPUT«===SORRY!===Cannot find method 'BUILDPLAN'» | ||
jnthn | Because the value gets boxed on the way to the thing that checks it | ||
RabidGravy | that could be more awesome | 17:26 | |
jnthn | RabidGravy: Indeed. | 17:27 | |
Can probably patch that easily | 17:28 | ||
jnthn includes an attempt to fix it with the other thing he needs to spectest | |||
andreoss | m: my &infix:<~~~> := &infix<~~>; say (* !~~~ 1)(2); | 17:29 | |
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1TG3cpWxjhUndeclared routine: &infix used at line 1. Did you mean '&indir', '&index'?» | ||
andreoss | m: my &infix:<~~~> := &infix:<~~>; say (* !~~~ 1)(2); | ||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2b3lezm_LrVariable '&infix:<!~~>' is not declaredat /tmp/2b3lezm_Lr:1------> 3my &infix:<~~~> := &infix:<~~>; say (* 7⏏5!~~~ 1)(2);» | ||
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_ZkhW0q3Cannot negate smart-match because additive operators are not iffy enoughat /tmp/4S_ZkhW0q3:1------> 3x:<smart-match> := &infix:<~~>; say (* !7⏏5smart-match 1)(2); expecting any of…» | ||
17:30
diana_olhovik_ joined
|
|||
jnthn | RabidGravy: Yeah, got a patch that fixes the error. | 17:30 | |
17:30
ggoebel2 joined
|
|||
RabidGravy | jnthn++ # make things good | 17:31 | |
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:32 | ||
AlexDaniel | I actually like this one: | 17:35 | |
m: class MyInt is MyInt { } | |||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/avu7aWZeCv'MyInt' cannot inherit from itself.at /tmp/avu7aWZeCv:1» | ||
sprocket | how do i run the tests in a p6 module i’ve checked out of github? | ||
AlexDaniel | look! There's an error message for that! :D | ||
jnthn | There's one for things you can't inherit from too, it's jsut that native types flagged themselves as being inheritable. | ||
moritz | sprocket: PERL6LIB=lib prove -e perl6 t | ||
sprocket | moritz: thanks :) | 17:36 | |
jdv79 | RabidGravy: why wouldn't people use memcached? | ||
moritz | sprocket: I think there's also a panda-test command or something | ||
sprocket | moritz: is panda a package/module manager? | 17:37 | |
jdv79 | $work used to use it lically and the aws version | ||
*locally | |||
moritz | sprocket: yes | ||
AlexDaniel | m: class MyInt is Any is Int { } | ||
camelia | rakudo-moar 273e89: OUTPUT«===SORRY!===Could not build C3 linearization: ambiguous hierarchy» | ||
17:37
n0tjack joined
|
|||
AlexDaniel | is it internal? | 17:38 | |
jnthn | No | ||
moritz | AlexDaniel: no, it's a user error | ||
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" | ||
jnthn | But it could use a line number | ||
AlexDaniel | why no line number then? | ||
jdv79 | yes | ||
AlexDaniel submits rakudobug… | |||
oh these tiny things! | 17:39 | ||
jnthn | :) | ||
jdv79 | iirc fb still uesd it last i knew | ||
jnthn | It's not a common error to run into :) | ||
jdv79 | even though its got its issues ^H | ||
AlexDaniel | jnthn: well, I'm not so sure | ||
dalek | kudo/nom: 60ff7e5 | jnthn++ | src/core/ (4 files): Factor our setting handle line ending. Also add support for multiple endings, though we're not using this anywhere just yet. |
||
kudo/nom: 6154e5f | jnthn++ | src/Perl6/Metamodel/NativeHOW.nqp: Can not inherit from native types. |
|||
[Coke] | up to RT: 1046 | 17:40 | |
jnthn | AlexDaniel: I am; people using multiple inheritance is thankfully already quite rare :) | ||
[Coke]: But xmas down by 1 more today, I hope :) | |||
Well, I know, 'cus I closed it... :) | 17:41 | ||
AlexDaniel | m: class Weirdness is Nil { }; my Weirdness $var = Nil; | 17:45 | |
camelia | ( no output ) | ||
17:45
dakkar left
|
|||
AlexDaniel | m: class Weirdness is Nil { }; my Weirdness $var; | 17:45 | |
camelia | ( no output ) | ||
AlexDaniel | is there any way to only allow defined Nils? | ||
I've tried Nil:D but it does not work, as far as I can see | |||
psch | ..defined Nil? | 17:46 | |
m: say (Nil but role { defined { True } }).defined # ? | |||
AlexDaniel | m: class Weirdness is Nil { }; my Weirdness:D $var; | ||
camelia | rakudo-moar 273e89: OUTPUT«WARNINGS:Useless use of "defined { True } " in expression "defined { True } " in sink context (line 1)False» | ||
rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Nx_ig99iYCVariable definition of type Weirdness:D requires an initializerat /tmp/Nx_ig99iYC:1------> 3eirdness is Nil { }; my Weirdness:D $var7⏏5; expecting any of: constraint» | |||
psch | m: say (Nil but role { method defined { True } }).defined # ? | ||
camelia | rakudo-moar 273e89: OUTPUT«True» | ||
17:46
diana_olhovik_ left
|
|||
psch | that's the only defined Nil i can imagine :S | 17:46 | |
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" | ||
AlexDaniel is always asking for some crap and expects Perl6 to handle that somehow | |||
psch | m: my $x = Nil; say $x.defined | ||
camelia | rakudo-moar 273e89: OUTPUT«False» | ||
psch | m: my $x = Nil.new; say $x.defined | ||
camelia | rakudo-moar 273e89: OUTPUT«False» | ||
AlexDaniel | so basically :D means that it is initialized? | 17:48 | |
what does the “D” stands for then? | 17:49 | ||
psch | doc.perl6.org/type/Signature#Constr...ned_Values | 17:50 | |
RabidGravy | isn't Nil designed to behave undefined whatever you do to it? | ||
psch | AlexDaniel: the issue is that Nil *cannot* be defined | ||
AlexDaniel: not that :D doesn't mean defined | |||
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 | ||
m: say Nil ~~ Any | |||
camelia | rakudo-moar 273e89: OUTPUT«True» | ||
AlexDaniel | hmmm | ||
psch | Nil isa Any :) | ||
TimToady | only for implementation convenience; Nil is the absence of a value, so it cannot really have a type | 17:53 | |
17:53
diana_olhovik_ joined
|
|||
psch | m: my Cool $x := Nil | 17:53 | |
camelia | ( no output ) | ||
psch | m: my Cool $x := Nil; say $x.WHAT | ||
camelia | rakudo-moar 273e89: OUTPUT«Nil» | ||
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? | ||
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 | ||
TimToady: Can I have a pair of names you like? nl-in and nl-out are two candidates. :) | |||
AlexDaniel | psch: I don't know :) I'm just having fun with the fact that I can write “is Nil” | ||
in fact, it is much simpler | 17:55 | ||
m: my Nil $var = Nil; | |||
camelia | ( no output ) | ||
psch | m: class F { }; my F $x = F.new; say $x.perl; $x = Nil; say $x.perl | ||
camelia | rakudo-moar 273e89: OUTPUT«F.newF» | ||
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 | ||
jnthn | TimToady: OK, I'll go with in and out. Thanks. | ||
TimToady | since a regex can subsume matching an array | ||
jnthn | (nl-in and nl-out) | ||
17:56
atweiden joined
|
|||
jnthn | *nod* | 17:56 | |
[Coke] | jnthn: XMAS: 66 | 17:57 | |
jnthn | Aww...I thought we were already at 66 and now'd have 65... :) | ||
psch | TimToady: the *fix:[] form doesn't work &-less, is that intentional? | 17:58 | |
m: say infix:['+'](1,2) | |||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fnBKlEQ2m7Undeclared routine: infix:['+'] used at line 1. Did you mean 'infix:<+|>', 'infix:<+>', 'infix:«+>»', 'infix:«+<»', 'infix:<+^>'?» | ||
TimToady | nah, just a buglet | ||
can work around with & | |||
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. | ||
TimToady: I was pondering going so far as default nl-out to \r\n on Windows | |||
17:59
diana_olhovik_ left
|
|||
jnthn | TimToady: But if you print "foo\n" then you get the \n you asked for and no magic | 17:59 | |
Any feelings on that? | 18:00 | ||
(Input from others welcome too) | |||
18:00
eliasr joined
|
|||
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 | |
18:00
^elyse^ joined
|
|||
TimToady | Perl 5 translates \r\n -> \n -> \r\n at IO boundaries | 18:00 | |
(on text files) | 18:01 | ||
well, or relies on STDIO to do so | |||
18:01
Actualeyes left
|
|||
[Coke] | RT: 1046; XMAS: 66, NOM: 8; GLR: 7; JVM: 37; LTA: 86, WEIRD: 10, TESTS: 11 | 18:02 | |
18:03
andreoss left
|
|||
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 | ||
sprocket | the file exists, but NativeCall doesn’t seem to like it all that much | ||
TimToady | making "\n" turn into CRLF on windows would need consideration | ||
jnthn | At the moment we're not doing any translation at the boundary | 18:05 | |
RabidGravy | sprocket, what does "file" say about the file? | 18:06 | |
[Coke] | m: say ('a' x 10000).IO.open ;# wtf? | ||
camelia | rakudo-moar 273e89: OUTPUT«Malformed UTF-8 at line 2 col 7 in block <unit> at /tmp/R1N0bu_X0J:1» | ||
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 | ||
sprocket | oh, odd, it says: /usr/lib/arm-linux-gnueabihf/libc.so: ASCII text | ||
and it is indeed ASCII | |||
[Coke] | ^^ RT #125813 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125813 | ||
[Coke] | jnthn, there's a weird UTF-8 error for you. :) | 18:07 | |
m: say "नि".chars | |||
camelia | rakudo-moar 273e89: OUTPUT«1» | ||
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
kjs_ left
|
|||
[Coke] | m: say «நி กำ षि "\r\n"»».chars | 18:08 | |
camelia | rakudo-moar 273e89: OUTPUT«(1 1 1 2)» | ||
18:08
abraxxa joined
|
|||
[Coke] | jnthn: is there a separate RT for \r\n ? | 18:08 | |
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 | ||
RabidGravy | sprocket, are you explicitly specifying the library in the "is native" ? You shouldn't need to | ||
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) | ||
sprocket | RabidGravy: i was yes - if i drop it, it’ll just look for it in the already loaded libc? | ||
RabidGravy | yeah | ||
ilmari | sprocket: if it's in libc it'll already be loaded, so you can just do 'is native(Str)' | 18:10 | |
sprocket: doc.perl6.org/language/nativecall#C...rd_library | |||
sprocket | ilmari, RabicGravy: great, will give it a try | ||
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
|
|||
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" | ||
TimToady | but the question remains whether \n should mean CRLF on windows | 18:12 | |
jnthn | Ah, you were still wondering that :) | ||
hmm | |||
[Coke] | jnthn: \r\n is covered by RT #125927 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125927 | ||
TimToady | well, there are conflicting design goals here | ||
18:12
abraxxa left
|
|||
AlexDaniel | .oO( whether anything should mean \n… ) |
18:12 | |
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 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. :) | ||
TimToady | in regex we've made the call that it's a logical newline, not a \xa | ||
so do we be inconsistent with *nix culture, or with P6 regexes? | 18:14 | ||
[Coke] | jnthn: right, I'm just trying to close tickets. | 18:15 | |
18:15
kjs_ joined
|
|||
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 | ||
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:16 | |
18:17
duncan_dmg left
|
|||
[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» | ||
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? | ||
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? | ||
Do you have to drop to binary mode? | 18:19 | ||
TimToady | default is text, and you have to do binary to bypass it | ||
ilmari | binmode($fh, ':raw') | ||
and :encoding(), probably | 18:20 | ||
jnthn notes that qq{rn} eq qq{n} isn't true in Perl 5 | |||
ilmari | no, it's only on IO | ||
jnthn | So I'm not quite sure exactly where the "magic" is happening | ||
TimToady | note the $fh argument | 18:21 | |
ilmari | in the :crlf PerlIO layer | ||
AlexDaniel | [Coke]: maybe you wanna have a look at #125820 as well? | 18:22 | |
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125820 | ||
AlexDaniel | [Coke]: it seems like the first one does not hang anymore | ||
ilmari | which the :raw pseudo-layer removes | ||
AlexDaniel | [Coke]: and other one-liners are printing the same error | ||
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 | ||
#126014 | |||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=126014 | ||
ilmari | TimToady: yeah, :raw is more useful in the second arg to open | 18:24 | |
AlexDaniel | #125814 #125811 | ||
synbot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125814 | ||
jnthn | ilmari: Does that essentially amount to an extra pass over all strings on input/output on Windows? | ||
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 | ||
TimToady | I suppose we could have a 'use newline "\xa\xd"' pragma or so to influence what literal \n means | ||
ilmari | jnthn: the :crlf layer is actually just a flag on the default :unix layer, so presumably more efficient than that | 18:26 | |
jnthn: but PerlIO is a horrid mess, just ask leont | |||
TimToady | er, "\xd\xa", I guess | ||
18:27
abraxxa joined,
n0tjack left
|
|||
TimToady | well, really, probably 'use newline :crlf' or 'use newline :lf' | 18:27 | |
ilmari | www.youtube.com/watch?v=ybTFXG9HWUk | ||
TimToady | and then if we decided to default \n on windows to :crlf, it could be forced back to :lf at need | 18:28 | |
maybe that's the best way forward | |||
jnthn | TimToady: You're meaning what a literal \n compiles into on Windows, yes? | ||
TimToady | it would usually do the right thing on either *nix or windows, but be settable to the other culture at will | 18:29 | |
yes | |||
jnthn | OK, which removes the responsibility from IO | ||
TimToady | well, not really | ||
jnthn | ? | 18:30 | |
TimToady | I'm assuming you still want nl-out to go to crlf | ||
jnthn | Oh | ||
AlexDaniel | m: my Nil $var where * == 42 = Nil; say $var; | ||
camelia | rakudo-moar 273e89: OUTPUT«Nil» | ||
jnthn | Yeah but, has $.nl-out = "\n"; | ||
Will compile into the right thing when you build your Rakudo on Windows :) | |||
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! ;) | ||
TimToady | when there's a pragma, I mean | ||
jnthn | Ah, true. | ||
AlexDaniel | m: my Int $var where * == 42 = Nil; say $var; # hm, what's this anon thing… | ||
camelia | rakudo-moar 273e89: OUTPUT«(<anon>)» | ||
AlexDaniel | [Coke]: eh, well, I thought that you are going to do that :) | ||
jnthn | CLIENT::<$?NL> or so | ||
AlexDaniel | [Coke]: but if not, tell me | 18:32 | |
TimToady | jnthn: yeah | ||
jnthn | OK. And I presume for input we just are happy with \n and \r\n on any platform? | ||
TimToady | yes, robustness principle | ||
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 | ||
jnthn | OK, I think we have a workable plan. :) | ||
TimToady | seems so as if to be | ||
jnthn | Thanks! | ||
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...") |
||
jnthn | Will work on other I/O-ish things this week too (like the sync I/O handles between threads) | 18:35 | |
food & | 18:36 | ||
18:39
b^_^d is now known as d^_^b
|
|||
rindolf | Hi all. sup? | 18:39 | |
18:39
d^_^b left,
d^_^b joined
|
|||
lizmat | jnthn: building moar has become pretty noisy on OSX at least | 18:40 | |
'&&' within '||' [-Wlogical-op-parentheses] | 18:41 | ||
18:42
spider-mario joined
|
|||
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 ? | ||
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:43 | ||
18:45
espadrine left
|
|||
sprocket | ah, got it - was a problem with a missing “is native(..)” | 18:47 | |
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: rt.perl.org/rt3/Public/Bug/Display...?id=126541 | ||
19:03
firstdayonthejob joined
19:07
kjs_ left
|
|||
dalek | c: 6c8e42a | (Zoffix Znet)++ | doc/Language/faq.pod: Grammar fix |
19:09 | |
c: b285f73 | (Zoffix Znet)++ | doc/Language/faq.pod: Clarify applicability of Inline::Perl5 The answer slightly implies *only* Catalyst and DBI can be used |
|||
c: 92e37e4 | (Zoffix Znet)++ | doc/Language/faq.pod: Grammar/phrasing |
19:13 | ||
19:14
telex left
19:15
yqt joined
19:16
abraxxa left,
telex joined
19:22
leont joined
|
|||
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» | ||
atweiden | do i have this postfix declaration wrong? | 19:30 | |
moritz | atweiden: yes, needs to be a sub in the outer scope | ||
atweiden | ah, makes sense moritz++ | ||
19:32
Guest80685 is now known as timotimo
19:39
tokuhirom_h joined
|
|||
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:40 | |
19:44
tokuhirom_h left
19:45
vendethiel joined
19:48
Ven_ joined
19:49
diana_olhovik joined
|
|||
lizmat | Another Perl 6 Weekly has hit the Net: p6weekly.wordpress.com/2015/11/02/...lustering/ | 19:49 | |
RabidGravy | yay! | 19:55 | |
19:56
diana_olhovik__ joined
19:57
diana_olhovik left,
sprocket left
|
|||
skids | lizmat++ | 19:59 | |
leont | Awesome | ||
20:01
diana_olhovik__ left
|
|||
moritz | lizmat++ | 20:02 | |
colomon | lizmat++ | 20:03 | |
hoelzro | lizmat++ | 20:06 | |
20:07
leont left
|
|||
AlexDaniel | hold on guys, I'm afraid that lizmat will overflow… | 20:08 | |
hmm, what would be the error message | |||
lizmat++ | |||
lizmat | :-) EHEADEXPLODED | ||
AlexDaniel | that's less than awesome | ||
lizmat | ENOTALESLEFT | 20:09 | |
AlexDaniel submits lizmatbug | |||
PerlJam | AlexDaniel: Love is infinite, so there's always more to share. | ||
lizmat++ | |||
20:10
nowan left
|
|||
AlexDaniel | “(so a combiner after a control char is now an isolated combiner)” great! | 20:10 | |
colomon | lizmat: link for nine’s video doesn’t work for me? (Error 404) | 20:11 | |
lizmat | ah? | ||
PerlJam makes a mental note to shout ETOOMUCHLOVE at Yaakov next time our paths cross on #perl ;) | 20:12 | ||
20:12
espadrine joined
|
|||
lizmat | weird... | 20:13 | |
colomon | lizmat: huh | ||
jdv79 | PerlJam: huh? | ||
colomon | lizmat: if I go from your link, it doesn’t work for me. If I go to niner.name/talks/ and click on the talk, it works. :\ | 20:14 | |
oh | |||
lizmat | fixed | ||
PerlJam | jdv79: Am I being too random today? I'm still a little groggy from a long weekend. | ||
colomon | it’s niner.name/talks/YAPC201%E2%80%8B5-...-HD720.m4v vs | ||
niner.name/talks/YAPC2015-Granada-N...-HD720.m4v | |||
lizmat | there was some inviible garbage in there | ||
fixed | 20:15 | ||
colomon++ | |||
jdv79 | yaakov comment was random | ||
colomon | lizmat: indeed, lizmat++ | ||
20:15
nowan joined
|
|||
lizmat | "I LOVE YOU ALL WITH A GREAT HUGE LOVE" is one of Yaakov's famous quotes | 20:16 | |
20:16
nowan left
20:18
kjs_ joined
|
|||
sjn | lizmat++ # well written Perl 6 Weekly | 20:18 | |
20:19
ZoffixW joined,
nowan joined
|
|||
ZoffixW | Is it possible to make operators work on an object? like Perl 5's "use overload"? | 20:19 | |
moritz | ZoffixW: you can export multis of operators that support your type | 20:20 | |
20:20
doublec left
|
|||
moritz | ZoffixW: or provide coercion methods | 20:20 | |
PerlJam | jdv79: Yaakov always greets #perl with "I LOVE YOU ALL WITH GREAT HUGE LOVE" or something similar. | 20:22 | |
Ven_ | .u ⋄ | ||
yoleaux | U+22C4 DIAMOND OPERATOR [Sm] (⋄) | ||
20:22
doublec joined
|
|||
PerlJam | oh, /me is slow today in reading #perl6 | 20:23 | |
20:23
kaare_ left
|
|||
[Coke] | m: class A {}; sub infix:<+>(A,A) {5}; say A.new+A.new | 20:23 | |
camelia | rakudo-moar 273e89: OUTPUT«5» | ||
[Coke] | m: class A {}; sub infix:<+>(A,Int:D) {5}; say A.new+1000 | ||
camelia | rakudo-moar 273e89: OUTPUT«5» | ||
jdv79 | i like yaakov.. his role in tpf has been confusing though. | 20:25 | |
PerlJam | confusing how? | ||
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» | ||
gfldex | ZoffixW: technically, yes | ||
dalek | kudo/nom: 7d666a2 | (Steve Mynott)++ | src/core/ (2 files): add dragonfly BSD |
||
kudo/nom: c668b5f | lizmat++ | src/core/ (2 files): Merge pull request #570 from stmuk/nom add dragonfly BSD |
|||
jdv79 | i thought as part of community guy he would be reaching out | ||
he said hes only internal or something like that so thats like echo chamber mgmt? | 20:27 | ||
20:28
darutoko left
|
|||
PerlJam | something like that I guess. He encourages and helps others to do the reaching out. | 20:28 | |
(at least that's how I see it) | |||
jdv79 | is that happening. i would think thats more valuable. idk. | 20:29 | |
external works that is | |||
ZoffixW | The export stuff isn't working: | 20:30 | |
m: class RGB { has Int $.num; sub infix:<+> (RGB $x, Int $y) is export { $x.num + $y; } }; my $x = RGB.new; say $x + 42; | |||
camelia | rakudo-moar 273e89: OUTPUT«Cannot call Numeric(RGB: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/wstwrYtXYs:1» | ||
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? | ||
I'm trying to make an RGB tuple on which I could do math (like metacpan.org/pod/Number::RGB ) | 20:31 | ||
[Coke] | ZoffixW: you need to make those subs external to the class. | ||
class RGB { has Int $.num;} sub infix:<+> (RGB $x, Int $y) { $x.num + $y; }; my $x = RGB.new; say $x + 42; | |||
m: class RGB { has Int $.num;} sub infix:<+> (RGB $x, Int $y) { $x.num + $y; }; my $x = RGB.new; say $x + 42; | |||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PrTxHOXPcyStrange 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
|
|||
[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» | ||
[Coke] | ok, that's closer, anyway. | ||
20:32
Alina-malina left
|
|||
PerlJam | you forgot "multi" | 20:34 | |
ZoffixW | PerlJam++ Thanks :) | ||
[Coke] | ah, doh | 20:35 | |
ZoffixW | Great. This works [Coke]++ moritz++ | ||
RabidGravy | or put them in the scope of the class and apply "is export" | ||
20:36
Alina-malina joined
20:37
leont joined
|
|||
ZoffixW | ISAGN in Perl 6's "overload" module :) | 20:41 | |
20:41
Alina-malina left
|
|||
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 | |
s/my //; | |||
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 :) | ||
Since functionally, they're identical :) | |||
PerlJam | Are they always? | 20:48 | |
20:48
[Sno] left
|
|||
RabidGravy | yeah, write up a bunch of multis and refactor the common code to a single sub | 20:48 | |
which you call from inside the multis | |||
ZoffixW | Actually, three cases $obj + 42, $obj + $obj, and 42 + $obj | ||
Alright, I'll do that. | 20:49 | ||
konobi | pmurias: morning | ||
20:50
ZoffixW left
|
|||
RabidGravy | if they really are identical you could do "multi sub....($x where RGB|Int, $y where RGB|Int)" | 20:50 | |
but I don't think that's clearer to me | |||
no that wont't work because it allows Int, Int | 20:51 | ||
so it whave to be more complex | |||
PerlJam mumbles something about waterbeds | |||
moritz | but Int, Int is already handled by a more narrow candidate | ||
RabidGravy | yeah | 20:52 | |
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 | ||
more is less in this case | |||
20:58
atweiden left
|
|||
RabidGravy | let Perl be sorting out the stuff that would otherwise involve a bunch of ugly conditionals | 21:00 | |
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. | ||
1 Nov 2015 09:12Z <azawawi> ugexe: what's zef solution for the following code github.com/retupmoca/P6-Compress-Z...r/Build.pm ? | |||
PerlJam | Though a slang or some macros that could automate this particular case would be interesting. | ||
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:03 | |
21:10
Ven_ left
|
|||
RabidGravy | can you add a signature to some code block after it has been created? | 21:11 | |
ugexe | maybe with .assuming | 21:12 | |
21:12
Ven_ joined
|
|||
ugexe | i guess thats the opposite of what you want heh | 21:13 | |
RabidGravy | yeah that partially applies the arguments to make a new code block | 21:14 | |
21:14
Alina-malina joined
|
|||
mrf | evening #perl6 | 21:15 | |
RabidGravy | which is cool in itself | ||
mrf | gist.github.com/ungrim97/65905b1393a7f7658dbb | ||
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 | ||
TimToady: ^ | |||
jnthn | lizmat++ # weekly | 21:17 | |
lizmat: Gah, I hate that &&/|| precedence error. Maybe we can turn it off so we can stop waste time patching it. | |||
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 | |
that should tell you something about the need for those parens :-) | |||
21:21
_mg_ left
|
|||
jnthn | lizmat: I've pushed something to kill the warning off | 21:21 | |
Hopefully that helps. | 21:22 | ||
lizmat | pretty sure it will... | ||
jnthn | Warnings should be there to catch common mistakes, but so far it just makes legwork for me. | ||
And I've no intention of putting superstitious parens in for *that*. | |||
21:22
[Sno] joined
|
|||
lizmat is glad with a more silent Moar build | 21:22 | ||
jnthn | :) | ||
bartolin | jnthn: I think that the "Method 'Int' not found for invocant of class 'Any'" happens since f5276ca2 | 21:23 | |
jnthn: I'm not sure why, but this prevents the error with S32-num/complex.t: gist.github.com/usev6/bac193a8b7219490993c | 21:24 | ||
jnthn | *very* odd... | 21:25 | |
bartolin runs a spectest, curiously | |||
jnthn | Thanks for investigating. :) | ||
jnthn will be back in the morning :) | 21:26 | ||
'night, #perl6 | |||
TimToady | o/ | ||
bartolin | o/ | ||
21:27
Ven_ left
|
|||
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:29 | |
21:31
Peter_R joined,
Alina-malina left
21:32
^elyse^ left
21:33
_28_ria left,
Ven_ joined
21:34
_28_ria joined
|
|||
lizmat | m: say (^10).roll(*)[^10] # okidoki | 21:40 | |
camelia | rakudo-moar 273e89: OUTPUT«(0 6 4 5 1 4 5 1 2 8)» | ||
lizmat | m: say (^10).roll(*)[^10] # huh ?? | ||
camelia | rakudo-moar 273e89: OUTPUT«(6 9 8 3 5 5 5 0 4 0)» | ||
lizmat | m: say (^10) .roll(*)[^10] # huh ?? | ||
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Tv0qD2wqqQUnable to parse expression in bracketed infix; couldn't find final ']' at /tmp/Tv0qD2wqqQ:1------> 3say (^10) .roll(*)[^7⏏0510] # huh ??» | ||
21:40
Ven_ left
|
|||
lizmat | not space before . | 21:40 | |
*note | |||
21:42
bbkr joined
|
|||
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. | ||
camelia | rakudo-{moar,jvm} 273e89: OUTPUT«012» | ||
21:42
TEttinger joined
|
|||
bbkr | looks like bug | 21:42 | |
lizmat | bbkr: long time no see! | 21:43 | |
bbkr | :) | ||
lizmat | not a bug, I don't think | ||
because the for will add 1 for each iteration, and 2.00 is still below 2.01 ? | 21:44 | ||
or are referring to the loss of decimal digits ? | |||
bbkr | ah, range does not inherit argument resolution (decimal places in this case) | 21:45 | |
yes, how to make ranges with decimal places? | |||
lizmat | r: .say for 0.01 .. 2.02 | ||
21:45
Ven_ joined
|
|||
camelia | rakudo-{moar,jvm} 273e89: OUTPUT«0.011.012.01» | 21:45 | |
lizmat | m: say 0.00 | 21:46 | |
camelia | rakudo-moar 273e89: OUTPUT«0» | ||
bbkr | r: for 0.1, 0.2 ... 2.0 { .say } | ||
camelia | rakudo-{moar,jvm} 273e89: OUTPUT«0.10.20.30.40.50.60.70.80.911.11.21.31.41.51.61.71.81.92» | ||
bbkr | \o/ | ||
lizmat | yes, that works too | ||
m: .WHAT.say for 0.00 .. 2.01 | |||
camelia | rakudo-moar 273e89: OUTPUT«(Rat)(Rat)(Rat)» | ||
lizmat | so it was working after all, just the .say was dropping the decimal digits | 21:47 | |
TimToady | m: .say for (0..2) / 10 | 21:48 | |
camelia | rakudo-moar 273e89: OUTPUT«0» | ||
lizmat | fg | ||
TimToady | m: say (0..2) / 10 | ||
camelia | rakudo-moar 273e89: OUTPUT«0.0..0.2» | ||
lizmat | oops | ||
TimToady | hmm, that looks a bit buggy | ||
oh wait, nm | |||
bbkr | r: .nude.perl.say for 0.0 ... 2.0 | ||
camelia | rakudo-{moar,jvm} 273e89: OUTPUT«(0, 1)(1, 1)(2, 1)» | 21:49 | |
bbkr | looks fine. I simply forgot about ... operator that can get explicit step from 1st and 2nd value. thanks | 21:51 | |
21:51
kmel joined
21:53
muraiki joined
|
|||
bartolin | for the records: I got a clean spectest on moar with the modification from gist.github.com/usev6/bac193a8b7219490993c | 21:54 | |
dalek | kudo/nom: a2b02f4 | TimToady++ | src/Perl6/Grammar.nqp: set name on autogen'd metaops |
21:55 | |
bartolin | that doesn't look like a clean patch, though ... | ||
21:56
Ven_ left
|
|||
bartolin | ^^ was related to my gist, not to TimToady++'s commit :-) | 21:56 | |
lizmat | bartolin: will try in a mo | ||
21:57
Ven_ joined
|
|||
bartolin | lizmat: no hurry! and thanks for the P6Weekly, btw | 21:57 | |
21:57
raiph joined
|
|||
lizmat | you're welcome! | 21:57 | |
TimToady | mrf: maybe I can look at it later tonight | 21:59 | |
21:59
skids left
|
|||
muraiki | I wanted to give a quick thanks to everybody who has worked on #perl6. our first perl6 code went into production today :) | 22:00 | |
22:02
kjs_ left
|
|||
lizmat | muraiki++ | 22:04 | |
.oO( I think I got the "quote of the week" for next week ) |
22:05 | ||
Ven_ | muraiki++ :D | 22:10 | |
22:10
xfix left
|
|||
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:11 | |
22:11
Ven_ left
|
|||
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 | |
it solved a real pain of a problem for us in a very easy way | |||
thanks again, everyone | |||
RabidGravy | blog! blog! | 22:13 | |
vendethiel | muraiki: am I remembering correctly you were at the APW14? | ||
muraiki | vendethiel: no, I wasn't there, although I don't even know what APW is :) | ||
RabidGravy | it is the little things like IO.watch that build up to make the fabulous | ||
vendethiel | sorry, I get names mixed up all the time. austria perl workshop | ||
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:14 | |
22:16
tokuhiro_ joined
|
|||
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 | |
rt.perl.org/Public/Bug/Display.html?id=125908 | |||
I didn't even know how to describe it in a summary | |||
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
stmuk left
|
|||
muraiki | wait, my test case did reproduce the problem | 22:18 | |
22:18
stmuk joined
|
|||
muraiki | sorry, it's launch day and my mind is frazzled :) | 22:19 | |
lizmat | :-) | ||
22:20
spider-mario left,
kjs_ joined
22:21
tokuhiro_ left
22:23
kmel left
|
|||
RabidGravy | well there is a notion of "live" supplies and otherwise | 22:25 | |
lizmat | bartolin: fwiw, I'm trying a different approach | ||
- has $!handled; | |||
+ has int $!handled; | |||
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 | ||
lizmat | muraiki: that smells of a bug indeed | 22:27 | |
muraiki | which I guess is what the ticket should have been called | ||
but at the time I was even more bewildered :) | |||
lizmat | are these two acts on the same thread or not ? | ||
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 | ||
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)) | ||
RabidGravy | I did some work on pyinotify to get it to work on FreeBSD, properly did my head in | 22:30 | |
lizmat | muraiki: glad to see Supply.unique used that way in production :-) | 22:31 | |
muraiki | lizmat: hehe | ||
well, unfortunately I have to head out as my wife is waiting for me. thanks again everyone | 22:32 | ||
22:32
muraiki left
|
|||
dalek | kudo/nom: 5349d05 | lizmat++ | src/core/Failure.pm: Fix some strange failures bartolin++ found $!handled not being defined in some cases would cause a problem. "Method 'Int' not found for invocant of class 'Any'" By making $!handled a native int, I think we kill two birds with one stone: the problem has gone away, and (hopefully) faster code gen for Failures |
22:35 | |
22:35
DrPete left
|
|||
lizmat | .oO( sometimes I feel like I only have a hammer to hit native int nails ) |
22:35 | |
22:36
adu joined
22:37
eliasr left
22:38
kjs_ left,
vendethiel left
|
|||
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: rt.perl.org/rt3/Public/Bug/Display...?id=125908 | ||
camelia | rakudo-moar 273e89: OUTPUT«12424» | ||
retupmoca | looks like a bug in unique? | ||
22:43
pmurias_ joined
|
|||
cognominal | lizmat++ # weekly | 22:44 | |
22:44
rindolf left
|
|||
lizmat | retupmoca: good catch, will look in a mo | 22:45 | |
22:45
lucs_ is now known as lucs
22:46
pmurias left
22:48
DrPete joined
|
|||
dalek | kudo-star-daily: 7a3656c | coke++ | log/ (10 files): today (automated commit) |
22:55 | |
adu | m: +<< | 23:01 | |
camelia | rakudo-moar 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uTApYxzOXaPrefix +<< requires an argument, but no valid term foundat /tmp/uTApYxzOXa:1------> 3+<<7⏏5<EOL> expecting any of: prefix» | ||
23:12
Ven_ joined
23:17
RabidGravy left
23:21
Ven_ left
|
|||
dalek | osystem: 5edb69e | retupmoca++ | META.list: Add Crust::Handler::SCGI github.com/retupmoca/p6-Crust-Handler-SCGI |
23:27 | |
23:35
skids joined
|
|||
lizmat | good night, #perl6! | 23:36 | |
jdv79 | nite | 23:50 | |
23:56
kid51 joined
|