»ö« 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. |
|||
[Coke] | gfldex: what day? | 00:00 | |
00:00
zacts_ joined
|
|||
gfldex | [Coke]: it's pretty much finished, just has to be turned into html, so day 2 will do | 00:01 | |
00:01
zacts left
|
|||
[Coke] | gfldex: edit the schedule here: github.com/perl6/mu/tree/master/mi...dvent-2015 | 00:01 | |
dalek | : b981588 | (Wenzel P. P. Peppmeyer)++ | misc/perl6advent-2015/schedule: Update schedule |
00:02 | |
gfldex | [Coke]: done | ||
gfldex .oO( Was I just overtaken by a bot? ) | 00:03 | ||
[Coke] | so, the official release date is the 17th. I suspect that, combined with a need to cram as much dev & testing time, alnog with advent, along with style points, we should aim for the 25th instead, yes? | ||
I'll probably be able to handle the compiler release that day, we'll see what my personal schedule looks like. might have to do it from the car. | |||
gfldex | i suspect that the 17th was chosen to hit the 25th :) | 00:04 | |
00:04
isacloud joined,
go|dfish joined,
ilbelkyr joined,
diakopte1 joined
|
|||
[Coke] | it was just based on the old formula, nothign special. | 00:04 | |
00:06
n0xff joined
00:12
zacts_ left
|
|||
[Coke] | .ask lizmat - should we again remove all deprecations before xmas? | 00:16 | |
yoleaux | [Coke]: I'll pass your message to lizmat. | ||
00:18
doublec left
00:19
doublec joined
00:21
rurban left
00:23
yqt joined
00:26
Peter_R left
00:27
snarkyboojum left
00:30
pierre-vigier joined
|
|||
grondilu | m: multi infix:<*>($r, @a) { $r Z* @a }; say pi * [1, 1]; | 00:34 | |
00:34
Mhoram left
|
|||
camelia | rakudo-moar 39869f: OUTPUT«(3.14159265358979)» | 00:34 | |
grondilu was expecting (pi, pi) | 00:35 | ||
oh wait | |||
00:35
abaugher joined
|
|||
grondilu | I should have used X*. My bad. | 00:35 | |
TimToady | .tell jnthn I rejected RT #120916 because it suffices to stub the accessor instead. | 00:36 | |
yoleaux | TimToady: I'll pass your message to jnthn. | ||
00:37
cognominal left,
cognominal joined
|
|||
[Coke] | Speaking of speed (in review) I'll craft something in the compiler release announcement about speed. | 00:37 | |
Haters gonna hate, but we can try to get in front of it. | 00:38 | ||
Hotkeys | are there functions that do the same as some of the operators? | 00:42 | |
not sure where it would be useful | |||
for example + | |||
TimToady | the operators *are* functions | ||
Hotkeys | er | ||
TimToady | m: say &infix:<+>(1,2) | ||
camelia | rakudo-moar 39869f: OUTPUT«3» | ||
TimToady | m: say infix:<+>(1,2) | ||
camelia | rakudo-moar 39869f: OUTPUT«3» | ||
Hotkeys | I meant like | ||
is there an add(...) function as well or is the operator the only function that does this | 00:43 | ||
as well as '+' | |||
(I realize I could just define one but I don't actually need one) | |||
TimToady | infix:<+> is its proper name | ||
00:43
Guest84367 is now known as parisba
|
|||
Hotkeys | alright | 00:43 | |
TimToady | though in this one case there does happen to be a sum function | ||
00:43
pierre-vigier left
|
|||
Hotkeys | oh | 00:43 | |
TimToady | but that's so we can optimize Range.sum | ||
Hotkeys | right | 00:44 | |
TimToady | in general, we dont go out of our way to come up with letter-only names for our operators | ||
many of them do call into methods though | |||
00:51
doublec_ joined
00:52
doublec left
00:54
sno left,
pierre-vigier joined
00:59
CurtisOvidPoe_ joined
01:00
CurtisOvidPoe left,
CurtisOvidPoe_ is now known as CurtisOvidPoe
01:06
yeahnoob joined
01:07
raiph joined
01:09
Zoffix joined
01:13
zacts joined
|
|||
dalek | kudo/nom: f6b3bf3 | coke++ | docs/announce/2015.12.md: Add preliminary xmas release announcement |
01:14 | |
Zoffix | w00t | ||
So close now \o/ | |||
We're actually gonna call it "коледа"? :) | |||
mmmkay :) | |||
Sounds totally weird to my Cyrillic ear, but I don't mind. | 01:15 | ||
[Coke] | Zoffix: I'm open to suggestions. | ||
[Coke] hurls en.wikipedia.org/wiki/Koliada | |||
Zoffix | Oh, k, my ear would hear it as "коляда" then :) That sounds OK :) | 01:16 | |
[Coke] | I might have picked the serbian one. I reserve the right to change which one i use. :) | ||
Zoffix | :P sounds good to me | 01:17 | |
TEttinger | followed one day later by EMERGENCY KWANZAA BUGFIX release | 01:23 | |
fitting since kwanzaa is on the 26th | 01:24 | ||
Hotkeys | I'd like to suggest aiming for the 23rd and calling it the Festivus release | ||
TEttinger | for the rest of us | 01:25 | |
Zoffix | [Coke], there's a typo on line 66 fwiw: s/insure/ensure/; github.com/rakudo/rakudo/commit/f6...5e63be3R66 | ||
We also got superscript powers, tho I guess that's covered by "see doc/ChangeLog" | |||
m: say ⅓⁶ | |||
camelia | rakudo-moar 39869f: OUTPUT«0.001372» | ||
TEttinger | no way | ||
Zoffix 'll never get tired of playing with that :P | |||
TEttinger | m: say 2⁶ | 01:26 | |
camelia | rakudo-moar 39869f: OUTPUT«64» | ||
Zoffix | m: say 2⁶⁶ | ||
camelia | rakudo-moar 39869f: OUTPUT«73786976294838206464» | ||
TEttinger | ha nice | ||
Zoffix | :) | ||
TEttinger | u: superscript 9 | ||
m: say "\C[SUPERSCRIPT NINE]" | 01:27 | ||
camelia | rakudo-moar 39869f: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XmyDkTcawVUnrecognized backslash sequence: '\C'at /tmp/XmyDkTcawV:1------> 3say "\7⏏5C[SUPERSCRIPT NINE]" expecting any of: argument list double quotes term» | ||
Hotkeys | ⁹ | ||
Zoffix | m: say "\c[SUPERSCRIPT NINE]" | ||
camelia | rakudo-moar 39869f: OUTPUT«⁹» | ||
Hotkeys | .u superscript 9 | ||
yoleaux | No characters found | ||
TEttinger | sah | ||
Zoffix | .u ⁹ | ||
yoleaux | U+2079 SUPERSCRIPT NINE [No] (⁹) | ||
dalek | kudo/nom: 1ae6805 | coke++ | docs/announce/2015.12.md: remove leftovers from previous release note |
||
Hotkeys | ah | ||
'nine' | |||
[Coke] | Zoffix: removed. | ||
TEttinger | m: say 9⁹ | ||
camelia | rakudo-moar 39869f: OUTPUT«387420489» | ||
Hotkeys | instead of 9 | 01:28 | |
Zoffix | :S | ||
hehe OK :) | |||
01:28
doublec joined
|
|||
Zoffix | I'm excited \o/ | 01:28 | |
TEttinger | * contributed? but that guy's horrible | 01:29 | |
Zoffix | :P | ||
[Coke] | Whatever. | 01:30 | |
TEttinger | haha | ||
01:30
doublec_ left
|
|||
Hotkeys | 6.xisnunsla anyone? | 01:30 | |
Hotkeys lojbans it up | |||
TEttinger | * is in prison for every crime ever committed by a living person convicted of a crime | ||
Hotkeys | but * is also praised for all the good anyone has ever done | 01:31 | |
TEttinger | the weight of *'s soul(s) must be weighed against a feather or they get eaten by a crocodile | 01:32 | |
"can it be a very large feather?" | |||
Hotkeys | but what is heavier | 01:33 | |
a pound of soul or a pound of feather | |||
??? | |||
TEttinger | I dunno, soul can get pretty heavy, like much R&B as well | ||
01:33
doublec_ joined
|
|||
Hotkeys | gotcha | 01:34 | |
01:34
doublec left
|
|||
Hotkeys | oldest trick in the book | 01:34 | |
a pound of feathers is always lighter | |||
Zoffix | Hotkeys, a pound of feather, 'cause souls don't exist!@ | ||
:) | |||
Hotkeys | yes but if we had an existant pound | ||
TimToady | r: say "a" ~~ m/<![a]>/ | 01:35 | |
TEttinger | it depends I suppose on the density | ||
camelia | rakudo-moar 1ae680, rakudo-jvm f6b3bf: OUTPUT«False» | ||
Hotkeys | of soulstuff | ||
(existent?) | |||
TimToady | I have a fix for this one for moar, but not for jvm | ||
TEttinger | if if souls are extremely non-dense, then they might weigh less than the feather by extending above the scale and out of earth orbit | ||
to the heavens, as it were | 01:36 | ||
Hotkeys | lol | ||
Zoffix | TEttinger, a pound is a pound, bruh, extending or not :P | ||
01:36
pecastro left
|
|||
TEttinger | but a pound only makes sense in context of earth's gravity | 01:36 | |
weightless in space | |||
Hotkeys | what is more massful | 01:37 | |
Zoffix | no, it doesn't :) A pound of mass is a pound of mass anywhere | ||
Hotkeys | a kilogram of souls | ||
TEttinger | haha | ||
Hotkeys | or a kilogram of feathers | ||
:p | |||
Zoffix: depends if it's a unit of mass or weight | |||
Zoffix | :o | ||
:) | |||
TEttinger | morality, in this case | ||
in the ancient egyptian sense | |||
Hotkeys | it's immoral to use the imperial system | ||
TEttinger | the weight of a soul vs. a feather is a concept in the ancient egyptian mythological afterlife | 01:38 | |
I think that croc was far | |||
fat | |||
01:38
doublec joined
|
|||
TEttinger | it's interesting reading about rarely-mentioned mythologies. it makes you wonder about rarely-mentioned programming language concepts | 01:39 | |
01:39
doublec_ left
01:40
pierre-vigier left,
pierre-vigier joined
|
|||
Hotkeys | completely unrelated but often unmentioned | 01:40 | |
I'm a fan of conlangs | |||
(constructed languages) | |||
TEttinger | en.wikipedia.org/wiki/Shamanism_am..._publicity | ||
Hotkeys | (human languages not programming ones) | ||
TEttinger | it's interesting that many northern north american people believed in almost a formal set of rules for the supernatural | 01:41 | |
Hotkeys | some people really dislike conlangs but idk why | 01:42 | |
I don't like them for their use | |||
TEttinger | in western belief, magic is the "rule-breaker" typically | ||
i like conlangs | |||
Hotkeys | I know esperanto or lojban will likely never be used | ||
or in the extreme | |||
ithkuil | |||
(my fav) | |||
TEttinger | oh that one is familiar | ||
Hotkeys | I don't really know any ithkuil | ||
I just like it in concept | 01:43 | ||
it's so dense | |||
"Tram-mļöi hhâsmařpţuktôx." translates to "‘On the contrary, I think it may turn out that this rugged mountain range trails off at some point.’ " | |||
oops I copied the quotes | 01:44 | ||
Timbus_ | oh cool. spoken APL | 01:45 | |
Hotkeys | the first word is On ... that | ||
TEttinger | could also be perl | ||
Hotkeys | and the second is this ... point. | ||
(i am lazy) | |||
it isn't that they are defined as those things specifically | 01:46 | ||
like in a dictionary | |||
TEttinger | conjugated? | ||
Hotkeys | it's just a highly agglutinative/synthetic languages | ||
language** | |||
TEttinger | or agglutinated like german? | ||
ah | |||
Hotkeys | www.ithkuil.net/00_intro.html | ||
scroll down a bit | |||
it breaks down the sentence | |||
TEttinger | neat | 01:47 | |
01:48
pierre-vigier left
|
|||
Hotkeys | root stems in ithkuil are each clusters of 1-5 consonants | 01:48 | |
:D | |||
wonderfully ridiculous | |||
also it, according to wikipedia, has 92 grammatical cases | 01:49 | ||
01:49
uruwi joined
01:50
cognominal left
|
|||
Hotkeys | would be wonderful for telegrams | 01:50 | |
01:50
cognominal joined
|
|||
Hotkeys | assuming you had an extended morse code for all the characters | 01:50 | |
AlexDaniel | .u … | 01:52 | |
yoleaux | U+2026 HORIZONTAL ELLIPSIS [Po] (…) | ||
AlexDaniel | no character with two dots? | 01:53 | |
.u ᳞ | |||
yoleaux | U+1CDE VEDIC TONE TWO DOTS BELOW [Mn] (◌᳞) | ||
01:55
yqt left
|
|||
TEttinger | AlexDaniel: there's at least 28, braille | 01:59 | |
02:00
rigsby left
|
|||
Hotkeys | also it has other things that let it be more annoying and dense | 02:00 | |
both tone and stress | |||
AlexDaniel | m: say join '', ((0..0x1FFFF ==> grep { .uniname ~~ m/BRAILLE/ }) ==> map { .chr }) | 02:06 | |
camelia | rakudo-moar 1ae680: OUTPUT«⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔…» | ||
AlexDaniel | well, here it is fully:⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋xE2xA2 | ||
02:07
dayangkun joined
|
|||
AlexDaniel | hhmm ⠔⠕⠖⠗⠘⠙ | 02:07 | |
actually, it is a bit too ordered. It is more fun if you add “.pick: *” | 02:10 | ||
⣎⣃⢙⡛⠄⠳⠆⢫⠻⣈⡓⢝⡋⢃⢻⠕⡂⠃⢈⢯⠮⡡⠭⣛⢏⡨⡾⡊⡢⡰⡜⣒⢞⣗⢄⡼⡅⢀⢉⣫⡘⢅⠒⣋⢾⠉⢷⣠⡮⣴⣘⢍⠸⡤⡵⡫⡌⡻⣁⢜⢳⠱⣰⠵⣣⣷⡸⡝⢗⢒⣦⡲⣕⠬⣢⡄⢎⢤⢛⣚⡿⢶⣐⣧⣞⣻⡞⢇⡏⢌⣙⠢⣱⠁⣬⢴⠛⢿⠑⠲⢁⢡⢚⡈⠊⠏⠙⣇⡍⡶⣏⠺⢰⢘⣲⢓⡑⢖⠎⢋⠤⠌⡒⠰⢑⣨⣺⠧⢟⣸⢩⡭⡥⢢⣮⣂⣍⢊⡳⡙⣩⣑⣶⠓⠣⢵⠩⣝xE2 | |||
m: say +((0..0x1FFFF ==> grep { .uniname ~~ m/BRAILLE/ }) ==> map { .chr }) | 02:12 | ||
camelia | rakudo-moar 1ae680: OUTPUT«256» | ||
AlexDaniel | so basically you can represent any byte stream with Braille | ||
02:17
mspo_ is now known as mspo
02:21
kaare_ joined,
sno joined
|
|||
AlexDaniel | .u ⟩xE2x8CxAA | 02:28 | |
yoleaux | U+232A RIGHT-POINTING ANGLE BRACKET [Pe] (xE2x8CxAA) | ||
U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET [Pe] (⟩) | |||
02:31
sno left,
colomon left
02:33
xpen joined,
zacts left
02:37
molaf__ joined,
zacts joined
|
|||
TimToady | AlexDaniel: a couple of the rosettacode entries use Braille graphics | 02:38 | |
rosettacode.org/wiki/Draw_a_clock#Perl_6 | 02:40 | ||
rosettacode.org/wiki/Draw_a_cuboid#Perl_6 | |||
02:41
molaf_ left
|
|||
TimToady | rosettacode.org/wiki/Fibonacci_word...tal#Perl_6 | 02:41 | |
02:42
Actualeyes joined,
perlpilot is now known as PerlJam
|
|||
TimToady | somebody should turn that braille-graphics support code into a module | 02:43 | |
AlexDaniel | cuboid does not compile | ||
TimToady | aww | 02:44 | |
AlexDaniel | well, it says “niecza”… | 02:45 | |
02:46
raiph left
|
|||
AlexDaniel | OH | 02:46 | |
02:46
doublec_ joined
|
|||
AlexDaniel | my Bool %t; | 02:46 | |
change that to “my %t” and boom, it works | |||
TimToady | yup | 02:47 | |
psch | m: my Bool %t; %t<a> = True; | 02:48 | |
camelia | ( no output ) | ||
02:48
doublec left
|
|||
psch | oh | 02:49 | |
AlexDaniel | psch: %t{$Y }{$X + $_} | ||
psch | looks like that should be Hash[Bool] %t | ||
AlexDaniel | which doesn't really make any sense to me… | ||
psch | as in, hash of hash of bool | ||
autarch | handling pod would be _so_ much easier if the compiler generated start & end nodes for lists of items | ||
AlexDaniel | yeah, perhaps! | ||
psch: actually, I've already edited it. Just removed the type alltogether | |||
autarch | otherwise you have to track a whole bunch of state to figure out when an item is part of an existing list vs a new list | ||
psch | AlexDaniel: yeah, that's probably fine too | ||
autarch | this is one place where Perl 5 POD is much easier to parse, although more painful to write | ||
psch | m: my %t of Hash of Bool # curious.. | 02:51 | |
camelia | ( no output ) | ||
psch | m: my %t of Hash of Bool; %t<f> = { a => True } | ||
camelia | rakudo-moar 1ae680: OUTPUT«Type check failed in assignment to %t; expected Hash[Bool] but got Hash in block <unit> at /tmp/VDgF5nK_B3:1» | ||
psch | huh | ||
so it does already work like that, neat | |||
m: my %t of Hash of Bool; %t<f> = my % of Bool = a => True | |||
camelia | ( no output ) | ||
psch | m: my %t of Hash of Bool; %t<f> = my % of Bool = a => True ; say %t.perl | 02:52 | |
camelia | rakudo-moar 1ae680: OUTPUT«(my Hash[Bool] % = :f((my Bool % = :a)))» | ||
psch | hm, that actually touches on something i often stumbled over | ||
as in, the declarator (obviously) parses on-pass, but the actions kind of go RTL | 02:53 | ||
...not sure i can formulate that clearer right now :) | |||
TimToady | m: my Bool %t{Int;Int}; | ||
camelia | rakudo-moar 1ae680: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Gk0rPEIGTxcoercive type declarations not yet implemented. Sorry. at /tmp/Gk0rPEIGTx:1------> 3my Bool %t{Int;Int}7⏏5; expecting any of: constraint» | ||
TimToady | why does it think it's coercive? | ||
psch | s/on-pass/one-pass/ | 02:54 | |
m: my Bool %t{Int} | |||
camelia | ( no output ) | ||
psch | i'd guess the slice (or multi-dim or whatwasit) is misparsed there..? | ||
uruwi | m: my Bool %t{Int}{Int}; | 02:55 | |
camelia | rakudo-moar 1ae680: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YzzWWQiJ6qMultiple shapes not yet understoodat /tmp/YzzWWQiJ6q:1------> 3my Bool %t{Int}{Int}7⏏5; expecting any of: constraint» | ||
uruwi | m: my Bool %t{Int,Int}; | ||
camelia | rakudo-moar 1ae680: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Mds3HRWOm3coercive type declarations not yet implemented. Sorry. at /tmp/Mds3HRWOm3:1------> 3my Bool %t{Int,Int}7⏏5; expecting any of: constraint» | ||
psch | m: my Bool() $x | ||
camelia | rakudo-moar 1ae680: OUTPUT«5===SORRY!5=== Error while compiling /tmp/raz4GoBq0dCoercion Bool(Any) is insufficiently type-like to qualify a variableat /tmp/raz4GoBq0d:1------> 3my Bool() $x7⏏5<EOL> expecting any of: constraint» | ||
psch | anyway, gonna try and catch some shuteye o/ | 02:56 | |
TimToady | so if I fix the <![a]> bug at end-of-string in moarvm, I discover that <-[a]> has been relying on the bug not to match at the end, rather than actually checking its position | 02:57 | |
and if I fix that, the compiler loops compiling the setting, grr | |||
02:58
raiph joined
03:01
vendethiel joined
03:03
kjs_ joined
03:06
doublec_ is now known as doublec
03:09
kaare_ left
03:14
sufrosti1o left,
sufrostico left
03:15
noganex_ joined
03:18
noganex left
03:24
vendethiel left
03:32
BenGoldberg joined
|
|||
gfldex | m: sub foo (::T $t, $not-T --> T) { ($not-T.comb>>.ord.sum / $not-T.chars).Int }; say foo(Int.new, 'abc'); | 03:38 | |
camelia | rakudo-moar 1ae680: OUTPUT«Type check failed for return value; expected T but got Int in sub foo at /tmp/edZS5LRcfb:1 in block <unit> at /tmp/edZS5LRcfb:1» | ||
gfldex | are type captures for return types supposed to work? | 03:39 | |
m: sub foo (::T $t, $not-T) { my T $foo; my $type-string = $foo.WHAT.perl; ($not-T.comb>>.ord.sum / $not-T.chars)."$type-string"() }; say foo(Int.new, 'abc'); | 03:43 | ||
camelia | rakudo-moar 1ae680: OUTPUT«98» | ||
gfldex | and is there a way to do a type cast to a type capture's type without fooling around with ."<type-name"() ? | 03:44 | |
03:45
kjs_ left
03:51
geraud left
03:52
geraud joined
03:56
ycaymanbo left
04:00
pierre-vigier joined
|
|||
Hotkeys | hola | 04:03 | |
TimToady | well, there's also ::($type-string)(), but we oughta fix the T to be properly generic there | 04:06 | |
dalek | p: 2661d27 | TimToady++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp: Force <![a]> to always match at EOS. Fixes RT #126746 by explicit test of EOS for <![a]> (because fixing nqp::indexnat to return true at EOS ran into difficulties). |
04:08 | |
kudo/nom: 50c3155 | TimToady++ | tools/build/NQP_REVISION: bumb nqp to get patch for RT #126746 |
04:09 | ||
04:09
Ben_Goldberg joined
04:13
BenGoldberg left
|
|||
TimToady | r: say "a" ~~ m/<![a]>/ | 04:13 | |
camelia | rakudo-jvm 1ae680: OUTPUT«Error while reading '/home/camelia/p6eval-token': No such file or directory at /home/camelia/rakudo-j-inst/bin/eval-client.pl line 10.» | ||
..rakudo-moar 50c315: OUTPUT«「」» | |||
TimToady | well, that fixes it for moarvm, anyway | 04:14 | |
04:16
sno joined
|
|||
uruwi | Is ab5tract here? | 04:17 | |
TimToady | .seen ab5tract | 04:18 | |
yoleaux | I saw ab5tract 25 Nov 2015 23:14Z in #perl6: <ab5tract> ahh. cool :) | ||
uruwi | Interesting | 04:19 | |
04:21
sno left
|
|||
uruwi | I wonder if for (^1000000) could be optimized into loop (my $i = 0; $i < 1000000; ++$i) | 04:23 | |
TimToady | already supposedly is | 04:26 | |
04:27
pierre-vigier left
04:29
MadcapJake left
04:45
doublec left
04:47
doublec joined
|
|||
b2gills | .tell lizmat did you mean `emit $elems = $elems + 1` instead of `emit ++$elems` ? github.com/rakudo/rakudo/commit/7d636cfc11 | 04:55 | |
yoleaux | b2gills: I'll pass your message to lizmat. | ||
04:57
rigsby joined
|
|||
uruwi | 1.76 vs 3.81 secs | 05:06 | |
TimToady | m: for ^1000000 {}; say now - INIT now | 05:09 | |
camelia | rakudo-moar 50c315: OUTPUT«0.2576046» | ||
TimToady | m: for loop (my $i = 0; $i < 1000000; $i = $i + 1) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0WV5pbND9ZUndeclared routine: loop used at line 1» | ||
TimToady | m: loop (my $i = 0; $i < 1000000; $i = $i + 1) {}; say now - INIT now | 05:10 | |
camelia | rakudo-moar 50c315: OUTPUT«0.1774705» | ||
TimToady | m: loop (my $i = 0; $i < 10000000; $i = $i + 1) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«1.6700395» | ||
TimToady | m: for ^10000000 {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«2.4554113» | ||
TimToady | m: loop (my int $i = 0; $i < 10000000; $i = $i + 1) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«0.061372» | ||
TimToady | I guess it doesn't | ||
uruwi | Auto-optimizing Int's to int's whenever possible is another possibility | 05:11 | |
TimToady | m: loop (my int $i = 0; $i < 10000000; ++$i) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«4.6867952» | ||
TimToady | ++ is a lot slower | ||
skids | Hrm, my panda seems to not be installing .moarvm files anymore, is that just interim curli WIP? | ||
uruwi | m: loop (my $i = 0; $i < 10000000; ++$i) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«1.68555317» | ||
uruwi | Weird | 05:12 | |
TimToady | ++ on natives is not optimized yet | ||
uruwi | Yeah | ||
05:12
bpmedley joined
|
|||
TimToady | m: loop (my $i = 0; $i < 10000000; $i++) {}; say now - INIT now | 05:12 | |
camelia | rakudo-moar 50c315: OUTPUT«1.4500430» | ||
TimToady | huh | ||
uruwi | ++ on natives and range fors to loop are LHF | ||
optimization of Int's to int's will be harder | 05:13 | ||
will require static analysis | |||
TimToady | well, easy enough to tell that ^10000000 is limited, but it depends on how much unboxing is then needed inside | ||
uruwi | Not to mention dead/unreachable code elimination | 05:14 | |
dalek | p: f17e8c5 | TimToady++ | src/vm/jvm/QAST/Compiler.nqp: Also fix RT #126746 on the jvm |
05:15 | |
uruwi | m: loop (my $i = 0; $i < 10000000; ++$i) {}; say now - INIT now | 05:16 | |
camelia | rakudo-moar 50c315: OUTPUT«1.645288» | ||
uruwi | m: loop (my $i = 0; $i < 10000000; $i++) {}; say now - INIT now | ||
camelia | rakudo-moar 50c315: OUTPUT«1.64997290» | ||
dalek | kudo/nom: 7c54722 | TimToady++ | tools/build/NQP_REVISION: bump nqp again for jvm's patch to RT #126746. |
05:17 | |
ast: aef8ea1 | TimToady++ | S05-metasyntax/charset.t: test that <![a]> always matches at eos |
05:19 | ||
TimToady | okay, I think that was an xmas bug, even if it was never on the official list :) | 05:21 | |
05:23
khw left
|
|||
Quom_ | TimToady++ | 05:24 | |
autarch | so I've completely rewritten Pod::To::HTML by bulding it on top of my new Pod::NodeWalker module - github.com/autarch/perl6-Pod-NodeWalker | 05:25 | |
Pod::NodeWalker handles walking the POD tree for you, as well as working around some current compiler bugs and generating synthetic start-list and end-list events to make it easier to handle lists | |||
05:25
raiph left
|
|||
autarch | This all started because I wanted to bring the doc.perl6.org design in line with the main perl6.org site, but the HTML Pod::To::HTML generated was basically hard-coded | 05:26 | |
so ... does anyone want to code review all of this? | |||
Quom_ | autarch: Have you compared performance? | 05:27 | |
autarch | Quom_: not yet | ||
though it runs ok in the tests | |||
it's also _way_ more correct - it's handling a lot more pod and doing it more correctly in some cases | 05:28 | ||
the new Pod::To::HTML is at github.com/autarch/Pod-To-HTML/tre...nodewalker - there's no point in a PR since it's essentially a rewrite | 05:29 | ||
TimToady | .oO(first make it run, then make it run right...) |
||
Quom_ | autarch: I don't doubt it :) | ||
autarch | is OO code notably slower than functions? the rewritten code is OO with some multi methods - the old code with FauxO - I'm guessing it was created before OO was really working in Perl 6 | 05:30 | |
Quom_ | autarch: I did a lot of work on the docs and Pod. It's been a mess for some time now… | ||
JimmyZ | autarch: nope. :) | 05:31 | |
TimToady is very glad people other than him are looking after the docs :) | 05:32 | ||
autarch | I actually want to work on the docs themselves too but I've been diving down various rabbit holes that keep distracting me | ||
TimToady | funny how that happens... | ||
Quom_ | autarch: Yup! | ||
Quom_ is curious what the compile time is like for the docs nowadays | 05:33 | ||
autarch | TimToady: my first project after the site design is to work towards better organization of the Language overview - then filling in various docs - then writing some new ones | ||
Quom_: _SLLOOOWWWW_ last time I tried it :( | |||
TimToady | you want slow, try compiling the jvm backend... | ||
autarch | I do wonder if it'd be possible to thread or fork the HTML generation to speed things up - it should be easily parallelizable | ||
Quom_ | OOC, is weirdness of NQPLock wrt exceptions known? It seems to be the cause of #126724 having the wrong error | 05:34 | |
Really, what happened to that bot? rt.perl.org/Ticket/Display.html?id=126724 | |||
autarch | to clarify organizing Language - Mean basically doing what this issue lays out - github.com/perl6/doc/issues/114 | 05:35 | |
TimToady | Quom_: no kloo for either question | 05:36 | |
05:36
rigsby left
|
|||
Quom_ | autarch: The original Pod::To::HTML library relie[d|s?] on global vars and so couldn't be parallized. That was the case a year ago, anyway | 05:37 | |
autarch | Quom_: ah, then my rewrite will fix that - it's now an object that's entirely self-contained | ||
so I imagine that this will speed up doc generation a bit | |||
Quom_ | autarch: I tried a few times to rewrite the library to be OO, but never found something that I was satisfied with | ||
autarch: Sweet :) | |||
autarch | Quom_: please take a look at my branch then | ||
Ben_Goldberg | m: multi foo () returns Int { 42 }; multi foo () returns List { 43 }; say foo; # I relize that this is unrelated to the current discussion, but why can't perl's multi dispatch make use of the return type? | 05:38 | |
camelia | rakudo-moar 7c5472: OUTPUT«Ambiguous call to 'foo'; these signatures all match::( --> Int):( --> List) in block <unit> at /tmp/UjaA2KIdJU:1» | ||
Quom_ | Well, I'm still trying to figure out where Pod::To::HTML is defined? | ||
nwc10 | yoleaux: tell jnthn valgrind didn't show anything other than the abort | 05:39 | |
Quom_ | nvm, found the repo ^^ | ||
nwc10 | .tell jnthn valgrind didn't show anything other than the abort | ||
yoleaux | nwc10: I'll pass your message to jnthn. | ||
05:39
nwc10 left
|
|||
uruwi | Ben_Goldberg because allowing it might create ambiguity | 05:40 | |
TimToady | Ben_Goldberg: because that would take time travel to know the context in many cases | ||
uruwi | for instance, if you have foo return Int for one, and String for another, then what happens if you say my $bar = foo() | ||
autarch | TimToady: since you're here can you take a look at rt.perl.org/Ticket/Display.html?id=124393 - I think it may be Christmas list worthy - it makes it very hard to use multi methods in roles in any useful way | 05:41 | |
Ben_Goldberg | Return a superposition? ;) | ||
autarch | the ticket is a little crufty - if someone wants to close it I could make a new one that more clearly describes the problem | ||
uruwi | Ben_Goldberg possibly even more confusing | 05:42 | |
Quom_ | +1 | 05:43 | |
Ben_Goldberg | I suppose that the better example would be if there were multi bar(Int) and multi bar(Str), then bar(foo) would be ambiguous. | ||
autarch | Quom_: you'll also want to look at Pod::NodeWalker since that does some of the heavy lifting for my PTH rewrite - github.com/autarch/perl6-Pod-NodeWalker - it's pretty minimal code, actually | ||
Quom_ | Right :) | ||
autarch | except for the insanity around lists :( | ||
we really need the compiler to generate start & end list markers or something | 05:44 | ||
konobi | mmm? | 05:45 | |
Quom_ | autarch: That's been a continual pain point | ||
autarch | yeah, I think maybe 25% of the code in P::NW is about synthesizing start-list and end-list events | ||
if it's incomprehensible I think the tests may clear up what the goal is | 05:46 | ||
also re: tests - I wrote a whole bunch for P::T::HTML too - it was nearly untested before | |||
Quom_ | autarch: Would it be better for it to have start & end markers or just to have Pod::ItemGroup.new(contents => [Pod::Item.new xx *]) | 05:48 | |
In your judgement | 05:49 | ||
autarch | Quom_: yeah, a container would be better, you're right | ||
as long as containers end up container other containers ... so =item1 followed by =item2 means that the =item1 container contains the =item2 container | |||
yo dawg, I heard you like containers ... | 05:50 | ||
Quom_ | Actually, it should probably be more like Pod::ItemGroup.new(level => 1, contents => ["blahblah", Pod::SomeText.new]) | 05:51 | |
autarch | also, if you have an =item2 without a preceding =item1 it needs to have two containers - without that I still need all the crazy logic I wrote around list levels | ||
Quom_ | (while we're breaking things) | ||
autarch | the compiler is in a much better position to figure this stuff out than any developer is who's just looking at some random chunk of POD later | ||
Quom_ | autarch: I'm not convinced | 05:52 | |
autarch | ot | ||
Quom_ | wrt two containers without precedence | 05:53 | |
autarch | it's very painful to handle levels jumps for something like an HTML generator - you need to actually write out all the missed levels of <ul><li><ul><li> etc | ||
so either the compiler does this for me or I have to keep constant track of the last level I was in (like I'm doing now in Pod::NodeWalker) | |||
if the compiler isn't going to do that than the groups really aren't that helpful | |||
05:55
rigsby joined
06:07
AlexDaniel left
|
|||
Quom_ | autarch: Off the bat, you need to predeclare 'class Renderer' and rename the classes so that they aren't Pod::To::HTML::Pod::To::HTML:: | 06:18 | |
autarch | Quom_: yeah, I don't really understand the unit stuff or how module vs class works re: namespaces | ||
ShimmerFairy | =item2 stuff shouldn't end up inside =item1 stuff, since Pod is explicitly designed so that it's wrong for the writer to do that (thus it'd be weird for the compiler to turn around and do that) :) | ||
autarch | ShimmerFairy: I'm not sure what you mean | 06:19 | |
ShimmerFairy | autarch: the spec for Pod6 explicitly says that =begin item1 ... =item2 ... =end item1 is not how you use sub-items, so having the compiler do that anyway would feel incredibly wrong to me. | ||
Quom_ | ShimmerFairy: That's not it | 06:20 | |
ShimmerFairy | Quom_: yeah, I just saw Item(level => 1, contents => Item( level => 2 ) ) as an idea above, which'd be wrong | ||
06:20
pierre-vigier joined
|
|||
Quom_ | ShimmerFairy: The proposal is =item1 … =item1 … =item2 … =item2 … =item1 … gets folded into ItemGroup[…,…,ItemGroup[…,…],…] | 06:21 | |
06:21
BenGoldberg_ joined
06:22
mattp__ joined
|
|||
autarch | just providing the sequence of events makes it very difficult for consumers of this information - we really need to know how the =itemX blocks relate to each other | 06:22 | |
Quom_ | ShimmerFairy: I think =begin item1 ... =item2 ... =end item1 would become ItemGroup[Block[…,ItemGroup[…],…] | ||
autarch | any output format I can think of requires that | ||
Quom_ | ] | ||
06:23
ssflying left
|
|||
ShimmerFairy | Quom_: huh, turns out I haven't messed with lists at all in my Pod parser rewrite yet, so I've not come up with a solution myself :P | 06:23 | |
(also, I'm reminded again to _really_ get back to working on that more than I have been) | |||
06:23
mattp_ left
|
|||
autarch | ShimmerFairy: are you working on the parsing in rakudo? | 06:23 | |
06:23
zacts left,
xpen left,
abaugher left,
bowtie left
|
|||
autarch | cause there are some bugs I'd like to point you at ;) | 06:23 | |
Quom_ | ShimmerFairy: Parser or walker? | ||
06:24
Ben_Goldberg left,
uruwi left,
Zoffix left,
sunnavy left
|
|||
ShimmerFairy | autarch: yeah, I've been working on developing a new parser out of core (since that's so much easier) over the last couple/few months, off and on. Countless other projects I like working on have slowed things a bit :P | 06:24 | |
06:24
ssflying joined
|
|||
autarch | why would we need a parser outside of core? I really appreciate being to get objects from $=pod versus the Perl 5 way (which is "use some module off CPAN to read a bunch of text") | 06:24 | |
ShimmerFairy | autarch: only out-of-core because it's much easier than recompiling rakudo every time one makes a change, it's supposed to go in when it's ready enough :) | 06:25 | |
autarch | I see | ||
ShimmerFairy | (it's not uncommon for rakudo devs to do this for new big-ish features in general, IIRC) | 06:26 | |
06:26
CurtisOvidPoe_ joined
|
|||
autarch | I see | 06:26 | |
I'm not very familiar with how any of the Perl 6 core dev works | |||
06:27
uruwi joined
|
|||
ShimmerFairy | autarch: it's just something you do because waiting 100-odd seconds to recompile rakudo to test if your typo fix actually works tends to slow down things too much in the "rapid development" phase of something :) | 06:27 | |
autarch | makes sense | 06:28 | |
ShimmerFairy | It's a useful strategy for any project where you'd rather like to prototype some new component without trying to put in a larger context at the same time, I think. :) | ||
autarch | some bugs to look at - rt.perl.org/Ticket/Display.html?id=114480 - rt.perl.org/Ticket/Display.html?id=126740 - rt.perl.org/Ticket/Display.html?id=126742 | 06:29 | |
rt.perl.org/Ticket/Display.html?id=126651 | 06:30 | ||
ShimmerFairy | about those table bugs, =tables have been a sticking point for me for quite a while as well. And incidentally getting some tiny bit of table parsing implemented is the last thing keeping me from wanting to make my project public :) | 06:31 | |
autarch | I also note that S26 talks about every named block having its own class like Pod::Block::Named::Image but that's not happening right now - named blocks all seem to be Pod::Block::Named | 06:32 | |
Quom_ | timotimo and I, and probably others, have tried to implement tables as well. PITA | ||
autarch | ShimmerFairy: I ended up just forcing the table contents to become POD in my NodeWalker code - github.com/autarch/perl6-Pod-NodeW...Walker.pm6 - look for self!podify | ||
ShimmerFairy | autarch: yeah, the Pod "AST" structure is something I find woefully under-defined in S26, so part of my fix-up project is to make a more defined structure | 06:33 | |
autarch | FWIW I don't think having Named::X classes is really very useful - it might be better to just update S26 here ;) | 06:34 | |
06:34
noganex joined
|
|||
ShimmerFairy | Quom_: my current idea is to set up an "interruptible" version of how implicit paragraphs are processed, namely because of one-pass parsing, and because doing too much grammar work actions-side feels like a code smell to me :) | 06:35 | |
06:37
zacts joined
|
|||
autarch | that also reminds me - the way things like "=head1 Foo" generates a Para node seems very gross and requires a lot of dumb hacks to generate sane HTML | 06:37 | |
I'm constantly flipping a $!render-paras attribute back and forth - very dumb | |||
06:37
noganex_ left,
CurtisOvidPoe left,
telex left,
krakan left
06:38
eiro left,
CurtisOvidPoe_ is now known as CurtisOvidPoe,
Zoffix joined
|
|||
autarch | again, this is something that the compiler knows better than I do - "=item1 Foo" - no para - "=begin item1\n\nFoo\n\n=end item1" - has a para | 06:38 | |
Quom_ | ShimmerFairy: Oh it can absolutely be done in pass, it's just hard to get that to work in NQP | ||
autarch: And what's your proposed behavior? | 06:39 | ||
autarch | Quom_: well, I haven't worked out _every_ corner case - but it seems like "=foo Text on same line" should never generate a Para | 06:40 | |
Quom_ | Oh, I misunderstood. | ||
autarch | and probably the same goes for "=foo\nText on line immediately after block start" | ||
ShimmerFairy | autarch: well, implied paras are something =head has, as I recall. I did however set up a way for the Pod writer (but _not_ the renderer) to tell the compiler not to imply =para :) | ||
autarch | ShimmerFairy: it seems like some reasonable defaults are in order here | 06:41 | |
no one writes "=head2 Thingy" and expects HTML like "<h2><p>Thingy</p></h2>" | |||
in fact, that's not even legal HTML | |||
06:42
abaugher joined,
krakan joined
|
|||
ShimmerFairy | I don't think we can expect all potential rendering formats to support exactly what Pod does, so the fact that HTML supposedly can't handle a paragraph in a header isn't Pod6's fault to me :) | 06:42 | |
Quom_ | autarch: I was going to throw together a PR for ItemGroup, but I forgot how messy the Rakudo code is, and implementing without cleaning up would make a much bigger mess. So sorry, not tonight :9 | ||
autarch | that's ok, I already spent the time to work around it and test my workarounds | 06:43 | |
now you'd just be making _more_ work for me ;) | |||
ShimmerFairy | Quom_: if I work fast enough, I'll be able to make my code finally public tonight :) | ||
06:43
sunnavy joined
|
|||
Quom_ | ShimmerFairy: Well, if it's public in any form I could assist :) | 06:43 | |
Tonight, though, it seems I've run up against my fair share of dead-ends | 06:44 | ||
(half-dead-ends? wilted-ends? sprouting-ends?) | |||
ShimmerFairy | Quom_: sure, the only reason it isn't atm is because of my tendency to want something "good enough", or something representative enough of where my ideas are headed, plus other interests taking my attention :) | ||
Quom_ | understandable :) | 06:45 | |
06:51
geraud left
|
|||
autarch | ok, bed time, but feel free to have the bots send me messages - if people like the new Pod::To::HTML I'll try using it for doc.perl6.org before I write API docs and submit a PR | 06:52 | |
07:00
FROGGS joined
07:01
telex joined
07:03
snarkyboojum joined
07:04
zacts left
07:11
BenGoldberg_ left
07:19
pierre-vigier left
07:22
skids left
07:26
abraxxa joined
|
|||
[Tux] | lizmat, what changed for me to get this: | 07:29 | |
===( 17210;53 14730/? 0/? 0/? )====================================Cannot directly create a Supply. You might want: | |||
- To use a Supplier in order to get a live supply | |||
- To use Supply.on-demand to create an on-demand supply | |||
- To create a Supply using a supply block | |||
in sub in at t/90_csv.t:78 | |||
in block <unit> at t/90_csv.t:104 | |||
test 50000 23.383 23.268 | 07:32 | ||
test-t 50000 20.935 20.820 | |||
csv-parser 50000 29.589 29.474 | |||
07:32
FROGGS left
|
|||
arnsholt | [Tux]: jnthn recently changed some parts of how Supplies work; that's probably it | 07:34 | |
[Tux] | s/Supply/Supplier/ => hang, so it is not that simple | 07:35 | |
arnsholt | There's a Rakudo commit with a long commit message that details what live and on-demand is, I think | 07:36 | |
[Tux] | s/Supply.new; start/supply/ => No such method 'emit' for invocant of type 'Supply' | 07:37 | |
07:37
noganex left
|
|||
[Tux] | a8231f14b2d5400e06 | 07:38 | |
07:42
cgfbee left,
dpk left
07:44
dr4ngd joined
|
|||
dr4ngd | hi | 07:44 | |
07:44
apejens_ left
|
|||
[Tux] | reading the commits and the docs, it looks like I would need gist.github.com/Tux/ccaa53f28b5744ead7ee but that causes the tests to hang | 07:46 | |
moritz | hi dr4ngd | ||
yoleaux | 26 Nov 2015 23:51Z <gfldex> moritz: i would like to book a day in advent, but don't know how! | ||
07:48
dpk joined,
rurban joined,
dpk left
07:51
sno joined,
pierre-vigier joined,
dr4ngd left
|
|||
[Tux] | jnthn, why does Supply::Preserving not have .from-list ??? | 07:51 | |
my $sup = Supplier::Preserving.new; | |||
$sup.from-list (@data,); | |||
should DWIM? | 07:52 | ||
moritz | .tell gfldex claim a spot on github.com/perl6/mu/blob/master/mi...5/schedule and /msg me your email address (unless you already have write access to the blog) | 07:53 | |
yoleaux | moritz: I'll pass your message to gfldex. | ||
moritz | .msg gfldex claim a spot on github.com/perl6/mu/blob/master/mi...5/schedule and /msg me your email address (unless you already have write access to the blog) | ||
yoleaux | moritz: Sorry, this command is admin-only. | ||
07:54
Celelibi left,
dpk joined
|
|||
moritz | m: my $sub = Supplier::Preserving.from-list((1, 2, 3)) | 07:54 | |
what's up with the bots today? bad net wheather? | |||
camelia | rakudo-moar 7c5472: OUTPUT«Method 'from-list' not found for invocant of class 'Supplier::Preserving' in block <unit> at /tmp/D2GaiJAK1d:1» | ||
[Tux] | Method 'from-list' not found for invocant of class 'Supplier::Preserving' | ||
in sub in at t/90_csv.t:78 | |||
masak | m: say .subst(/h/, "") and say .subst(/a/, "") given "wheather" | 07:55 | |
yoleaux | 26 Nov 2015 02:50Z <Zoffix> masak: you seem to know math well. Does this make any sense or should it be throwing due to division by zero? m: say (0/0)+(0+1i) <camelia> rakudo-moar : OUTPUT«Inf+1i» | ||
07:55
rindolf joined
|
|||
masak | Zoffix: I think that's conformant with IEEE 754. | 07:55 | |
camelia | rakudo-moar 7c5472: OUTPUT«weatherwhether» | 07:56 | |
07:56
dpk is now known as {dpk}
|
|||
[Tux] | m: my $sup = Spplier::Preserving.from-list((1, 2, 3)); | 07:56 | |
m: my $sup = Supplier::Preserving.from-list((1, 2, 3)); | 07:57 | ||
camelia | rakudo-moar 7c5472: OUTPUT«Could not find symbol '&Preserving' in block <unit> at /tmp/RbxhuE_MyV:1Actually thrown at: in block <unit> at /tmp/RbxhuE_MyV:1» | ||
rakudo-moar 7c5472: OUTPUT«Method 'from-list' not found for invocant of class 'Supplier::Preserving' in block <unit> at /tmp/tt_wVxeREr:1» | |||
08:00
RabidGravy joined
08:01
MilkmanDan left,
MilkmanDan joined,
darutoko joined
08:03
Celelibi joined
08:05
dayangkun left
08:08
dayangkun joined
08:12
M-eternaleye is now known as eternaleye,
eternaleye left,
eternaleye joined
08:15
cgfbee joined,
pierre-vigier left
08:20
xpen joined,
bowtie joined
08:22
Humbedooh joined
08:29
bjz left,
rindolf left,
doublec left,
Actualeyes left,
yeahnoob left,
n0xff left,
stmuk_ left,
Khisanth left,
llfourn left,
b2gills left,
yoleaux left,
bakedb left,
Sgeo left,
avar left,
mprelude left,
burnersk left,
wtw left,
confuseAcat left,
jantore left,
crux left,
literal left
08:30
n0xff joined,
llfourn joined,
bakedb joined,
doublec joined,
Khisanth joined,
rindolf joined,
Sgeo joined,
mprelude joined
08:31
bjz joined,
ir2ivps4 left
08:34
yeahnoob joined,
Actualeyes joined
08:36
bjz_ joined
08:38
Sgeo_ joined
08:40
maddingu1 is now known as maddingue
|
|||
[Tux] | .tell jnthn my $sup = Supplier::Preserving.from-list((1, 2, 3)); | 08:41 | |
08:41
MilkmanDan left,
bowtie left,
xpen left
08:42
Bucciarati left,
rindolf left,
mprelude left,
bakedb left,
corbyhaas left,
frew left,
bjz left,
Sgeo left,
Khisanth left,
n0xff left
08:44
FROGGS joined
|
|||
moritz | perlpunks.de/paste/show/56581877.355a.147 | 08:47 | |
somehow the rebuild is b0rked | |||
08:49
rurban left
08:50
corbyhaas joined
|
|||
moritz | never mind, that's an old one | 08:52 | |
08:55
bonsaikitten left
08:59
uruwi_ joined
09:01
Axord left,
Bucciarati joined
09:02
corbyhaas left,
FROGGS left,
Sgeo_ left,
bjz_ left,
Actualeyes left,
yeahnoob left,
doublec left,
llfourn left,
cgfbee left,
dayangkun left
09:03
Celelibi left,
darutoko left,
RabidGravy left,
sno left,
sunnavy left,
abaugher left,
uruwi left,
ssflying left,
mattp__ left,
bpmedley left,
molaf__ left,
isacloud left,
go|dfish left,
ilbelkyr left,
diakopte1 left
09:04
bjz joined
09:11
uruwi_ left
09:12
bjz left
09:13
stmuk joined,
corbyhaas joined,
Sgeo_ joined,
Actualeyes joined,
doublec joined,
cgfbee joined,
Celelibi joined,
darutoko joined,
RabidGravy joined,
abaugher joined,
isacloud joined,
go|dfish joined,
ilbelkyr joined,
diakopte1 joined,
jantore joined,
ilbelkyr left,
cgfbee left
09:14
pierre-vigier joined,
sno joined
09:15
molaf__ joined,
dayangkun joined
09:17
TEttinger left
09:18
ilbelkyr joined
09:19
ssflying joined
09:20
brrt joined,
Ven joined,
xiaomiao joined,
ely-se joined
09:21
llfourn joined
09:22
bjz joined,
mattp__ joined,
sunnavy joined,
cgfbee joined
09:24
Ven_ joined,
ir2ivps4 joined
09:25
mprelude joined,
[Sno] joined,
noganex joined
09:28
ely-se_ joined
09:33
cgfbee left,
ely-se left,
xiaomiao left,
Ven left,
dayangkun left,
molaf__ left,
sno left,
pierre-vigier left,
jantore left,
stmuk left,
corbyhaas left,
Sgeo_ left,
Actualeyes left,
doublec left
09:34
Celelibi left,
darutoko left,
RabidGravy left,
abaugher left,
isacloud left,
go|dfish left,
diakopte1 left,
cgfbee joined,
xiaomiao joined,
stmuk joined,
corbyhaas joined,
Sgeo_ joined,
Actualeyes joined,
doublec joined,
darutoko joined,
RabidGravy joined,
abaugher joined,
isacloud joined,
go|dfish joined,
diakopte1 joined
09:35
ely-se_ left,
cgfbee left
09:39
Celelibi joined
09:41
domidumont joined,
telex left
09:42
eiro joined
09:43
uruwi joined,
scopesoft left,
telex joined
09:44
jantore joined
|
|||
jnthn | morning, #perl6 | 09:45 | |
09:45
Amnez777 left
|
|||
nine_ | Good morning, jnthn | 09:47 | |
It's a quiet morning | |||
jnthn | [Tux]: .from-list is still used as Supply.from-list. It's only when you had a Supply.new that things need to change. | ||
[Tux] | reading the commits and the docs, it looks like I would need gist.github.com/Tux/ccaa53f28b5744ead7ee but that causes the tests to hang | 09:48 | |
that is when I started to read the commit messgaes and concluded I needed Supplier::Preserving instead | |||
jnthn | If you had Supply.new before you just want Supplier.new now | 09:49 | |
[Tux] | then the tests hang, so it is not 100% compatible | ||
jnthn | Oh, wait | ||
*sigh* I think there was some weird notion of "paused" things...that was horrible. | |||
:) | |||
[Tux] | that *was* the first thing I tried. I learned how to read the errors by now :) | 09:50 | |
jnthn | So it could be you need Supplier::Preserving after all. | ||
09:51
molaf joined
|
|||
jnthn | @i.push: $sup; | 09:51 | |
That probably wants to be | |||
@i.push: $sup.Supply; | |||
The Supplier is the thing you emit with | |||
The Supply is what you want the outside world so they can tap into the things you emit | |||
09:51
FROGGS joined
|
|||
[Tux] | ah, makes sense | 09:51 | |
jnthn | uh, what you *give* the outside world | ||
[Tux] | @i.push: Supplier::Preserving.from-list (@data,); | 09:52 | |
that would DWIM | |||
jnthn | No, that one is still Supply. | 09:53 | |
You only ever need a Supplier if you will be calling .emit yourself | |||
Supply.from-list gives an on-demand supply, as it always has, meaning that it starts feeding you the list every time you tap it. | 09:54 | ||
09:54
uruwi left
|
|||
[Tux] | my $sup = Supplier::Preserving.new.Supply; | 09:54 | |
$sup.from-list (@data,); | |||
@i.push: $sup; | |||
like that? | |||
09:54
ir2ivps4 left
09:55
cgfbee joined
|
|||
jnthn | No | 09:55 | |
from-list is a factory method | |||
Supply.from-list(@data) is all you need | |||
09:55
FROGGS left,
molaf left
09:56
jantore left,
telex left,
ir2ivps4 joined
|
|||
[Tux] | won't that bork on the one-arg rule? | 09:56 | |
jnthn | You only need a Supplier at all if you will do .emit calls yourself | ||
.from-list follows the 1-arg rule now (didn't before, though) | 09:57 | ||
I'm assuming you want a supply that, when tapped, will emit each item in @data? | |||
09:57
olinkl_ joined
|
|||
[Tux] | yes | 09:58 | |
09:58
olinkl left,
olinkl_ is now known as olinkl
|
|||
jnthn | Then it should work fine (now) | 09:59 | |
m: my @a = 1..10; Supply.from-list(@a).tap(*.say) | |||
Aww...netsplits probably upset dalek :( | |||
camelia | rakudo-moar 7c5472: OUTPUT«12345678910» | 10:00 | |
jnthn | heh, 2 minutes :) | 10:01 | |
[Tux] | @i.push: Supply.from-list (@data); | 10:02 | |
tests pass. it is that simple | |||
jnthn++ | 10:03 | ||
gfldex | .tell moritz post posted, set to private and to be published on 2015/12/02@00:01 | 10:05 | |
10:06
bowtie joined,
molaf joined
|
|||
jnthn | \o/ | 10:07 | |
gfldex | .botsnack | ||
10:07
dayangkun joined
10:08
uruwi joined,
Amnez777 joined,
dayangkun left,
snarkyboojum left,
royalkiran007 left,
brrt left,
rurban joined
10:09
jantore joined,
rurban left,
Amnez777 left
10:10
rurban joined,
Amnez777 joined,
Amnez777 left
10:11
Amnez777 joined
|
|||
RabidGravy | who was it that was complaining that HTTP::UserAgent didn't have a .post() method? I just implemented it. | 10:11 | |
10:11
telex joined
|
|||
RabidGravy | after a bit of refactoring I did yesterday, it became too easy to avoid | 10:13 | |
10:15
kjs_ joined
10:16
Amnez777_ joined
10:19
brrt joined
10:20
revdiablo left,
Amnez777 left,
garu_ left,
garu joined,
espadrine_ joined
10:24
brrt left,
pierre-vigier joined
10:27
espadrine_ is now known as espadrine
10:29
Actualeyes1 joined,
pierre-vigier left
10:31
sftp left
10:32
uruwi_ joined,
bonsaikitten joined
10:33
darutoko- joined,
jonathan__ joined,
Skarsnik joined
10:34
Celelibi_ joined,
jonathan__ is now known as yvarGdibaR
|
|||
yvarGdibaR | what's all that about | 10:34 | |
10:34
Amnez777_ left,
kjs_ left,
telex left,
jantore left,
uruwi left,
molaf left,
bowtie left,
olinkl left,
ir2ivps4 left,
cgfbee left,
Celelibi left
10:35
xiaomiao left,
stmuk left,
corbyhaas left,
Sgeo_ left,
Actualeyes left,
doublec left,
darutoko left,
RabidGravy left,
abaugher left,
isacloud left,
go|dfish left,
diakopte1 left
|
|||
yvarGdibaR | SPLITTERS! | 10:35 | |
10:36
yvarGdibaR is now known as RabidGravy
10:38
ilbelkyr_ joined,
Ven_ left
10:40
Actualeyes1 left,
ilbelkyr left,
solarbunny left,
pnu left,
MilkmanDan joined
10:42
olinkl joined,
corbyhaas joined,
doublec joined,
abaugher joined,
isacloud joined,
diakopte1 joined
10:44
jantore joined
10:45
jantore left,
olinkl left
10:46
corbyhaas left,
doublec left,
abaugher left,
isacloud left,
diakopte1 left,
jantore joined,
olinkl joined,
corbyhaas joined,
doublec joined,
abaugher joined,
isacloud joined,
diakopte1 joined
10:51
Celelibi_ is now known as Celelibi
10:57
telex joined,
molaf joined,
sftp joined
10:58
Psyche^_ left
11:00
simcop2387 left
|
|||
RabidGravy | is this thing on? | 11:01 | |
jnthn | Stormy morning on the internets, it seems... | 11:03 | |
11:05
xinming left
|
|||
dalek | kudo/nom: 916b01b | lizmat++ | src/core/Supply.pm: We want the todo per tap, jnthn++ |
11:10 | |
lizmat | .botsnack | ||
aww | 11:11 | ||
:-) | |||
11:11
kipd left
|
|||
jnthn | lizmat: Did you see the "need the empty whenever for side-effects" one too? :) | 11:12 | |
11:12
kipd joined
|
|||
lizmat | was just about to ask | 11:12 | |
jnthn thinks he's figured out a bunch of the Proc::Async and IO::Socket::Async data loss flappiness | |||
lizmat | so, we should not last out of a whenever also ? | ||
jnthn | You can | 11:13 | |
last in a whenever means "close the tap on this whenever" | |||
done in a whenever means "emit done and close the taps on all whenevers in this supply block" | |||
lizmat | ok, so then re 39869f1bc15b2f03fd8a , I could just do: whenever self -> \val { last } ? | ||
11:13
SmokeMachine_ left
11:14
SmokeMachine_ joined
|
|||
jnthn | This is about tail, right? | 11:14 | |
Imagine | |||
lizmat | *and* head, in the case of number <= 0 | ||
jnthn | m: Supply.from-list(1..10).do(&say).last(5).tap | 11:15 | |
camelia | rakudo-moar 7c5472: OUTPUT«Method 'last' not found for invocant of class 'Supply' in block <unit> at /tmp/xThmNUkCuF:1» | ||
11:15
cgfbee joined
|
|||
jnthn | m: Supply.from-list(1..10).do(&say).tail(5).tap | 11:15 | |
camelia | rakudo-moar 7c5472: OUTPUT«12345678910» | ||
jnthn | m: Supply.from-list(1..10).do(&say).tail(1).tap | ||
camelia | rakudo-moar 7c5472: OUTPUT«12345678910» | ||
jnthn | m: Supply.from-list(1..10).do(&say).tail(0).tap | ||
camelia | ( no output ) | ||
jnthn | That's the problem. | ||
lizmat | aha, so I *shouldn't* last out of it | 11:16 | |
jnthn | Right | ||
lizmat | ok | ||
jnthn | It was right as I had it, though I really shoulda put a comment explaining why it's not pointless :) | ||
lizmat | I will | ||
jnthn | Thanks | ||
11:16
yoleaux joined,
ChanServ sets mode: +v yoleaux
11:17
ir2ivps4_ joined
|
|||
lizmat | jnthn: so: basically we can never "last" out a built-in / library type of Supply method | 11:19 | |
yoleaux | 00:16Z <[Coke]> lizmat: - should we again remove all deprecations before xmas? | ||
04:55Z <b2gills> lizmat: did you mean `emit $elems = $elems + 1` instead of `emit ++$elems` ? github.com/rakudo/rakudo/commit/7d636cfc11 | |||
jnthn | lizmat: Well, .head can last, for example | 11:20 | |
yoleaux | 26 Nov 2015 22:48Z <lizmat> jnthn: supply test fails on OS X seem to be related to setting $*SCHEDULER | ||
26 Nov 2015 22:49Z <lizmat> jnthn: could it be some missing decont on $*SCHEDULER maybe ? | |||
26 Nov 2015 23:07Z <lizmat> jnthn: question: should you be able to last out of a whenever block without further consequences ? | |||
00:36Z <TimToady> jnthn: I rejected RT #120916 because it suffices to stub the accessor instead. | |||
05:39Z <nwc10> jnthn: valgrind didn't show anything other than the abort | |||
lizmat | yoleaux is back! | ||
jnthn | lizmat: The issue with tail is simply that it's an odd discontinuity that going towards zero you get all the side-effects, but when you hit zero you get none | ||
Whereas with head, 0 immediately meaning "done" is fine, because 1 will be done with just one thing processed, etc. | 11:21 | ||
lizmat | m: Supply.from-list(1..10).do(&say).head(0).tap | ||
camelia | ( no output ) | ||
lizmat | isn't that the same issue ?? ^^^ | ||
jnthn | But it's fine there 'cus it's not a weird discontinuity :) | ||
m: Supply.from-list(1..10).do(&say).head(1).tap | 11:22 | ||
camelia | rakudo-moar 7c5472: OUTPUT«12345678910» | ||
jnthn | uh... | ||
That's wrong though. | |||
That should just do 1 | |||
lizmat | why? the .do is before the .head ? | ||
jnthn | .head should close the tap once it's seen enough though | 11:23 | |
11:23
simcop2387 joined
|
|||
jnthn | I'm not sure why that isn't happening "for free" with the code already there | 11:23 | |
yoleaux | jnthn: Sorry, that command (.head) crashed. | ||
lizmat | m: Supply.from-list(1..10).head(1).do(&say).tap | ||
camelia | rakudo-moar 7c5472: OUTPUT«1» | ||
lizmat | this makes sense to me | ||
jnthn | yoleaux: I didn't really want head from you, tbh :P | ||
lizmat | the .head is *before* the .do, so the .do only sees 1 | 11:24 | |
11:24
jantore left,
olinkl left,
corbyhaas left,
doublec left,
abaugher left,
isacloud left,
diakopte1 left,
darutoko- left
|
|||
jnthn | But it's a pipeline, that values are meant to be pushed through one at a time. | 11:24 | |
Think of the lazy list dual | 11:25 | ||
m: (1..10).map(&say).head(1) | |||
camelia | rakudo-moar 7c5472: OUTPUT«1» | ||
11:25
ir2ivps4_ left,
cgfbee left
|
|||
jnthn | m: (1..10).map(&say).head(2) | 11:25 | |
camelia | rakudo-moar 7c5472: OUTPUT«12» | ||
11:25
molaf left,
telex left,
Celelibi left,
Skarsnik left,
RabidGravy left,
bonsaikitten left,
uruwi_ left
|
|||
lizmat | jnthn: gotcha | 11:26 | |
jnthn | I really don't know why it doesn't Just Work though. I can't see anything you've done wrong in head. | 11:27 | |
jnthn can take a look | |||
lizmat | well, lemme test some changes :-) | ||
jnthn | OK :) | ||
I need to debug/fix something weird happening with async sockets | |||
lizmat | yeah, and I should be preparing my slides for tomorrow :-) | 11:28 | |
jnthn | ;) | ||
11:30
Skarsnik joined,
pnu joined,
solarbunny joined
|
|||
lizmat | jnthn: looks like lasting out of a whenever doesn't close the ta[ | 11:32 | |
*tap | |||
11:33
sftp left
|
|||
jnthn | lizmat: OK, that's prolly the isuse then | 11:35 | |
lizmat | jnthn: can I leave that to you? | ||
11:36
d4l3k_ joined,
olinkl joined,
corbyhaas joined,
doublec joined,
abaugher joined,
isacloud joined,
diakopte1 joined,
jantore joined
|
|||
jnthn | lizmat: Yeah, it'll probably be in SUPPLY somewhere, or some other nasty place. | 11:37 | |
11:38
sftp joined
|
|||
lizmat | ok, I will have a stab at it | 11:38 | |
BTW, shouldn't that live in Rakudo::Internals ?? | |||
jnthn | Maybe. :) | ||
Rakudo::Internals didn't exist at the time I added it :) | |||
11:38
integral_ joined,
integral_ left,
integral_ joined
|
|||
jnthn | Feel free to move 'em. | 11:39 | |
Though Actions.nqp will need an update. | |||
lizmat | not clear how to change Actions.nqp, tbh | ||
11:39
Juerd_ joined
|
|||
lizmat | find_method in Rakudo::Internals ? | 11:39 | |
jnthn | Probably just a callmethod node instead of a call node | 11:40 | |
11:40
xdbr left
|
|||
jnthn | And with first child being a WVal holding Rakudo::Internals (which you get with find_symbol) | 11:40 | |
lizmat | ok | ||
11:41
kipd left
|
|||
jnthn | Socket tests showed up my first fix wasn't so smart. | 11:41 | |
Now I've got it working nicely :) | |||
11:42
kipd joined,
SmokeMachine_ left,
dpk joined
11:43
yx_ joined,
yoleaux left,
{dpk} left,
eternaleye left,
obra left,
esh left,
dalek left,
DrPete_ left,
hacst left,
mathw left,
pierrot left,
ugexe left,
sjn left,
havenwood left
11:44
advwp_ left,
luis left,
masak left,
cfloare left,
chewie_2082 left,
risou left,
avalenn left,
jme` left,
Juerd left,
mephinet left,
roguelazer left,
jsimonet left,
ilmari left,
integral left,
zemmihates left,
chansen_ left,
timotimo left,
[ptc] left,
xnrand left,
dylanwh left,
Juerd_ is now known as Juerd,
d4l3k_ is now known as dalek,
ChanServ sets mode: +v dalek
11:45
yx_ is now known as xnrand
11:46
dalek left,
[ptc] joined
|
|||
lizmat | jnthn: hmmm... S17-supply/syntax.t now gives me an "Abort trap: 6" | 11:46 | |
11:46
ggherdov left
|
|||
jnthn | After changing things? | 11:48 | |
11:48
yoleaux joined,
obra joined,
DrPete_ joined,
ugexe joined,
advwp_ joined,
chewie_2082 joined,
risou joined,
jme` joined,
jsimonet joined,
zemmihates joined,
chansen_ joined,
timotimo joined,
dylanwh joined,
orwell.freenode.net sets mode: +v yoleaux,
obra left
|
|||
jnthn can try looking at the patch | 11:48 | ||
lizmat | not sure | ||
lizmat stashes and rebuilds | 11:49 | ||
11:49
dpk is now known as Guest57557,
dalek joined,
ChanServ sets mode: +v dalek,
ilmari joined
11:50
roguelazer joined
11:51
advwp_ left,
chewie_2082 left,
sftp left,
Guest57557 is now known as {dpk}
11:52
hacst joined
|
|||
lizmat | jnthn: before my changes, could have been a while already so | 11:52 | |
dalek | p: 2253c07 | jnthn++ | tools/build/MOAR_REVISION: Bump MOAR_REVISION for async I/O protocol fix. |
11:53 | |
p: d9545f4 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncSocketHandle.java: Tweak async socket sequence number emission. Matches a fix in MoarVM. Enables fixing various data loss bugs. |
|||
11:55
PotatoGim left
11:56
hacst left,
mephinet joined
11:57
hoelzro left
|
|||
dalek | kudo/nom: 139be68 | jnthn++ | / (5 files): Fix various data loss bugs with async I/O. In some cases, async sockets and processes could lose data from the end of the stream. Further, there was a data race in the sequencing code, which was duplicated in a couple of places also. This factors the sequence logic out to a single place, removes the data race, and uses protocol changes in Moar/JVM backend code to fix the data loss issue. |
11:57 | |
11:59
ggherdov joined
12:01
sftp joined,
hacst joined
12:03
xdbr joined
|
|||
dalek | ast: 1971ba1 | jnthn++ | S (2 files): Test for RT #125515. |
12:03 | |
jnthn | oops, an unfudge slipped into that commit too | ||
12:04
kipd left
|
|||
dalek | kudo/nom: ee1dbdd | jnthn++ | t/spectest.data: Run S17-procasync/stress.t as stress test. |
12:04 | |
12:05
Hotkeys left
12:06
hoelzro joined,
hacst left
12:09
literal joined,
wtw joined
|
|||
jnthn | .tell leont I fixed a Proc::Async issue that could cause data loss in various cases, which was quite likely responsible for your harness issues. | 12:11 | |
yoleaux | jnthn: I'll pass your message to leont. | ||
12:11
rigsby left,
avar joined,
avar left,
avar joined,
bowtie joined,
Ven joined,
crux joined,
lucasb joined,
luis joined,
uruwi joined,
cfloare joined
12:12
RabidGravy joined,
molaf joined
|
|||
moritz | \o/ | 12:12 | |
yoleaux | 11:17Z <gfldex> moritz: post posted, set to private and to be published on 2015/12/02@00:01 | ||
12:12
xinming joined,
SmokeMachine_ joined,
havenwood joined,
M-eternaleye joined,
havenwood left,
havenwood joined
|
|||
lucasb | freenode still unstable for me :( very hard to connect | 12:12 | |
12:12
Celelibi joined,
revdiablo joined,
cgfbee joined,
avalenn joined,
confuseAcat joined
12:13
hacst joined,
pierrot joined
12:14
Actualeyes joined,
masak joined,
masak is now known as Guest7129
12:15
Spot__ left
|
|||
RabidGravy | what larks | 12:16 | |
jnthn | lunch & | ||
dalek | ast: f013d55 | lizmat++ | integration/no-indirect-new.t: Apparently the exception type has changed |
12:18 | |
12:18
kipd joined,
mathw joined,
n0xff joined
12:19
pierrot left,
advwp joined
|
|||
lizmat | .tell jnthn looks like most of the problems I see in supply tests, are related to "done" and lasting out of a whenever (which should do a "done" I assume) | 12:22 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
12:22
M-eternaleye is now known as eternaleye,
eternaleye left,
eternaleye joined
|
|||
lizmat | .tell jnthn since I have no idea where "done" is being done, I have no idea how to debug this further :-( | 12:22 | |
yoleaux | lizmat: I'll pass your message to jnthn. | ||
12:23
confuseAcat left
12:26
nmp joined
12:27
xiaomiao joined,
Khisanth joined
12:30
kaare_ joined
|
|||
RabidGravy | testing oauth stuff is a mammoth pain in the arse | 12:31 | |
12:32
chewie_1982 joined
12:33
sftp left,
mrsolo left
12:36
Spot__ joined,
Ven_ joined,
sftp joined
12:37
obra joined
12:38
uruwi left,
luis left,
havenwood left,
SmokeMachine_ left,
sjn joined
12:39
SmokeMachine_ joined,
advwp left,
avalenn left,
xinming left,
eternaleye left,
lucasb left,
kaare_ left,
uruwi joined,
mathw left,
cgfbee left,
revdiablo left,
Celelibi left,
stmuk joined
12:40
RabidGravy left,
cfloare left,
bowtie left,
Ven left,
avalenn joined,
rindolf joined,
advwp joined,
pierrot joined
12:41
cfloare joined,
revdiablo joined
|
|||
dalek | kudo/nom: ae5bc14 | lizmat++ | src/core/Supply.pm: Remove done() / Replace by last This seems to fix a large number of the supply test breakage on OSX |
12:42 | |
12:42
kaare_ joined
12:43
ir2ivps4_ joined,
frew joined
12:44
bowtie joined
|
|||
dalek | kudo/nom: 3ce3df5 | lizmat++ | src/core/Supply.pm: Fix semantics of Supply.head/tail, jnthn++ |
12:44 | |
kudo/nom: 8a2f0c7 | lizmat++ | src/core/Supply.pm: Adopt suggestion by Brad Gilbert++ |
|||
12:44
luis joined
12:45
hoelzro left,
M-eternaleye joined,
Celelibi joined,
llfourn left
12:46
havenwood joined,
havenwood left,
havenwood joined,
hoelzro joined,
Guest7129 is now known as masak_grr
12:48
telex joined
12:51
mephinet left
12:54
mephinet joined,
pierre-vigier joined
|
|||
jnthn | lizmat: I assume all those places you removed done don't have more than one whenever? | 12:56 | |
yoleaux | 12:22Z <lizmat> jnthn: looks like most of the problems I see in supply tests, are related to "done" and lasting out of a whenever (which should do a "done" I assume) | ||
12:22Z <lizmat> jnthn: since I have no idea where "done" is being done, I have no idea how to debug this further :-( | |||
jnthn | lizmat: I think they're OK except the one in throttle | 12:57 | |
Which will now fail to "done" the supply and keep the timer alive, by the looks of it | 12:58 | ||
lizmat | jnthn: ok, will put that one back | 13:00 | |
jnthn | The others seem like nice simplifications | ||
done throws a control exception btw | |||
13:00
boegel left
|
|||
jnthn | Which means that control flow ends at a done | 13:00 | |
13:02
Hotkeys joined
13:03
hacst left,
RabidGravy joined
|
|||
jnthn is looking at rt.perl.org/Ticket/Display.html?id=123949 | 13:03 | ||
[Tux] | Inline::Perl5 still FAILs | ||
jdv79 | RabidGravy: i did. just never got around to doing it myelf | 13:04 | |
jdv79 should check if the headers bug(s) i found are fixed yet.. | |||
RabidGravy | unlikely | ||
13:05
ilmari left,
boegel joined,
cgfbee joined
13:06
lucasb joined,
pierre-vigier left,
mephinet left
13:07
confuseAcat joined
|
|||
lucasb | Does it make sense to say that .head and .tail are "non-destructive" versions of shift and pop? | 13:07 | |
13:07
mathw joined
|
|||
jnthn | lucasb: Well, aside from the numeric parameter, kinda :) | 13:08 | |
13:08
woolfy joined,
woolfy left
|
|||
lucasb | What is your opinion about making shift and pop accept an integer argument, meaning the number of elements to be shifted/poped? Another argument is that you can push and unshift more than one element, not just one. | 13:08 | |
13:09
xinming joined
|
|||
jnthn | I'd like to think we're mostly done with features before Christmas. | 13:10 | |
lucasb | moar features! moar features! :D | ||
just kidding :) | |||
jnthn: thanks | |||
nine_ | [Tux]: does it happen with Inline::Perl5's tests or with your own code? | 13:11 | |
[Tux] | basic tests | ||
t/use.t ....................... ok | |||
No such method 'context' for invocant of type 'Inline::Perl5::Perl6Callbacks' | |||
in method invoke-parent at /pro/3gl/CPAN/rakudobrew/.panda-work/1448628920_4/lib/Inline/Perl5.pm6:503 | |||
in block at /pro/3gl/CPAN/rakudobrew/.panda-work/1448628920_4/lib/Inline/Perl5.pm6:991 | |||
in block <unit> at t/v6.t:19 | |||
13:11
hacst joined
13:12
domidumont left,
isacloud left,
parisba left,
mephinet joined,
hoelzro left,
SmokeMachine_ left
13:13
pierre-vigier joined
|
|||
Ulti | m: say xB3xB2 | 13:13 | |
camelia | rakudo-moar 8a2f0c: OUTPUT«9» | ||
Ulti | get why that's happening but maybe not the best outcome | 13:14 | |
13:14
Hotkeys left
13:15
SmokeMachine_ joined
13:16
Hotkeys joined,
hoelzro joined,
Psyche^ joined
13:17
colomon joined
|
|||
dalek | kudo/nom: 72d0970 | lizmat++ | src/core/Supply.pm: Fix timer reset on Supply.throttle, jnthn++ |
13:18 | |
kudo/nom: 62ddc6d | lizmat++ | src/core/Any-iterable-methods.pm: Remove grep-index/first-index/last-index Please use grep(:k), first(:k), first(:k,:end) instead |
|||
13:19
pierre-vigier left
13:21
dalek left,
sftp left
13:22
dalek joined,
ChanServ sets mode: +v dalek,
Hotkeys left
13:24
SmokeMachine__ joined
13:25
SmokeMachine_ left
13:26
Psyche^ left,
sftp joined,
Hotkeys joined
13:27
PotatoGim joined,
Psyche^ joined
13:28
isacloud joined
|
|||
timotimo | lucasb: you can't push and unshift more than one element, though :) | 13:28 | |
lucasb: that was recently changed; we have append and prepend to put more than one element at the beginning or end, but pop is always a single element | 13:29 | ||
so that push and pop can be symmetric | |||
dalek | kudo/nom: 842010f | jnthn++ | src/core/IO/Socket/Async.pm: Missing space in an error. |
||
lizmat | .tell [Coke] maybe the contributor list for 2015.12 should contain *all* contributors we can cull from the git logs ? | 13:30 | |
yoleaux | lizmat: I'll pass your message to [Coke]. | ||
13:30
avalenn left
|
|||
timotimo | oh my word! my ipv6 connectivity issues have been resolved! | 13:31 | |
lucasb | timotimo: I'm not sure I understand | ||
13:31
avalenn joined
|
|||
timotimo | m: my @foo; @foo.push(1, 2, 3, 4); say @foo.perl | 13:31 | |
camelia | rakudo-moar 62ddc6: OUTPUT«[1, 2, 3, 4]» | ||
timotimo | that's not ... huh? | ||
13:31
ilmari joined
|
|||
timotimo | m: my @foo; @foo.push(1, 2, 3, 4); @foo.push("hi"); say @foo.perl | 13:31 | |
camelia | rakudo-moar 62ddc6: OUTPUT«[1, 2, 3, 4, "hi"]» | ||
lucasb | timotimo: ^^ see? :) | 13:32 | |
timotimo | didn't ... huh? | ||
13:32
parisba joined
|
|||
jnthn | timotimo: The difference is that it doesn't follow the 1-arg rule | 13:32 | |
timotimo | oh | ||
jnthn | timotimo: One argument = one item | ||
timotimo | m: my @foo; @foo.push((1, 2, 3, 4)); @foo.push("hi"); say @foo.perl | ||
camelia | rakudo-moar 62ddc6: OUTPUT«[(1, 2, 3, 4), "hi"]» | ||
timotimo | that's how | ||
yeah, that makes sense | |||
13:32
parisba is now known as Guest77425
|
|||
dalek | kudo/nom: dee63c3 | lizmat++ | src/core/Str.pm: Remove support for Str.split(:all) Please use Str.split(:v) instead |
13:33 | |
ast: e3c4965 | lizmat++ | S32-str/split-simple.t: Fix Str.split tests using :all, use :v instead |
|||
lucasb | timotimo: so.. it *can* push and unshift more than element, right? I was just asking that .shift(5) and .pop(5) shifted and poped 5 elements | 13:34 | |
timotimo | oh! | ||
how did i misread that? | |||
my quality of sleep must be declining or something | |||
on that note: how do i find a topic to write about for the advent calendar? :\ | |||
13:35
go|dfish joined
|
|||
lizmat | lucasb: an argument against multiple elements being popped/unshifted, is that it would change the return signature | 13:35 | |
timotimo | we should make types in perl6 pretend they are a list of that type %) | 13:36 | |
lizmat | timotimo: they already are | ||
m: say Int[0] | |||
camelia | rakudo-moar 62ddc6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zi5V51GrNYInt cannot be parameterizedat /tmp/zi5V51GrNY:1------> 3say Int[0]7⏏5<EOL>» | ||
lizmat | ah? | ||
hmmm... | |||
timotimo | values are, but types aren't | ||
lucasb | lizmat: oh, ok. I didn't thought about that :) | ||
timotimo | you can assign 1 to a my Int @foo only because of list assignment/STORE semantics | ||
13:36
dpk joined
|
|||
timotimo | not because Int also matches Positional[Int] | 13:36 | |
lizmat is not touching on DEPRECATED IO features until jnthn is done | 13:37 | ||
timotimo | and that would quite frankly be insane... probably | ||
13:37
{dpk} left
13:38
dpk is now known as {dpk}
13:39
mrsolo joined
|
|||
dalek | kudo/nom: e270327 | lizmat++ | docs/ChangeLog: Mention Supply.new -> Supplier.new change |
13:39 | |
13:42
Juerd left
13:43
zakharyas joined
13:45
mr-foobar joined
13:47
Psyche^_ joined
|
|||
timotimo | we didn't end up releasing last month's rakudo star that moritz prepared? | 13:50 | |
jnthn | I need some input on a few IO API things: gist.github.com/jnthn/9d8b2e22882d7f7a871e | 13:52 | |
13:52
Psyche^ left,
PotatoGim left,
SmokeMachine__ left
|
|||
lucasb | lizmat: idk if I undestand you correctly, but shift and pop doesn't have a 'return signature', there is no contract about what they return | 13:52 | |
jnthn | 2 xmas RTs and 2 other RTs depend on it! :P | ||
lucasb | their signature says 'is nodal', but idk what that means :) | ||
jnthn | moritz, hoelzro # ^^ these involve tickets you filed :) | 13:54 | |
timotimo | "nodal" defines how things operate when used in a hyper context | 13:55 | |
lucasb | timotimo: oh, ok. thanks. ...and do you know what does 'is raw' means? | ||
13:56
kjs_ joined
|
|||
timotimo | that's about re-containerization, especially with lists - i think | 13:56 | |
lizmat | m: sub a is raw { state $a = 42 }; say a; a++; say a | 13:58 | |
camelia | rakudo-moar e27032: OUTPUT«4243» | ||
lizmat | m: sub a { state $a = 42 }; say a; a++; say a | ||
camelia | rakudo-moar e27032: OUTPUT«42Cannot call postfix:<++>(Int); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) …» | ||
lizmat | lucasb timotimo ^^^ | ||
13:59
Ven_ left
|
|||
lucasb | lizmat: thanks, made it somehow clear to me :) | 14:00 | |
moritz | timotimo: not yet; it's still on my TODO | ||
timotimo | can i do something to help you? | 14:02 | |
i didn't test the tarball yet; would that help? | |||
hack.p6c.org/~moritz/rakudo-star-20...rc0.tar.gz - the link from the backlog | 14:03 | ||
moritz | jnthn: I'm OK with your proposals, including not unifying the things for you do't have good ideas how to unify them | ||
timotimo: it would. So far I haven't received a single bit of feedback on the tarball (only on the announcement) | |||
jnthn | moritz: Any feeling on the print-async thing? | ||
timotimo | damn. | ||
i still find it a bit annoying that Configure.pl --gen-moar doesn't try to set a -j on the moar build | 14:04 | ||
jnthn could go either way on that | |||
timotimo | given that it has interp.c somewhat early in the build and that takes a phenomenal amount of time compared to the other individual files | ||
parallelization by -j2 would already help a whole lot there | |||
14:04
Ven joined,
bpmedley joined
|
|||
moritz | jnthn: I'd be fine with 'print' being async, and that you have to explicitly await for it | 14:04 | |
timotimo | it's still less than a mintue on my box, but not sure if it's a good first impression... also this isn't feedback on the starball | 14:05 | |
jnthn | moritz: OK, so that's the status quo. | ||
moritz++ # feedback | |||
moritz | jnthn++ # proposal | ||
timotimo: also, there's a rakudo/star PR for including linenoise; testing that would also help | 14:06 | ||
arnsholt | I've never used async stuff before, but intuitively I agree with moritz, it makes sense that output would be async like input is. Convenience methods for synchronous output might make sense though | 14:07 | |
14:08
doublec left
|
|||
jnthn | Well, you'd just write await $foo.print ... | 14:08 | |
I'm not sure putting that into the method name is a win :) | |||
arnsholt | Yeah, I guess it's not possible to shorten much =) | 14:09 | |
timotimo | you can also .print(...).await to make it look a bit more LTR | ||
14:10
zacts joined
|
|||
timotimo | ===SORRY!=== Error while compiling /tmp/rakudo-star-2015.11-rc0/install/share/perl6/lib/DBDish/TestMock/Connection.pm6 | 14:10 | |
Invalid typename 'DBDish::Role::Connection' | |||
that happens during the precompilation | 14:11 | ||
moritz | timotimo: with moar or JVM? | ||
timotimo | moar | ||
moritz | :( | 14:12 | |
why didn't that happen for me? | |||
timotimo: do the tests still pass? | |||
timotimo | oh, make test, eh? | 14:14 | |
ah | |||
14:15
doublec joined
14:16
lichtkind joined
|
|||
timotimo | DBIish tests are very unhappy | 14:19 | |
gist.github.com/timo/39e793ad327c917c721b | |||
14:20
jantore_ joined,
SmokeMachine__ joined
|
|||
moritz | timotimo: make modules-test | 14:20 | |
timotimo: and you did a 'make install' first? | 14:21 | ||
timotimo | i did make install | ||
"make test" doesn't suggest "make modules-test", it probably should | |||
14:22
mr-fooba_ joined
|
|||
timotimo | with make modules-test everything everywhere is happy | 14:23 | |
14:23
Actualeyes left
|
|||
timotimo | but "make test" suggests invoking prove on modules/foo/t | 14:23 | |
that's perhaps what breaks dBIish? | |||
moritz | timotimo: does 'make modules-test' work for you? | 14:24 | |
timotimo | yes | ||
all tests succeed everywhere | |||
moritz | then I guess we should not recommend the prove/ step | 14:25 | |
which assumes that stuff is installed, and thus doesn't set paths | |||
which won't file test-only modules | 14:26 | ||
timotimo | oh? | ||
but i ran the prove thing post-make-install | |||
14:27
kjs_ left,
mr-foobar left,
ilmari left,
isacloud left,
sftp left,
jantore left,
olinkl left,
corbyhaas left,
abaugher left,
diakopte1 left,
ely-se joined
|
|||
moritz | timotimo: yes, but make install doesn't install test-only modules | 14:28 | |
(under t/lib/ or so) | |||
timotimo | ah! | ||
of course | |||
14:29
telex left
14:30
telex joined
14:31
donaldh joined
|
|||
donaldh | I have been experimenting with MAIN and USAGE - I would really like to document the command-line params | 14:32 | |
How is this for a proposal gist.github.com/donaldh/478814e68ab9d674eab9 | |||
14:32
avalenn left
|
|||
donaldh | hat-tip to jnthn++ for pointing out declarator pod | 14:32 | |
moritz | donaldh: +1 | 14:33 | |
14:34
avalenn joined
|
|||
donaldh | worth putting in core ? | 14:36 | |
14:37
domidumont joined
|
|||
timotimo | examples.perl6.org/categories/cookb...bject.html - urgh! recommending the use of .isa("Foo") is a terrible, terrible idea IMO | 14:38 | |
jnthn | Yes, .isa(Foo) or just ~~ Foo | 14:39 | |
timotimo | yes | ||
should i just go ahead and change that? | |||
14:39
inokenty joined
|
|||
jnthn | Aye | 14:39 | |
14:40
inokenty left
|
|||
dalek | pan style="color: #395be5">perl6-examples: 61ebb06 | timo++ | categories/cookbook/13classes-objects-and-ties/13-01constructing-an-object.pl: do not recommend the use of .isa("Foo"). use ~~ Foo instead |
14:40 | |
timotimo | it wouldn't be terrible if the examples site would directly link to a folder or file on github at the very bottom | 14:41 | |
how about this: the yahtzee game example has this line: sub roll-dice { map { (1..6).pick }, 1..$^rolls }; | 14:42 | ||
lizmat | upgrading& | ||
timotimo | should i just go into the source and replace roll-dice with (1..6).roll($num) where it used to be used? | ||
14:42
lizmat left
14:43
inokenty joined
|
|||
jnthn | Or keep the sub roll-dice but put that inside of it | 14:44 | |
timotimo | that's definitely less intrusive | ||
also, it'll document more clearly what it is about | |||
dalek | pan style="color: #395be5">perl6-examples: 243ac3c | timo++ | categories/games/yahtzee.p6: use .roll instead of .pick in a map leaving it in the roll-dice sub for enhanced clarity |
14:46 | |
14:48
Juerd joined,
ilmari joined,
isacloud joined,
sftp joined,
olinkl joined,
corbyhaas joined,
abaugher joined,
diakopte1 joined,
xpen joined
|
|||
timotimo | ugh. examples.perl6.org/categories/shoot...-body.html extends past the right margin of the code box | 14:49 | |
i should file an issue | |||
14:50
AlexDaniel joined
|
|||
JimmyZ | donaldh: +1 # looks awesome | 14:51 | |
RabidGravy wonders if soundcloud oauth authorisation grant codes expire themselves | |||
dalek | pan style="color: #395be5">perl6-examples: a718f31 | timo++ | template/head.html: remove reference to jquery custom css that 404s |
14:52 | |
donaldh | JimmyZ: note I just added the 5 lines of code to emit the arg docs after the usage docs. | ||
JimmyZ | donaldh: I like it about adding .WHY docs | 14:53 | |
14:54
lizmat joined
|
|||
jnthn | phew, lizmat survived her upgrade ;) | 14:55 | |
lizmat | :-) | ||
yup | |||
timotimo | \o/ | ||
up all the grades | |||
hoelzro | o/ #perl6 | 15:04 | |
jnthn | o/ h\o/elzr\o/ | ||
hoelzro | =) | 15:05 | |
morning jnthn | |||
AlexDaniel | Ulti: (³²) this thing is reported, so yeah | ||
jnthn | There's some IO API stuff in recent backlog | ||
Input would be welcome, when you get chance :) | |||
hoelzro | jnthn: regarding the Proc::Async API, I think print-async and co. are the right way forward | ||
timotimo | argh!! | ||
why is this www.learningperl6.com/Chapters/11.f...ndles.html placed first on a google search for "perl6 file handle" | 15:06 | ||
it says you get a line from a file handle with =$filehandle | |||
jnthn | Not for like 5 years it ain't :) | ||
timotimo | Last Modified: Tue May 1 09:34:54 2007 | ||
jnthn | hoelzro: OK. Not everyone else feels that way... | ||
timotimo | File Handles- Cooksongold - buy now and get 15% off. use code "NOVEMBER" offer ends 30th nov! | 15:07 | |
yeah, people, hear that? get your file handles at an exquisite price! | 15:08 | ||
JimmyZ | .oO(IO API backlog)... I have a PR for it :P |
15:09 | |
timotimo pinged bdfoy on twitter | 15:10 | ||
JimmyZ: i'm +1 on getting that in | |||
but i didn't review the code. i can't imagine what could go wrong, though | |||
so there's that ... | |||
15:10
khw joined
|
|||
JimmyZ | well, it is waiting for jnthn++ IO work. | 15:12 | |
timotimo | ah! | ||
hoelzro | moritz, jnthn: so the P::A resolution is to leave the API as is, and just make sure people know to await() what print() returns? | 15:13 | |
moritz | hoelzro: aye | 15:14 | |
timotimo | i think so, too | ||
make it very clear in the documentation | |||
if you ask for async, you should not be surprised by getting async; but it should still be pointed out prominently | 15:15 | ||
15:15
Axord joined
|
|||
daxim | inviting you to chip in: www.reddit.com/r/perl/comments/3ug...l_6_exist/ | 15:15 | |
hoelzro | alright | 15:17 | |
thanks jnthn, moritz, timotimo, and others for weighing in! | 15:18 | ||
jnthn | hoelzro: I note it doesn't disorder the writes themselves, which would be nuts. | ||
hoelzro | right | ||
hoelzro .oO( write? ) | |||
I think as long as everything returns promises and the documentation is very clear that everything is async, that should work fine | |||
Skarsnik | daxim, http::useragent return a http::response object for his example, wish make sense for http since there can be some additionnal stuff that just error x) | 15:20 | |
jnthn | daxim: If you want to return something indicating failure, but that the caller can work with as a value, then "fail" is the typical way. You can fail with a typed exception to include more data, and there are various constructs to support processing either case (and if you ignore the failure it'll end up blowing up just like an exception) | 15:21 | |
m: sub foo($ok) { fail 'oops' unless $ok; 42 }; with foo(1) { .say } else { say "failed: $_" } | 15:22 | ||
camelia | rakudo-moar e27032: OUTPUT«42» | ||
jnthn | m: sub foo($ok) { fail 'oops' unless $ok; 42 }; with foo(0) { .say } else { say "failed: $_" } | ||
camelia | rakudo-moar e27032: OUTPUT«failed: (HANDLED) oops in sub foo at /tmp/TzRxtu1jYc:1 in block <unit> at /tmp/TzRxtu1jYc:1» | ||
15:23
cdg joined
|
|||
lucasb | oh, a '(HANDLED)' gets prepended in the stringfication of a failure? | 15:24 | |
lichtkind | cheers | 15:25 | |
lucasb | m: fail; say 'hi' # <-- I think this is a serious one to get fixed before xmas, isn't it? | 15:26 | |
camelia | ( no output ) | ||
lucasb | I mean, someone will certainly put a fail in the toplevel scope and will not know what happened | 15:27 | |
15:28
skids joined
|
|||
jdv79 | but does fail make sense for a http ua? | 15:30 | |
Skarsnik | http ua does not fail | 15:31 | |
15:32
gtodd1 joined
|
|||
gtodd1 | .u 228E | 15:32 | |
yoleaux | U+228E MULTISET UNION [Sm] (⊎) | ||
15:33
gtodd1 is now known as gtodd
|
|||
jdv79 | Skarsnik: huh? | 15:33 | |
Skarsnik | my $rep = $ua.get($url);if ! $rep.is-success {die "Can't contact $url" ~ $rep.status-line; | ||
} | |||
lizmat | fetching a van& | 15:34 | |
15:36
lab joined
|
|||
gtodd | "U+" is Unicode "bootstrapping" itself from ASCII ? :-) | 15:36 | |
stackoverflow.com/a/8891122/2019415 unicode.org/mail-arch/unicode-ml/y2.../0060.html | |||
jdv79 | but thats not relevant to my question. | ||
i was asking if returning fail sounds like a good idea | 15:37 | ||
dalek | pan style="color: #395be5">perl6-examples: 34da7ab | (Zoffix Znet)++ | html/css/style.css: Fix: long code lines are hidden by the right margin (Closes #37) |
||
lab | Hi all. Is there a module equivalent to Devel::Size for P6? | 15:39 | |
jnthn | Not yet, though --profile includes information on how many objects are allocated and which subs/methods allocate them. | 15:41 | |
And also stats on garbage collectino. | |||
*collection | 15:42 | ||
Skarsnik | jdv79, I don't know, I don't know enought about http, but the request can fail but does not mean it's a failure, like you do a get, you can receive 404/403 that are failure but you can maybe get a redirect response too | ||
15:42
llfourn joined
15:43
PotatoGim joined
|
|||
hoelzro | jnthn: I guess the remaining issue for kill.t is that kill doesn't return a promise; should I RT that separately? | 15:44 | |
lab | jnthn: thanks, looking forward to some fun devel::XXX modules and htat one in particular. | 15:46 | |
15:46
lab is now known as nadim
15:47
llfourn left
|
|||
jnthn quite wants a "heap explorer" style tool also :) | 15:48 | ||
hoelzro: Does kill work asynchronously? | 15:52 | ||
hoelzro | jnthn: it sets up something to run in the cancel task queue, so it seems so | ||
15:52
jernster joined
|
|||
jnthn | ah, ok | 15:53 | |
Then yeah, it should | |||
15:54
lizmat left,
go|dfish left,
Hotkeys left,
lichtkind left,
DrPete_ left,
risou left,
jme` left
|
|||
timotimo | then the problematic code example should read $proc.write("hi").then(*.kill).then(*.write("oh my gosh")) ? | 15:54 | |
15:55
bpmedley left,
lizmat joined
|
|||
jnthn | timotimo: No, just with await before each line. :) | 15:55 | |
timotimo | pff. timtowtdi | ||
15:59
Hotkeys joined
16:00
ely-se left
16:07
risou joined
16:08
DrPete_ joined,
ely-se joined
16:09
lichtkind joined
16:13
go|dfish joined
|
|||
skids | I think the Supply work may have made $fh.watch.Promise not fire anymore. | 16:18 | |
16:19
ilbelkyr_ is now known as ilbelkyr,
donaldh left
|
|||
skids | watch.tap still works. | 16:20 | |
jnthn | The semantics of Supply.Promise changed | 16:21 | |
16:21
xpen left
|
|||
jnthn | You'll need $fh.watch.head(1).Promise to get the original ones | 16:21 | |
skids | Ah that would explain it. jnthn++ | ||
Hrm that doesn't seem to do it though. | 16:22 | ||
16:25
ely-se left,
zakharyas left,
ilbelkyr left
16:26
Ven left
16:27
ilbelkyr joined
16:28
Ven joined
|
|||
jnthn | Hm, head doesn't seem to be filing the "done" | 16:34 | |
16:34
Amnez777 joined
|
|||
zengargoyle missed the great POD debate of last nite. sigh. | 16:34 | ||
nine_ | There was a POD debate? | ||
16:34
nadim left
|
|||
zengargoyle | a lot of talk about Pod::ToHtml, Pod::Walker, item lists and such. | 16:36 | |
dalek | rl6-roast-data: f384ba5 | coke++ | / (9 files): today (automated commit) |
16:41 | |
16:43
gtodd left
16:44
risou_ joined
16:45
lucasb left
|
|||
nine_ | How can I get verbose output of the spectests? | 16:45 | |
16:46
Ven left,
go|dfish left,
lichtkind left,
DrPete_ left,
risou left,
Hotkeys left,
lizmat left,
jernster left,
skids left,
Axord left,
ilmari left,
isacloud left,
sftp left,
olinkl left,
corbyhaas left,
abaugher left,
diakopte1 left
|
|||
autarch | zengargoyle: if you want to take a look at my code, I'd appreciate feedback - github.com/autarch/perl6-Pod-NodeWalker and github.com/autarch/Pod-To-HTML/tre...nodewalker | 16:47 | |
jnthn | nine_: Not sure there's a Makefile entry for it, you'd need to run t/harness directly, and pass --verbosity=1 or so | ||
nine_ | ok | 16:48 | |
16:48
domidumont left
16:51
skids joined,
lizmat joined
|
|||
moritz | search for "loud" in the makefile | 16:52 | |
flussence | half of the old pod::to::html was my fault :D | 16:53 | |
16:56
gtodd1 joined,
go|dfish joined,
DrPete_ joined,
Hotkeys joined,
Axord joined,
ilmari joined,
isacloud joined,
sftp joined,
olinkl joined,
corbyhaas joined,
abaugher joined,
diakopte1 joined
|
|||
flussence | (I wish we'd had that ::NodeWalker module 5 years ago...) | 16:56 | |
zengargoyle | autarch: in DESCRIPTION: object that your[you] provide ; do something without[with] a Pod document without having to know | 16:57 | |
16:57
lichtkind joined
|
|||
autarch | zengargoyle: thanks, fixed | 16:57 | |
16:58
colomon left,
Begi joined
|
|||
autarch | flussence: I kind of assumed that OO wasn't really up to the task 5 years back or else PTH would not be written the way it was | 16:58 | |
moritz | OO was quite usable 5 years ago | ||
16:58
abraxxa left
|
|||
TimToady | it was usable 10 years ago if you didn't need a MOP :) | 16:59 | |
jnthn | Was gonna say, that was one of the earlier things to be in decent shape. :) | ||
ooh, a TimToady :) | |||
TimToady hides behind a cricket | |||
zengargoyle | i'm sorta less concerned about various processing methods, more about specification things at the moment. luckily most of the hard POD stuff isn't in roast so isn't set in stone at christmas. :) | 17:00 | |
moritz | TimToady: uhm, 10 years ago we only had pugs, and that barely; I don't think it was very usable | ||
jnthn | :) | ||
TimToady | but it did OO | ||
jnthn | The cricket? | ||
flussence | autarch: it was more a case of refactoring itself being horrible; the only real world user we had was S26.pod, and rendering that took about half an hour | ||
jnthn | oh | ||
jnthn should learn to read :) | |||
TimToady: When you get to backlogging, there's a few I/O API cleanups I proposed to address 4ish RTs that you may like to glance over. | 17:01 | ||
17:02
xfix joined
|
|||
zengargoyle | TimToady: and when you're not pondering something terribly important... i'd like to pick your brains on POD if you have any thoughts.. | 17:02 | |
TimToady tries to delegate all the POD stuff :) | |||
(except insofar as it relates to syntax) | |||
zengargoyle | well sorta syntax... like it seems =finish has morphed into __DATA__ and unspecial blocks are treated as paragraphs. | 17:04 | |
17:04
zacts left
|
|||
TimToady | I'd think a __DATA__ thing should be conveyed by =data | 17:06 | |
(and I've never particularly liked =finish, maybe it should be =eof) | |||
zengargoyle has been meaning to write up a current implementation vs S26 doc to try and figure out what's supposed to be and what isn't. | 17:07 | ||
well spec is =finish is the same as a <<=begin pod>> that doesn't end. implying that =finish if full of POD documentation. | |||
[Coke] | messages? | ||
yoleaux | 13:30Z <lizmat> [Coke]: maybe the contributor list for 2015.12 should contain *all* contributors we can cull from the git logs ? | ||
TimToady | but as for reducing the impedance mismatch of Pod and various rendering engines, I haven't much of a clew, just a crew :) | 17:08 | |
[Coke] | lizmat: Or another sentence indicating that this is just one month and we're going on 15 years of hacking. | ||
lizmat | [Coke]: so also from *way* back ? | ||
17:08
pmurias joined
|
|||
lizmat | well, maybe both ? | 17:08 | |
seems to me there are many more people on whose shoulders we are standing now that should be mentioned for 6.c | 17:09 | ||
zengargoyle | and it seems to me that <<=unknownthing>> are useless to post-processing if they're treated like Paragraph blocks and munged/folded like regular Para. | ||
17:09
domidumont joined
|
|||
lizmat | m: say my $ = do { 1 until 42 } # not sure what this should say, but the current error is LTA | 17:10 | |
camelia | rakudo-moar e27032: OUTPUT«Cannot call method 'gist' on a null object in block <unit> at /tmp/PIOFzX_vXh:1» | ||
TimToady | I would not be against listing everyone who contributed to pugs/parrot/niecza as well, since we learned a great deal from those projects, and this is more of a language release than a compiler release | 17:11 | |
17:12
abraxxa joined,
pdcawley_ left
|
|||
TimToady prefers to err on the side of inclusiveness... | 17:12 | ||
gtodd1 | inclusiveness++ | 17:13 | |
jnthn | +1 | ||
gtodd1 | espcially for Christmas :-D | ||
17:13
gtodd1 is now known as gtodd
|
|||
TimToady | and if anyone asks to have his name removed, we'll refuse :) | 17:13 | |
gtodd | what about tricking famous people to contribute and then including their names ? :-D | 17:14 | |
TimToady | well, we gave Guido a commit bit, but he never did anything with it :) | 17:15 | |
well, he threw a cream pie, I guess | |||
we could thank him for that :) | |||
gtodd | ha | ||
zengargoyle | maybe a case for <<=data>> in a <<=finish|end>> being like <<=finish>> in not needing termination to cover the __DATA__ usage where you can just `echo new data >> file.p6` to append. | ||
jnthn bbl | 17:16 | ||
TimToady | how 'bout =eof pod|data|comment where the default is comment | ||
timotimo | that's ... a bit weird | 17:17 | |
"end of file pod"? | |||
TimToady | and =eof pod would allow a subsequent =eof data or =eof | ||
=eof <mumble> says there's only <mumble> from here to end-of-file | 17:18 | ||
timotimo | ah ... hmm. | ||
TimToady | and to the code parser, it's an effective EOF | ||
17:18
lizmat_ joined
|
|||
zengargoyle | =pod :to<eof> ; =data :to<eof> ; =comment :to<eof> | 17:18 | |
timotimo | so <![a]> must also be allowed to match before \n=eof? :) | ||
TimToady | =eof is just a =begin that doesn't need an end | 17:19 | |
17:19
vytas left
|
|||
timotimo | so let's call it =endless :D | 17:20 | |
TimToady | I don't see a need for a :to | ||
17:20
Skarsnik_ joined
|
|||
dalek | kudo/nom: 61ea661 | lizmat++ | src/core/Range.pm: Implement Range.rand, as suggested by pmichaud++ |
17:20 | |
TimToady | well, there are other possibilties =code =fini =owari :) | ||
zengargoyle | yeah, =eof == unclosed =begin makes sense. | 17:21 | |
TimToady | =終 | ||
dalek | kudo/nom: c33fdac | coke++ | docs/announce/2015.12.md: lizmat++'s idea of listing EVERYONE |
17:22 | |
TimToady | er s/'code='/=coda/ | 17:23 | |
but I still kinda lean toward =eof | |||
timotimo | why the hell doesn't =over mean the same as =eof? :P | ||
zengargoyle | should <<=data Abbreviated Form>> include the newline when used as $=data[N] | ||
JimmyZ | and repo specs? ;) | 17:24 | |
[Coke] | is 唐鳳 Audrey ? | ||
JimmyZ | since specs is not in mu :) | ||
TimToady | yes | ||
17:24
pnu left,
Skarsnik left,
lichtkind left,
ilbelkyr left
|
|||
zengargoyle | and trim leading spaces or not? | 17:24 | |
TimToady | zengargoyle: my yes was to [Coke], dunno about your Q | 17:25 | |
17:25
lichtkind joined,
ilbelkyr joined
|
|||
zengargoyle | seems somewhow that =data Abbreviated/Paragraph/Block should be alike in leading space/trailing space/nl to be consistent. | 17:26 | |
17:26
Skarsnik_ left
17:27
skids left,
solarbunny left,
lizmat left
|
|||
dalek | kudo/nom: f302159 | coke++ | docs/announce/2015.12.md: Add authors from Pugs github.com/perl6/Pugs.hs |
17:28 | |
17:28
skids joined
|
|||
zengargoyle | specs make things like <<say $=data[0]>> seem weird if  | 17:28 | |
17:29
Skarsnik_ joined
|
|||
zengargoyle | is kept (double newlines) but makes it consistent when using just $=data (all un-keyed data as string) | 17:30 | |
guess =data Abbreviated could trim leading whitespace... use =for data or =begin data if you have a problem with that. | 17:31 | ||
Quom_ | jnthn, or someone, is this right? | ||
m: NQPLock.new.protect({ nqp::say("attempting to die: "); nqp::die("...") }) | 17:32 | ||
camelia | rakudo-moar f30215: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0fDARGF9j2Undeclared name: NQPLock used at line 1» | ||
Quom_ | nqp-m: NQPLock.new.protect({ nqp::say("attempting to die: "); nqp::die("...") }) | ||
camelia | nqp-moarvm: OUTPUT«attempting to die: » | ||
dalek | kudo/nom: 35f88bd | coke++ | docs/announce/2015.12.md: Add authors from niecza ... that weren't already listed github.com/sorear/niecza |
||
zengargoyle | then again <<=data Bob>> <<=data Alice>> keeping the  | ||
Quom_ | The latter is the cause of rt.perl.org/Ticket/Display.html?id=126724 | ||
zengargoyle | makes simple usage a bit odd... need to chomp... | ||
dalek | kudo/nom: 8228e7e | coke++ | docs/announce/2015.12.md: remove dupe author |
17:34 | |
zengargoyle | guess <<=eof data>> would best be accessed with $=data[*-1] ? | 17:35 | |
or maybe just $=eof since pod would get pushed to $=pod and comment would vanish.. | 17:36 | ||
17:36
pmurias left
17:37
Skarsnik_ left
|
|||
zengargoyle sorta thinks having =data support formatting codes that include static data like A<> E<> might be cool | 17:38 | ||
17:39
ilbelkyr left
17:41
ilbelkyr joined
|
|||
timotimo | Quom_: good catch; do you feel confident enough to propose a patch? | 17:41 | |
17:44
masak_grr is now known as masak
|
|||
skids | WRT inclusiveness is everyone who worked on "smop" listed already? | 17:45 | |
dalek | kudo/nom: 015965e | (Matthew Wilson)++ | docs/announce/2015.12.md: adapt my name |
17:46 | |
kudo/nom: 0de0671 | coke++ | docs/announce/2015.12.md: keep sorted |
17:48 | ||
TimToady | jnthn: I may be old-fashioned, but I think of listen and connect as having positional parameters, not that we have to stick with *nix culture necessarily, but a lot of people will expect a positional interface | ||
17:48
ZoffixWeb joined
17:49
espadrine left
|
|||
ZoffixWeb | Hey check it out :) github.com/edebill/modulecounts/issues/29 | 17:49 | |
diakopte1 | how does one pronounce коледа | ||
ZoffixWeb | And it's live already even: www.modulecounts.com/ | ||
diakopte1: en.wikipedia.org/wiki/Koliada | 17:50 | ||
17:50
diakopte1 is now known as diakopter
|
|||
diakopter | heh | 17:50 | |
17:52
xpen joined
17:54
nadim joined
|
|||
masak .oO( I learned the pronunciation from a коллега ) :P | 17:55 | ||
17:55
ilbelkyr left
|
|||
pink_mist thinks he gets that one :P | 17:56 | ||
diakopter | [Coke]: are you named from that | ||
17:57
xpen left,
kid51 joined
|
|||
TimToady | jnthn: everything else looks okay to me, don't really have a formed opinion on the print-async thing, unless maybe it should use "start" somehow instead, since we did s/async/start/ in the language | 17:57 | |
start-print maybe | |||
17:58
Peter_R joined
|
|||
TimToady | family stuff & | 17:58 | |
17:58
ilbelkyr joined
|
|||
timotimo | TimToady is stuffing his family for thanksgiving?! | 18:00 | |
18:00
[ptc] left
|
|||
diakopter | today is the day after | 18:00 | |
timotimo | oh, right | ||
18:01
lucasb joined
|
|||
timotimo | thanksgiving makes me cynical | 18:01 | |
18:03
[ptc] joined
18:04
xfix left,
skids left
18:05
xfix joined,
MadcapJake joined
18:06
lucasb left
|
|||
autarch | if I have a hash var and I want to pass that to a method that takes named ags, how does that work? | 18:06 | |
zengargoyle | |%whatever | 18:07 | |
18:07
Peter_R left
|
|||
moritz | autarch: obj.meth(|%hash) | 18:07 | |
autarch | moritz: thanks | ||
what does | do? | |||
zengargoyle | flatten | ||
pink_mist | flattens | ||
18:07
lucasb joined
18:08
skids joined
|
|||
zengargoyle | in argument lists |% goes to named |@ goes to positional as i grok it. | 18:08 | |
moritz | aye | ||
autarch | that makes sense | 18:09 | |
timotimo | and you can put named parameters after the flattening to override keys from the hash | 18:10 | |
jnthn | Quom_: No, that lock swallowing the exception thing looks wrong | 18:11 | |
autarch | how about if I have a method that takes named params and I want to pass them all on to another method? is there an equivalent of this in Perl 5 - "sub foo { my %p = @_; bar(%p) }" ? | ||
specifically, I want to define a "sub MAIN" with named params that are the same as an object's constructor params | 18:12 | ||
timotimo | you can just take *%foo as an argument | 18:14 | |
then you'll end up with a hash containing all named arguments that were passed | |||
autarch | timotimo: but then "script --help" isn't useful | 18:15 | |
I really want a Perl6 equivalent of MooseX::Getopt here | |||
moritz | autarch: you can do sub f(*%x) { g(|%x) } | ||
autarch | moritz: again, I need to actually name all the params for sub f here, because it's sub MAIN | 18:16 | |
moritz | autarch: if you want to pass on named and positional, sub f(|c) { g(|c) } | ||
timotimo | will the usage be correct if you multi sub MAIN(|c, :$key, :$val) { ... }? | 18:17 | |
18:18
lucasb_ joined
18:19
MadcapJake left,
Peter_R joined,
skids left,
skids1 joined,
Peter_R left,
Peter_R joined,
MadcapJake joined,
lucasb left,
nadim left,
nadim joined
|
|||
zengargoyle | somehow i'm remembering a problem with MAIN and slurpy... maybe i was doing it wrong at the time. | 18:19 | |
18:21
skids1 left,
skids joined
|
|||
lizmat_ | dinner& | 18:21 | |
18:21
pnu joined,
lizmat_ is now known as lizmat
|
|||
[Coke] | .seen quietfanatic | 18:22 | |
yoleaux | I saw quietfanatic 24 Nov 2015 04:13Z in #perl6: <quietfanatic> twitter.com/dadgumjames/status/668...4685376512 twitter.com/dadgumjames/status/668...7790566400 | ||
[Coke] | diakopter: don't know for sure, but it's very plausible, yes. Family emigrated from Belarus and anglicized the name about 3 generations back. | 18:23 | |
skids | .oO(anglicide) |
18:24 | |
18:28
solarbunny joined
|
|||
dalek | kudo/nom: f6fe538 | coke++ | docs/announce/2015.12.md: add parrot authors github.com/parrot/parrot |
18:29 | |
[Coke] | ok, that's enough of that for the moment. | ||
18:30
hankache joined
18:35
colomon joined
|
|||
autarch | what's the best API to use in order to thread no more than N operations at a time? For example, I have a list of 100 items and I want to do an operation on each with 4 threads active at a time. | 18:39 | |
or does the interpreter itself figure out the best number of threads to use and just DTRT? | 18:40 | ||
timotimo | if you use "hyper" then it will, you can tell it what number of things to batch and such | ||
moritz | the other method is to instantiate your own scheduler with max 4 threads | 18:41 | |
and then do a 'start' for each task, and the scheduler will use just those four threads | |||
autarch | so something like "for @list.hyper( :batch(4) ) -> $item { ... }" ? | 18:42 | |
timotimo | right | ||
i'm not sure if for just picks it up, i know it'll work with .map | |||
m: my @l = <1 2 3 4> X~ <foo bar baz>; @l.list.hyper(:4batch).map({ .say; sleep 1 }); | 18:43 | ||
camelia | rakudo-moar 0de067: OUTPUT«2bar3baz1foo2baz4foo1bar3foo4bar1baz3bar4baz2foo» | ||
timotimo | m: my @l = <1 2 3 4> X~ <foo bar baz>; @l.list.hyper(:4batch).map({ .say; sleep 0.5; say "wakeup" }); | ||
camelia | rakudo-moar 0de067: OUTPUT«2bar3baz1foowakeupwakeup4foo2bazwakeup1barwakeup4barwakeup3foowakeup1bazwakeup4bazwakeup3barwakeup2foowakeupwakeupwakeup» | ||
autarch | that's easy enough, thanks! | 18:44 | |
18:45
abraxxa left,
kid51 left
|
|||
moritz | m: my @l = <1 2 3 4> X~ <foo bar baz>; @l.list.hyper(:4batch).map({ .say; sleep 0.1; say "wakeup $_" }) | 18:47 | |
camelia | rakudo-moar 0de067: OUTPUT«2bar3baz1foowakeup 2bar2bazwakeup 3baz4foowakeup 1foo1barwakeup 2baz3foowakeup 4foo4barwakeup 1bar1bazwakeup 3foo3barwakeup 4bar4bazwakeup 1baz2foowakeup 3barwakeup 4bazwakeup 2foo» | ||
18:50
zacts joined
|
|||
dalek | kudo/nom: d310001 | coke++ | docs/announce/2015.12.md: don't forget these repos |
18:51 | |
kudo/nom: 22b4ea7 | coke++ | docs/announce/2015.12.md: consolidate 2 sections of authors |
|||
18:53
xpen joined
|
|||
autarch | is it just me is it weird that IO::Spec returns plain Str instead of IO::Path for its various operations? | 18:53 | |
skids | ISTR Spec is supposed to let you manipulate other-os filenames, and Path is your-OS-only. | 18:57 | |
Or something like that. | |||
18:58
xpen left
19:02
domidumont left
|
|||
autarch | skids: that's not how the docs make it seem | 19:04 | |
it seems like $*SPEC if your native OS and you should use | |||
use it* | |||
dalek | kudo/nom: 4dd8062 | coke++ | docs/announce/2015.12.md: consolidate 2 sections of authors |
19:06 | |
kudo/nom: c1ad9fe | coke++ | docs/announce/2015.12.md: de-asciify a name. |
|||
19:07
hankache left
19:08
rigsby joined
|
|||
ugexe | m: my $s = Supplier.new; $s.Supply.act: {.say}, done => {say "done"}; $s.emit(1); $s.done; | 19:10 | |
camelia | rakudo-moar f6fe53: OUTPUT«1» | ||
ugexe | m: my $s = Supplier.new; $s.Supply.tap: {.say}, done => {say "done"}; $s.emit(1); $s.done; | ||
camelia | rakudo-moar f6fe53: OUTPUT«1done» | ||
ugexe | .done is broken for .act | 19:12 | |
19:14
nadim left
19:15
zacts left,
nadim joined,
hankache joined
|
|||
hankache | is there any plan to make the windows installer automatically add C:\rakudo\bin to the PATH? | 19:16 | |
ugexe | m: my $s = Supplier.new; $s.Supply.interval(1); $s.tap{.say}; | 19:20 | |
camelia | rakudo-moar c1ad9f: OUTPUT«Invocant requires a type object of type Supply, but an object instance was passed. Did you forget a 'multi'? in block <unit> at /tmp/2KKV7iXPe9:1» | ||
jnthn | ugexe: Did act ever pay attention to done? | 19:21 | |
jnthn checks | |||
ugexe | jnthn: yeah | ||
autarch | any idea why File::Temp spits out weird warnings when run in a hyper op? gist.github.com/autarch/a701c62a40643169913f | 19:22 | |
19:23
AndyDee joined
|
|||
autarch | I'm guessing this is some sort of low-level bug of the sort I'd prefer to let someone else figure out ;) it seems to be working even when it spits out the warning | 19:23 | |
jnthn | eek, wait, it did it how... :) | ||
ugexe: Fixing. | |||
ugexe | m: Supplier.new.Supply.interval(1) | 19:26 | |
camelia | rakudo-moar c1ad9f: OUTPUT«Invocant requires a type object of type Supply, but an object instance was passed. Did you forget a 'multi'? in block <unit> at /tmp/qkgW162TtC:1» | ||
ugexe | is there a different way to do supply intervals now? | ||
lizmat | ugexe: Supply.interval is unchanged, afaik | 19:27 | |
jnthn | No, all the factor methods are still on Supply. Because they give you a Supply. | 19:29 | |
It's only code that did Supply.new that needs much changing. | |||
Testing .act fix now | |||
And already written a test for it :) | |||
ugexe | m: my $s = Supply.interval(1); $s.done # so how do i tell the supply im finished with it? | 19:30 | |
camelia | rakudo-moar c1ad9f: OUTPUT«Method 'done' not found for invocant of class 'Supply' in block <unit> at /tmp/wc28_jX4n_:1» | ||
19:32
spider-mario joined
|
|||
dalek | kudo/nom: 6403ca0 | jnthn++ | src/core/IO/Socket/INET.pm: Remove two empty methods. No point in pretending we support these things, then returning Nil. |
19:32 | |
kudo/nom: e42b109 | jnthn++ | src/core/Supply.pm: .act should support emit and done |
|||
jnthn | m: my $s = Supply.interval(0.5); my $tap = $s.tap({ say 42 }); sleep 2; $tap.close; sleep 2; | 19:33 | |
camelia | rakudo-moar c1ad9f: OUTPUT«42424242» | ||
jnthn | ugexe: That's the right way to turn things off. Calling .done to "inject" a message into the stream owned by another supply was never really an intended feature. In the case of doing it with an interval, you'd leak the timer and it'd go on emitting values to nowhere forever. | 19:34 | |
dalek | ast: 64f7ee4 | jnthn++ | S17-supply/act.t: Test :done argument to act. |
19:35 | |
19:43
zakharyas joined
|
|||
zengargoyle | hrm... adding «dd $tempfile;» in File::Temp gives interesting error: *** Error in `/opt/rakudobrew/moar-nom/install/bin/moar': double free or corruption (fasttop): 0x0000000005dab9a0 *** | 19:44 | |
19:44
hankache left
|
|||
dalek | kudo/nom: d091ca8 | coke++ | docs/announce/2015.12.md: add nqp authors & use sane temp format Put each author on a line; otherwise our sort contortions are insane. We'll combine this into a single list as part of the release, and can now easily sort and add more as we go. |
19:44 | |
zengargoyle | $tempfile is correct '"**********' for first 4 dd's, then the Use of Nil error followed by the moar Error. | 19:45 | |
$tempfile is set in tempdir() signature: tempdir($tmpl? = '*' x 10, ..., :$template = $tmpl) | 19:48 | ||
[Coke] hopes he didn't too eagerly turn github nicks into names. | |||
zengargoyle | maybe that isn't getting done correctly when hypering... | ||
setting $template outside of signature makes it get the Nil warning less often and sorta randomly and someties warning is incomplete... | 19:50 | ||
zengargoyle dunno | |||
19:53
_mg_ joined
|
|||
ugexe | thats a lot of dependence on side effects | 19:54 | |
and order | |||
zengargoyle | sometimes the $/.chars is returning 0. looks like the: $tempfile ~~ s/ '*' ** 4..* /{ dd $/.chars; @filechars.roll($/.chars).jo | 19:55 | |
ugexe | without looking at it i would wonder how it knows it can use a specific file name if you are using it in a hyper where the side effect order isnt guarenteed and thus any checks for file existence arent guarenteed to occur when you think they would if the effects were executed in order | ||
zengargoyle | the file is created with open ... :rw, :exclusive which should be atomic. if that fails it trys again. | 19:56 | |
if that somehow maps down to the system level open O_RW|O_WHATEVER ... | 19:57 | ||
ugexe | github.com/perlpilot/p6-File-Temp/...emp.pm#L17 | 19:58 | |
zengargoyle | that the next if $name.IO ~~ :e line? don't see an issue there, probably could be left out and just let the open fail. | 20:00 | |
seems it's just sometimes... $tempfile = '*' x 10; $tempfile ~~ s/ '*' ** 4..* /{ dd $/.chars; @filechars.roll($/.chars).jo | 20:02 | ||
seems it's just sometimes... $tempfile = '*' x 10; $tempfile ~~ s/ '*' ** 4..* /{ dd $/.chars; @filechars.roll($/.chars).join }/; # bah cut-n-paste | |||
$/.chars is 0 instead of 10.... | 20:03 | ||
when it should always be 10 assuming defaults | |||
jnthn | Hmm, rt.perl.org/Ticket/Display.html?id=126315 is curious | 20:04 | |
It claims that Moar sits in a loop when reading from sockets, but in fact it seems it only does one read. | |||
zengargoyle | dd [ $tempfile, $/.chars ]; # should not be: Array $var = $["**********", 0] | 20:05 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 8f6564e | (Zoffix Znet)++ | lib/ModulesPerl6/ (9 files): Use Mew instead of Moo/Mojo::Base for consistency and more concise code |
||
zengargoyle | seems regex / $/ is borkded over hyper. | 20:06 | |
wtf? : Array $var = $["PB_rmld5ng", 0] | 20:07 | ||
that looks like $template from another thread *after* substitution happened.. | 20:08 | ||
pretty much at the end of my diagnostic abilities. put «dd [$template,$/.chars]» inside the replacement block of File/Temp.pm:15 or on the next line and you can see that things aren't always what they should be. | 20:13 | ||
20:13
nadim left
|
|||
ugexe | jnthn: is there still a way to emit into the Proc::Async supplies without access to the Supplier itself? ie. `my $proc = Proc::Async.new("ls"); $proc.stdout.tap: {.say}; $proc.stdout.emit("xxx");` | 20:16 | |
autarch | zengargoyle: sounds like threading is a little buggy here - which is sad/scary because by threading the docsite generation I could make it _way_ faster | ||
20:16
zakharyas left
20:17
nadim joined
|
|||
timotimo | zengargoyle: you may want to give your multi-threaded code your own $/ variable? | 20:18 | |
jnthn | ugexe: No, you'll need to explicitly do it with .merge or so now | 20:19 | |
zengargoyle | m: sub foo() { my $x = "*" x 2; $x ~~ s/ "*" ** 1..* /{ "+" x $/.chars }/; $x}; (1..100).map({say foo}); | ||
camelia | rakudo-moar d091ca: OUTPUT«+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++…» | ||
timotimo | otherwise it may happen that multiple things share the same $/ scalar and that's bad | ||
jnthn | ugexe: What's the use case, ooc? | ||
zengargoyle | m: sub foo() { my $x = "*" x 2; $x ~~ s/ "*" ** 1..* /{ "+" x $/.chars }/; $x}; (1..100).hyper.map({say foo}); | ||
camelia | rakudo-moar d091ca: OUTPUT«++++++++++Use of Nil in string context++++++++++++ in block at /tmp/CWKir_YoI3:1++++++++++++++++Use of Nil in string context++++++ in block at /tmp/CWKir_YoI3:1++Use of Ni…» | ||
zengargoyle | timotimo: not my code :) | ||
timotimo | k | ||
zengargoyle | is File::Temp | ||
ugexe | jnthn: stdmuxing. i prefix every line from multiple processes with their file name to differentiate the otherwise jumbled lines from multiple process output | 20:20 | |
every stdout line^ | |||
er no sorry, thats a different thing. this is just for outputting the command that Proc::Async executed | |||
zengargoyle | the previous seems to be a minimal test case... considering randomness of failure. | 20:21 | |
ugexe | so everytime Proc::Async starts, it would .emit('perl6 -Ilib some-cmd') to show what was ran | ||
timotimo | m: sub foo() { my $/; my $x = "*" x 2; $x ~~ s/ "*" ** 1..* /{ "+" x $/.chars }/; $x}; (1..100).hyper.map({say foo}); | ||
camelia | rakudo-moar d091ca: OUTPUT«Potential difficulties: Redeclaration of symbol $/ at /tmp/Ks3yjL26N6:1 ------> 3sub foo() { my $/7⏏5; my $x = "*" x 2; $x ~~ s/ "*" ** 1..* ++++++++++++++++++++++++++++++++++++…» | ||
jnthn | ugexe: Hm, so you really want a supply concat. | ||
timotimo | hm, so it already has its own $/? | ||
jnthn | m: Supply.concat | ||
camelia | rakudo-moar d091ca: OUTPUT«Method 'concat' not found for invocant of class 'Supply' in block <unit> at /tmp/D2haGCSBYT:1» | ||
timotimo | yeah, because it's a sub | ||
jnthn | Which we should have but don't. | ||
ugexe | ah yeah | 20:22 | |
jnthn | I'll implement it, once I'm done writing tests for socket read vs recv... :) | ||
I fixed a nasty Proc::Async bug earlier today also, that could cause occasional data loss. | |||
zengargoyle | should i rakudobug that? | 20:24 | |
jnthn | zengargoyle: Yes, that's a really nice golf of it | ||
I can guess what it might be too | |||
20:27
TEttinger joined
20:31
nadim left
|
|||
zengargoyle | RT #126752 | 20:32 | |
dalek | ast: 647468a | jnthn++ | S32-io/socket-recv-vs-read.t: Tests for semantics of read and recv on sockets. |
20:38 | |
kudo/nom: 8430b22 | jnthn++ | t/spectest.data: Run S32-io/socket-recv-vs-read.t. |
20:39 | ||
20:40
nadim joined
20:41
p6curious joined
|
|||
MadcapJake | I have a working linter plugin for Atom github.com/MadcapJake/linter-perl6 | 20:43 | |
autarch | does anyone have an example of how Supply and Scheduler interacts in some real code? | ||
MadcapJake | It needs more errors supported. I could really use some help with this as I don't really know how to trigger many of the errors in rakudo/src/core/Exception.pm | 20:44 | |
moritz | MadcapJake: have you loooked into t/spec/S32-exceptions/misc.t ? | 20:47 | |
MadcapJake: it contains a great many examples | |||
MadcapJake: also, the docs at doc.perl6.org often include examples of how to provoke each error | |||
(though the tests are more comprehensive) | |||
MadcapJake | moritz: where is that spec file in perl6/spec or perl6/roast repo? | 20:48 | |
20:48
ZoffixWeb left
|
|||
moritz | MadcapJake: perl6/roast in S32-exceptions/misc.t | 20:48 | |
the other way round :-) | 20:51 | ||
lizmat | jnthn: if I find more problems in the SPW slides, should I still let you know ? | ||
20:52
nadim left
|
|||
jnthn | lizmat: yes, but maybe collect them and mail them to me | 20:52 | |
lizmat | yup, will do | ||
nits like .WHAT # Str instead of (Str) | |||
that kinda stuff | |||
MadcapJake | moritz: how do i read these throws-like statements? just copying into a file, I'm not getting any syntax errors printed (it has to be something caught by `perl6 -c`) | 20:54 | |
i even tried placing a block of em into a `BEGIN` block | 20:55 | ||
wait nvm, I am getting something | 20:56 | ||
no, that's incorrect, I am *not* getting something xD | 20:57 | ||
timotimo | MadcapJake: can you put up a screenshot or two? :) | ||
MadcapJake | yeah sure! | ||
timotimo | mhhh | ||
i don't have a tom | |||
moritz | MadcapJake: for example throws-like 'my $a::::b', X::Syntax::Name::Null; | ||
MadcapJake: means that the string my $a::::b as a program will throw an exception of type X::Syntax::Name::Null | 20:58 | ||
m: my $a::::b | |||
camelia | rakudo-moar 8430b2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/djtjXD5o6DName component may not be nullat /tmp/djtjXD5o6D:1------> 3my $a::7⏏5::b» | ||
moritz | m: try EVAL 'my $a::::b'; say $!.^name | ||
camelia | rakudo-moar 8430b2: OUTPUT«X::Syntax::Name::Null» | ||
zengargoyle | not sure if -c will get you exceptions in all cases... | ||
MadcapJake | sweet! what's the third paremeter mean? e.g., `throws-like { Buf.new().Str }, X::Buf::AsStr, method => 'Str';;` | ||
20:59
bitmap left
|
|||
moritz | MadcapJake: that's more criteria for which we test the exception | 20:59 | |
MadcapJake: in this case, that $!.method eq 'Str' | |||
21:00
bitmap joined
21:01
yqt joined
|
|||
MadcapJake | timotimo: twitter.com/MadcapJake/status/6703...4761751552 | 21:03 | |
jnthn | MadcapJake: Wow! :D | ||
MadcapJake | Right now it just catches X::Syntax::Confused, X::Undeclared, X::Undeclared::Routine, and X::Parameter::Twigil, but I'm working on a generic one | ||
timotimo | neat | 21:04 | |
jnthn | MadcapJake: btw, did you see the highlighter issues I mentioned a few days back? | ||
MadcapJake | oh no, i missed it! what is it? | ||
jnthn | irclog.perlgeek.de/perl6/2015-11-21#i_11578807 | 21:05 | |
21:05
Skarsnik joined
|
|||
autarch | does this look like the correct pattern to iterate over an array of items with a fixed number of threads? gist.github.com/autarch/5ddae1da5bce447d45f4 | 21:05 | |
dalek | kudo/nom: b2e6ca0 | jnthn++ | src/core/IO/Socket/Async.pm: Change IO::Socket::Async reading API. To bring it inline with IO::Handle. You now just .Supply for chars, and .Supply(:bin) for bytes. Deprecations will be short lived, but may help somebody in the coming days. |
21:07 | |
ast: cfd61e5 | jnthn++ | S32-io/IO-Socket-Async.t: Chase API changes. |
|||
ugexe | sweet, i hated bytes-supply/chars-supply | 21:08 | |
autarch | it does seem to be working if I print out each item that is tapped - they're not in the original order which suggests that they're getting threaded | ||
21:09
kid51 joined
|
|||
MadcapJake | jnthn: thanks for putting it through the wringer! I'll get cracking on these right now. What did you mean by `And emit took.`? irclog.perlgeek.de/perl6/2015-11-21#i_11578814 | 21:09 | |
jnthn | oops | 21:10 | |
"And emit too" | |||
MadcapJake | ohhh lol | ||
moritz | on an unrelated note, I finally managed to patch a bug for $work that I simply couldn't leave be before the weekend (took me to 10pm) | ||
jnthn | MadcapJake: emit/done are keywords | ||
moritz: Eww. And congrats for nailing it. | 21:11 | ||
MadcapJake | alright! I'll get them added in as well. | ||
21:11
rindolf left,
vendethiel joined
|
|||
timotimo | moritz: damn, that sucks :( | 21:13 | |
diakopter | moritz++ # congrats, by 10 pm only! | ||
21:16
espadrine joined
|
|||
moritz | it was one of these "the fix is just around the corner", but the fix breaks something else, in several iterations | 21:21 | |
21:24
cdg left
|
|||
ugexe | star: my constant CAN-TEST = (try require Test) // False; say CAN-TEST | 21:26 | |
camelia | star-m 2015.09: OUTPUT«True» | ||
ugexe | m: my constant CAN-TEST = (try require Test) // False; say CAN-TEST | ||
camelia | rakudo-moar b2e6ca: OUTPUT«False» | ||
ugexe | which behavior is correct? | ||
m: say (try require Test); say (try require TestXXX); | 21:33 | ||
camelia | rakudo-moar b2e6ca: OUTPUT«(Test)Nil» | ||
21:33
Sgeo joined,
_mg_ left
|
|||
ugexe | m: say (try require Test) // False | 21:33 | |
camelia | rakudo-moar b2e6ca: OUTPUT«False» | ||
ugexe | i dont understand that | 21:34 | |
moritz | first of all, require always returns something undefined, so // False at the end just confuses you | 21:35 | |
second, FROGGS++ patched require to return the required type, but that wasn't very long ago | |||
certainly after star 2015.09 | |||
ugexe | yes, it happened sometime in the last week or so | 21:36 | |
moritz | commit 95558bb58e4f7ad47153c0b9c3f6e4e6f0179f5d | ||
Author: Tobias Leich [email@hidden.address] | |||
Date: Sat Nov 21 21:54:07 2015 +0100 | |||
make "require PAKAGE/STRING" return said PACKAGE/STRING | |||
21:36
kjs_ joined
|
|||
dalek | kudo/nom: c542888 | jnthn++ | src/core/IO/Socket/INET.pm: Give IO::Socket::INET connect/listen methods. For convenience and consistenty with IO::Socket::Async. |
21:37 | |
ast: 22c6057 | jnthn++ | S32-io/IO-Socket-INET. (2 files): Test .connect/.listen on IO::Socket::INET. |
|||
MadcapJake | What is `<?{ ... }>` in a regex? Is it a multiline block of regular perl6 code? | 21:38 | |
TimToady | it's evaluated as a zero-width assertion | 21:39 | |
<!{...}> is the negative assertion | |||
jnthn | But yes, it's Perl 6 code inside the block. | ||
TimToady | that returns something with a boolean interpretation, which is almost anything | ||
MadcapJake | cool, I don't think I was capturing either of those (or least it isn't working currently). | 21:40 | |
lucasb_ | moritz, ugexe: can't I use require in a runtime expression? | ||
m: say require Test | |||
camelia | rakudo-moar b2e6ca: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o8WrIHQdllUndeclared name: Test used at line 1Undeclared routine: require used at line 1» | ||
lucasb_ | m: say do { require Test } | ||
camelia | rakudo-moar b2e6ca: OUTPUT«(Test)» | ||
ugexe | m: say "ok" if (try require Test) ~~ ::("Test") # this newer way seems cumbersome | ||
MadcapJake | jnthn: thanks for the mention of this grammar.nqp file, lots of things to fix in there! | ||
camelia | rakudo-moar b2e6ca: OUTPUT«ok» | ||
21:41
kjs_ left
|
|||
jnthn | MadcapJake: Yes, the grammar for Perl 6 itself is a rather good stress test. ;-) | 21:41 | |
21:42
kjs_ joined
|
|||
moritz | m: say do require Test; | 21:42 | |
camelia | rakudo-moar b2e6ca: OUTPUT«(Test)» | ||
moritz | no need for braces | ||
lucasb_ | I just didn't understand why plain 'say require Test' sees Test as a subname | 21:43 | |
MadcapJake | jnthn: Atom takes a couple seconds to render all of it on my machine! I'm actually quite pleased with that, I wrote a grammar for an indentation-blocked language and it takes 5-10 seconds for files half as big as grammar.nqp | 21:44 | |
lucasb_ | oh, 'require' is a statement, not an expression... right? so it can't be used in an expression context... ? | 21:45 | |
moritz | right | 21:46 | |
and 'do' turns statements into expressions | 21:47 | ||
21:48
ZoffixMobile joined
|
|||
jnthn | Down to 27 xmas RTs. :) | 21:49 | |
ZoffixMobile | MadcapJake, isn't your linter kinda dangerous? BEGIN { *delete wrong dir by mistake* } | ||
jnthn++ sweet! | |||
MadcapJake | ZoffixMobile: yes I guess it is! Is there any way I can make it safer? Or should I put a warning or something? | ||
pink_mist | have it in a restricted setting? | 21:50 | |
ZoffixMobile | MadcapJake, no fix that I know of. I had a similar problem in P5's Test::Synopsis | ||
jnthn | Restricted setting may do it, in the longer run we'll want something to enforce such things VM-level. | ||
21:53
zacts joined,
lucasb_ left
|
|||
MadcapJake | pink_mist: how do I do that? | 21:54 | |
21:54
ZoffixMobile left
|
|||
pink_mist | ¯\(°_o)/¯ | 21:54 | |
21:55
xpen joined
|
|||
pink_mist | MadcapJake: I don't actually know perl 6 .. I just follow along with things mentioned in here so I've heard of stuff that's useful :P | 21:56 | |
MadcapJake | seems I would add `--settings=RESTRICTED` as a command line flag, is that accurate jnthn? | 21:57 | |
timotimo | yeah, something like that | ||
MadcapJake | cool, that's a simple fix then | 21:58 | |
22:00
xpen left
|
|||
jnthn | I think just --setting | 22:02 | |
22:02
nadim joined
|
|||
jnthn | uh, --setting=RESTRICTED | 22:02 | |
(not settings plural) | |||
timotimo | ah | 22:03 | |
i didn't see that little s there | |||
jnthn | :) | ||
jnthn realies that for the first time, we have less xmas RTs than we have days from now until Christmas day :) | 22:04 | ||
Zoffix | woohoo \o/ | ||
jnthn | *realizes | ||
Zoffix | *fewer :P | ||
22:04
kjs_ left
|
|||
jnthn | :P | 22:05 | |
jnthn just can't instinctively feel that distinction | 22:06 | ||
colomon | \o/ | 22:08 | |
Zoffix | jnthn, if it's countable, then it's fewer :) | ||
22:09
Begi left
|
|||
colomon | if it’s uncountable, it’s less? ;) | 22:09 | |
22:09
vendethiel left
|
|||
skids | .oO(less mess, fewer sewers) |
22:10 | |
colomon | fewer rationals, less irrationals? | 22:11 | |
Zoffix | fewer eggs and less milk, yes :) | ||
Time to go offline to drink beer and be productive hacking on stuff :) \o have a good night | 22:12 | ||
22:12
Zoffix left
22:13
vendethiel joined
|
|||
jnthn | .oO( maybe I should drink less beers...oh wait... ) |
22:13 | |
pink_mist | isn't it like this: "we have few RTs left" so -> fewer ... vs "we have little milk left" so -> less | ||
jnthn | pink_mist: Yes. :) | ||
22:13
p6curious left
|
|||
jnthn | pink_mist: For some reason, there's a bunch of cases where my brain doesn't feel like it wants to make the distinction, so I have to conciously think about it. Which at 11pm on IRC isn't that likely to happen. :) | 22:14 | |
pink_mist | right :P | 22:15 | |
22:15
molaf left
|
|||
jnthn | I wonder if it's partly dialect or something, and that I grew up around folks not caring about the distinction much. | 22:15 | |
It's also one way; "I should drink fewer beer" sounds obviously wrong to me. :) | |||
timotimo | "we are the borg. your distinctiveness will be added to our species" - "nope, no distinctiveness to be found here!" | 22:16 | |
pink_mist | well, beer is uncountable there ... 'beers' is countable though :P | ||
jnthn remembers a local supermarket making the news for putting up a sign by a checkout lane reading "10 items or less" :) | 22:17 | ||
huf | the distinction doesnt *really* exist | ||
and never has | |||
but it got entrenched as a thing so people worry about it | |||
pink_mist | doesn't "it got entrenched as a thing" imply it now does exist? =) | 22:18 | |
language does change | |||
huf | but not as an actual rule. just as a rule people think is a rule. | ||
autarch | jnthn: are you taking nominations for things to add to the christmas list? | ||
huf | some people obey it more than others, sure | ||
pink_mist | huf: who decides which rules are 'actual'? 0_o | 22:19 | |
huf | the fact that people so often get it "wrong" decides | 22:20 | |
pink_mist | I want to tipi his house | ||
jnthn | autarch: I'm trying to keep it as something we might realistically make it through. :) | ||
autarch | rt.perl.org/Ticket/Display.html?id=124393 is my nomination | ||
jnthn | autarch: The criteria is "semantic issue" and "we won't be able to easily fix it after 6.c" | 22:21 | |
autarch | hmm, probably doesn't qualify - it's just _really_ annoying but since it makes certain things impossible it won't cause anyone to do something that a fix will break later | ||
22:22
xfix left
|
|||
jnthn | It's certainly substantive and worth considering. | 22:23 | |
At some point, I need to do a pass through the RTs opened since I made the xmas list. | |||
Part of the consideration is "do we actually have the ability to do anything about this before 6.c" | 22:24 | ||
For this one it may be possible to deal with with relatively little work, which also helps. | |||
22:24
nmp left
|
|||
jnthn | Anyway, will consider it. | 22:24 | |
autarch | can someone explain what this error means - This Seq has already been iterated, and its values consumed | 22:25 | |
jnthn | A Seq is a one-shot source of values; that error shows up if you try to use it twice | ||
autarch | I'm really sure I haven't used it! | ||
jnthn | m: my @a = gather { .take for ^10 }; for @a { }; for @a { } # this is fine because list assignemnt copies into the array | 22:26 | |
camelia | ( no output ) | ||
jnthn | m: my \a = gather { .take for ^10 }; for a { }; for a { } # this isn't | ||
camelia | rakudo-moar c54288: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/MrqEHZm7oM:1» | ||
autarch | I'm calling .Supply on a variable, but I only do it once | ||
jnthn | Got an isolated exaple? | 22:27 | |
*example | |||
m: my \a = gather { .take for ^10 }; a.Supply.tap(&say) | |||
camelia | rakudo-moar c54288: OUTPUT«0123456789» | ||
autarch | jnthn: no, I'm having a hell of a time making one | 22:28 | |
22:28
cognominal left
|
|||
autarch | m: my %h = (:a(42)); %h.pairs.Supply.tap(&say) | 22:28 | |
camelia | rakudo-moar c54288: OUTPUT«a => 42» | ||
autarch | that's comparable to what I'm doing and of course it works there ;) | ||
nine_ | So there's some detail that's different and important | 22:29 | |
skids | Maybe there's an element being flattened that is a used-up Seq? | ||
autarch | aha, it's probably because I have $items.elems before I have $item.Supply? | ||
jnthn | nine_: How's things with the curi branch? | ||
autarch: Yes | |||
nine_ | autarch: it's easy to use up a Seq by accident. Debug output is one way :) | ||
skids | That'd do it. | ||
autarch | so what's the solution here? | 22:30 | |
jnthn | But .cache on the end of the expression that gives you the Seq | ||
*Put | |||
nine_ | jnthn: having a look at the tests. There's some failures that disappear when I run the files manually. Spectest output is still not verbose enough to be useful :/ | ||
jnthn | nine_: Urgh, ok. | 22:31 | |
22:31
telex left
|
|||
nine_ | It's hard to say if it's curli that's at fault. Haven't had a clean spectest in a long while :( | 22:31 | |
autarch | ok, looks like .cache did the trickl | 22:32 | |
22:32
david_cassel joined
|
|||
autarch | maybe the error message could recommend that? | 22:32 | |
jnthn | Yes, nice idea | ||
22:32
telex joined
|
|||
nine_ | I'm doing a run with TEST_JOBS=1. Seems to be the only way to get the full output. Will be interesting if the failures are still there. | 22:34 | |
jnthn wonders how to word it | |||
nine_ | "A Seq is a one-shot source of values. Use .cache or assign to an array to re-use to be able to re-use the values." | 22:36 | |
pink_mist | s/to re-use // | ||
(the first 'to re-use' that is) | 22:37 | ||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 216d712 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/GitHub.pm: Add docs for ModulesPerl6::DbBuilder::Dist::Source::GitHub |
||
nine_ | pink_mist: of course :) | ||
dalek | kudo/nom: fec2b52 | jnthn++ | src/core/Exception.pm: Add suggestion of .cache to Seq consumed error. autarch++ |
||
jnthn | Mentioned the array option too | ||
Feel free to wordsmith it | |||
Time for me to get some rest :) | 22:38 | ||
autarch | it'd be nice to find a way to say that "if you call methods like .X or .Y you have already exhausted the sequence" | ||
22:40
rvchangue left
|
|||
nine_ | autarch: or just a link to the documentation | 22:40 | |
autarch | nine_: yeah, that could work too | ||
I think a lot of this is just that I don't understand Array vs List vs Seq very well (at all?) in Perl 6 | |||
22:41
rvchangue joined
|
|||
skids | "Values already iterated from this Seq are gone... maybe you wanted to .cache them for re-use as a List, or assign them to an array?" | 22:42 | |
22:43
b2gills joined
|
|||
RabidGravy | gosh I appear to have soundcloud OAuth working, still a pain in the arse to test though | 22:44 | |
22:44
cognominal joined
22:46
cognominal left
22:52
kaare_ left
|
|||
MadcapJake | what are the postcircumfix parentheses on this non-captured group doing: <.malformed("$*SCOPE (did you mean to declare a sigilless \\{~$<ident>} or \${~$<ident>}?)")> | 22:59 | |
skids | passing the args to the rule. | 23:00 | |
MadcapJake | but i thought the `.` made it an uncaptured group? | 23:01 | |
skids | Right, but that does not mean the rule does not get called. | ||
MadcapJake | oh ok, but rules like that can take arguments then eh? | ||
skids | Yes they are essentially subs/methods. | 23:02 | |
MadcapJake | good to know, thanks skids! | ||
23:05
cognominal joined
23:09
BenGoldberg_ joined
23:16
uruwi left,
cognominal left
23:21
pecastro joined
23:30
Guest77425 is now known as parisba_
23:32
xpen joined
23:37
xpen left,
kjs1 joined
23:41
rurban left
|
|||
dalek | c: 8d3c195 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod: mention sigilless variables and 'is raw' for binding |
23:42 | |
doc: fe4b4a1 | (Wenzel P. P. Peppmeyer)++ | doc/Language/containers.pod: | |||
doc: mention and provide example for Proxy in Containers | |||
23:42
dalek left
23:43
dalek joined,
ChanServ sets mode: +v dalek
23:47
spider-mario left,
d4l3k_ joined
|
|||
diakopter cackles wildly at `purl` being listed as a contributor | 23:48 | ||
23:49
d4l3k_ left,
dalek left,
pnu left
23:52
b2gills left
23:53
kjs1 left
23:55
dalek joined,
ChanServ sets mode: +v dalek,
dalek left
23:57
solarbunny left,
BenGoldberg joined,
RabidGravy left,
lichtkind left
|
|||
lizmat | diakopter: I'm afraid the humour of 'purl' being listed as a contributor is lost on me | 23:58 | |
diakopter: would you care to elaborate ? | |||
23:58
yqt left,
yqt joined
23:59
BenGoldberg_ left
|
|||
diakopter | I thought purl was a bot | 23:59 | |
23:59
dalek joined,
ChanServ sets mode: +v dalek
|