»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
brokenchicken ok 00:00
BenGoldberg . o O (03●0)
AlexDaniel I was in the process of labeling stuff and got distracted…
BenGoldberg AlexDaniel, That's a green circle, right?
AlexDaniel BenGoldberg: looks green, yes!
u: ●
unicodable6 AlexDaniel, U+25CF BLACK CIRCLE [So] (●)
AlexDaniel wait, but that's black
brokenchicken Hah, that one looks white on my screen
BenGoldberg I cheated ;) 00:01
Irc color codes.
brokenchicken doh
AlexDaniel doh…
tricked me
brokenchicken :)
AlexDaniel: what's this stuff? The # >; Looks like fix for broken highlighting? github.com/perl6/whateverable/blob...le.p6#L135
AlexDaniel brokenchicken: yep, damn perl6-mode 00:02
brokenchicken Hm. Without it, it's actually not borken in Atom, but *with* it is is :}
AlexDaniel ha
brokenchicken It seem to think the comment is part of the quote words.
Now I know how it feels when I tell you patches welcome :P 00:03
.oO( except my code is perfectly readable, of course! )
00:04 espadrine_ joined
AlexDaniel brokenchicken: you want to add the number of results? This is the line: github.com/perl6/whateverable/blob...le.p6#L151 00:04
00:05 espadrine left
AlexDaniel it should return nothing 00:05
00:05 wamba left
AlexDaniel and instead do this: github.com/perl6/whateverable/blob...e.pm6#L297 00:05
brokenchicken Too hard! 00:06
brokenchicken goes back to playing video games :)
Oh, now I get what you mean....
AlexDaniel because if it returns a huge string it gets gisted automatically, and so you cannot really change the format 00:07
instead return nothing, and upload manually
brokenchicken I'd go with returning the thing, but with some meta data indicating what the response should be 00:08
AlexDaniel oh, that would be awesome!
brokenchicken k, will do it either tonight or tomorrow 00:09
AlexDaniel then, there's this thing: github.com/perl6/whateverable/blob...le.pm6#L52
and I dunno… perhaps it is a better idea to mix in some roles instead
brokenchicken IIRC you can return any object from an event and it'd reach the filter just fine (even if it's not "is Str") 00:12
00:12 labster joined
AlexDaniel yup, I think I wanted it to act like a Str when needed. But any kind of refactoring will be appreciated :) 00:14
brokenchicken ok
00:15 lmmx left 00:22 lmmx joined 00:23 rascipi joined, espadrine_ left 00:24 rascipi left 00:26 shayan_ left 00:27 lmmx left 00:51 aborazmeh joined, aborazmeh left, aborazmeh joined, mr_ron joined 00:55 shayan_ joined
SmokeMachine how do I write yada (...) on nap? 00:57
timotimo depends on what effect you want
... turns into warn "stub code executed" i believe 00:58
or maybe die "stub code executed"
SmokeMachine timotimo: die...
I just die?
is that message anywere? some kind of constant?
timotimo could be a typed exception 00:59
m: sub ow { ... }; try ow(); say $!.WHAT
camelia rakudo-moar 7f9703: OUTPUT«(StubCode)␤»
timotimo ah
m: die X::StubCode.new()
camelia rakudo-moar 7f9703: OUTPUT«Stub code executed␤ in block <unit> at <tmp> line 1␤␤»
timotimo like that
SmokeMachine StubCode!
thanks!
brokenchicken SmokeMachine: what's "nap"? 01:00
SmokeMachine brokenchicken: nap? where?
01:00 shayan_ left
brokenchicken SmokeMachi+│ how do I write yada (...) on nap? 01:00
timotimo supposed to be nqp
SmokeMachine ah! nqp!
brokenchicken Ah
SmokeMachine auto correction, sorry... 01:01
dugword m: my $foo; say "hello" if $foo == 0
camelia rakudo-moar 7f9703: OUTPUT«Use of uninitialized value of type Any in numeric context␤ in block <unit> at <tmp> line 1␤hello␤»
BenGoldberg doesn't understand why any programmer would have autocorrect turned on.
brokenchicken dugword: undef Numerics are zeros 01:02
more or less... I recall ranting about this while spotting a ton of bugs with the feature....
01:02 ufobat left
dugword brokenchicken: I don't know what you mean by that... 01:02
brokenchicken umm 01:03
Never mind. I'll wait for the question, I guess.
dugword Wait, I get what you mean.
01:04 itcharlie1 left
dugword $foo would be 0, so it is true. The question is, should that warn? 01:04
SmokeMachine "git grep StubCode src/Perl6/" only returns code on Action... when writing qast... :(
brokenchicken m: quietly .say for Int, Num, Rat, Complex
camelia rakudo-moar 7f9703: OUTPUT«(Int)␤(Num)␤(Rat)␤(Complex)␤»
dugword I feel like I am going to run into that situation a lot
01:04 itcharlie1 joined
brokenchicken m: quietly _say +$_ for Int, Num, Rat, Complex 01:04
camelia rakudo-moar 7f9703: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ _say used at line 1␤␤»
brokenchicken m: quietly say +$_ for Int, Num, Rat, Complex
camelia rakudo-moar 7f9703: OUTPUT«0␤0␤0␤0␤»
brokenchicken dugword: um, it *does* warn
"Use of uninitialized value of type Any in numeric context"
dugword right, should it?
brokenchicken dugword: you mean should it silently assume it's a zero? 01:05
SmokeMachine and it wasnt compiling because I
brokenchicken Definitely not. I'd go the other way: throw
SmokeMachine forgot the () on die...
brokenchicken looks for the aforementioned rant
hm... if only I knew what nick said it... 01:06
dugword Yeah, perl 5 quietly assumes it is a zero. Which doesn't mean it should, I just noticed that difference
brokenchicken dugword: if you write idiomatic perl 5, it warns the same. 01:07
dugword: here's my rant on the topic: irclog.perlgeek.de/perl6-dev/2016-...i_13767071
01:07 tardisx left
dugword Oh, so it does. If you have 'use warnings' turned on :) . 01:07
brokenchicken Or an exhibit of the bugs with this system, depending on how you wanna look at it :)
01:07 tardisx joined
dugword my apologies, I am up to my eyeballs in legacy code that relies on that behavior. Trying to port over some old perl 5 code 01:08
brokenchicken heh :)
dugword Seemed odd at the time, but thinking it through. Yes, warning makes much more sense. 01:09
01:14 labster left 01:18 aborazmeh left 01:23 kyan joined 01:33 aborazmeh joined, aborazmeh left, aborazmeh joined
SmokeMachine there's no examples os die with an object on nqp code... 02:00
and nqp::die(X::StubCode.new()) gives me: 02:01
www.irccloud.com/pastebin/AE1b2ZF9/
brokenchicken SmokeMachine: just die with "Stub code executed" or whatever 02:06
s: StubCode.new, 'CALL-ME'
SourceBaby brokenchicken, Something's wrong: ␤ERR: ===SORRY!=== Error while compiling -e␤Undeclared name:␤ StubCode used at line 6␤␤
brokenchicken s: X::StubCode.new, 'CALL-ME'
SourceBaby brokenchicken, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Nil (Nil)␤ in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤ in block <unit> at -e line 6␤␤
brokenchicken oh right
SmokeMachine: never mind.
02:07 curt_ left
brokenchicken s: &die 02:09
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7f97...ol.pm#L167
02:09 Herby_ joined
brokenchicken s: X::AdHoc.new, 'throw' 02:09
SourceBaby brokenchicken, Sauce is at github.com/rakudo/rakudo/blob/7f97...ion.pm#L53
Herby_ o/
brokenchicken SmokeMachine: that's prolly a clue: github.com/rakudo/rakudo/blob/7f97...pm#L53-L64 02:10
Herby_ Evening, everyone
brokenchicken \o
Herby_ anyone know of a tutorial/guide on slicing strings in p6? 02:11
ex: grabbing the first 5 characters, dropping the last character etc...
brokenchicken m: "12345654321".substr(5).say 02:12
camelia rakudo-moar 7f9703: OUTPUT«654321␤»
brokenchicken m: "12345654321".substr(5).substr(*-5).say
camelia rakudo-moar 7f9703: OUTPUT«54321␤»
brokenchicken m: "12345654321".substr(5).substr(0, *-5).say
camelia rakudo-moar 7f9703: OUTPUT«6␤»
Herby_ ah, that looks like what I'm looking for :)
m: "Drop the last character".substr(*-1) 02:13
camelia ( no output )
Herby_ m: "Drop the last character".substr(*-2).say 02:14
camelia rakudo-moar 7f9703: OUTPUT«er␤»
Herby_ m: "Drop the last character".substr(*-1).say
camelia rakudo-moar 7f9703: OUTPUT«r␤»
Herby_ :(
brokenchicken m: "1234567890".comb.kv.grep(*.key %% 2).map(*.value).join.say
camelia rakudo-moar 7f9703: OUTPUT«No such method 'key' for invocant of type 'Int'␤ in whatevercode at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: "1234567890".comb.pairs.grep(*.key %% 2).map(*.value).join.say 02:15
camelia rakudo-moar 7f9703: OUTPUT«13579␤»
02:15 tardisx left
Herby_ m: "Drop the last character".substr(0,*-1).say 02:15
camelia rakudo-moar 7f9703: OUTPUT«Drop the last characte␤»
Herby_ there we go
brokenchicken m: "Drop the last character".chop.say
camelia rakudo-moar 7f9703: OUTPUT«Drop the last characte␤»
Herby_ learn something new every day :)
brokenchicken m: "Drop the last character".chop(10).say
camelia rakudo-moar 7f9703: OUTPUT«Drop the last␤»
02:15 tardisx joined
Herby_ thanks, brokenchicken! 02:15
brokenchicken m: "Drop the last character".chop(14).substr(*-1, 'beat').say 02:16
camelia rakudo-moar 7f9703: OUTPUT«Earlier failure:␤ Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5beat' (indicated by ⏏)␤ in block <unit> at <tmp> line 1␤␤Final error:␤ Type check failed in assignment to $chars; expected Int bu…»
brokenchicken m: "Drop the last character".chop(14).substr(*, *-1 'beat').say
camelia rakudo-moar 7f9703: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in argument list; couldn't find final ')' ␤at <tmp>:1␤------> 3e last character".chop(14).substr(*, *-17⏏5 'beat').say␤ expecting any of:␤ infix␤ i…»
SmokeMachine brokenchicken: thanks!
Herby_ m: "remove spaces and drop last character".subst(/\s/,"").chop.say 02:18
camelia rakudo-moar 7f9703: OUTPUT«removespaces and drop last characte␤»
Herby_ m: "remove spaces and drop last character".subst(/\s/,"", :g).chop.say
camelia rakudo-moar 7f9703: OUTPUT«removespacesanddroplastcharacte␤»
Herby_ perfect
brokenchicken m: "remove spaces and drop last character".words.chop.say 02:19
camelia rakudo-moar 7f9703: OUTPUT«remove spaces and drop last characte␤»
brokenchicken :/ 02:20
ah, right
m: "remove spaces and drop last character".words.join.chop.say
camelia rakudo-moar 7f9703: OUTPUT«removespacesanddroplastcharacte␤»
Herby_ i figured there was a cleaner way to do it
brokenchicken m: .chop(14).substr-rw(*-1) = 'beat' andthen .say given $ = "Drop the last character" 02:22
It *does* have writable str?
camelia rakudo-moar 7f9703: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: .substr-rw(*-1) = 'beat' andthen .say given $ = "Drop the last character" 02:23
camelia rakudo-moar 7f9703: OUTPUT«b␤»
brokenchicken I see.
m: .= chop(14) andthen .substr-rw(*-1) = 'beat' andthen .say given $ = "Drop the last character"
camelia rakudo-moar 7f9703: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix .= instead␤at <tmp>:1␤------> 3.=7⏏5 chop(14) andthen .substr-rw(*-1) = 'bea␤»
brokenchicken m: $_ .= chop(14) andthen .substr-rw(*-1) = 'beat' andthen .say given $ = "Drop the last character"
camelia rakudo-moar 7f9703: OUTPUT«b␤»
brokenchicken m: $_ .= chop(14) andthen .substr-rw(0, *-1) = 'beat' andthen .say given $ = "Drop the last character"
camelia rakudo-moar 7f9703: OUTPUT«beat ␤»
brokenchicken -_- 02:24
Herby_ brokenchicken: if you're feeling adventurous, I have another question
02:24 tardisx left
brokenchicken m: $_ .= chop(14) andthen .substr-rw(*-1) = $_ ~ 'beat' andthen .say given $ = "Drop the last character" 02:24
camelia rakudo-moar 7f9703: OUTPUT«D␤»
brokenchicken m: $_ .= chop(14) andthen .substr-rw(0, *-1) = $_ ~ 'beat' andthen .say given $ = "Drop the last character" 02:25
camelia rakudo-moar 7f9703: OUTPUT«Drop the␤»
brokenchicken gah!
Herby_ I have a CSV. the only column I'm really concerned with is the final column. an example here: pastebin.com/SvqMp3Zf
i need to create a regex similar to Python's re.findall
brokenchicken buggable: eco Text::CSV
buggable brokenchicken, Text::CSV 'Handle CSV data. API based on Text::CSV_XS': github.com/Tux/CSV
Herby_ yep, I'm using a CSV parser. I'm getting stuck on the regex, to capture tuple I guess 02:26
02:26 mls joined
Herby_ I'd like to return: (250, W12345, FFP, E7777) from that cell 02:26
I can't figure out how to use a global match 02:27
02:27 labster joined
brokenchicken Herby_: what's "noise"? 02:27
Herby_ random characters: the format will always be VOLUME\nNOISE\nUNIT\nPRODUCT\nNOISE\nECODE 02:28
I want to return (volume, unit, product, ecode) 02:29
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777".lines[2,4,5,7].say
camelia rakudo-moar 7f9703: OUTPUT«(250 W12345 FFP E7777)␤»
Herby_ the final kicker is you could have that pattern several times in that cell. so I could return multiple matches of (volume,unit,product,ecode) 02:30
for that cell
i have the script working in python, using re.findall to grab the group of matches, but i'd like to convert it to p6 02:31
this is the barrier for me
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777".lines.elems.say
camelia rakudo-moar 7f9703: OUTPUT«8␤»
02:32 rindolf left
brokenchicken Herby_: so it'd be "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772" ? 02:33
Herby_ yep
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".match(/^ [\N+\n]**2 [ $<thing1>=\N+ \n \N+\n $<thing2>=\N+ \n $<thing3>=\N+ \n \N+\n $<thing4>=\N \n? ]+/).caps.say 02:37
camelia rakudo-moar 7f9703: OUTPUT«(thing1 => 「250」 thing2 => 「W12345」 thing3 => 「FFP」 thing4 => 「E」 thing1 => 「7777」 thing2 => 「noise」 thing3 => 「W123452」 thing4 => 「n」)␤»
brokenchicken something or other 02:39
hmmm 02:41
Herby_ i think that might get me on the right track
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".lines[2..*].lines[[2+$++,4+$++,5+$++,7+$++] xx *].say 02:42
camelia rakudo-moar 7f9703: OUTPUT«()␤»
02:43 lmmx joined
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".lines[2..*].lines[[2,4,5,7]].say 02:43
camelia rakudo-moar 7f9703: OUTPUT«(Nil Nil Nil Nil)␤»
brokenchicken All Nil?
dugword m: my @foo = [[1,2,3]]; dd @foo 02:44
camelia rakudo-moar 7f9703: OUTPUT«Array @foo = [1, 2, 3]␤»
dugword m: my @foo = [[1,2,3]]; say @foo[0][0]
camelia rakudo-moar 7f9703: OUTPUT«1␤»
SmokeMachine what does nqp::decont()? 02:45
dugword m: my @foo = [[1,2,3]]; say @foo[0][1]
camelia rakudo-moar 7f9703: OUTPUT«Index out of range. Is: 1, should be in 0..0␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
dugword Should that create a nested array?
02:45 ilbot3 left
Herby_ brokenchicken: thanks again for the help with strings, and that match. I think that'll get me headed in the right direction and I can try some things 02:46
brokenchicken No, singl arg rule.
m: my @foo = [[1,2,3],]; dd @foo
camelia rakudo-moar 7f9703: OUTPUT«Array @foo = [[1, 2, 3],]␤»
02:47 ilbot3 joined
brokenchicken something's weird going on... 02:48
m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".lines[2..*].lines[[0,2,3,5] xx *].say
camelia rakudo-moar 7f9703: OUTPUT«()␤»
brokenchicken m: <a b c d e f g h i j k l m n o p q>.[[0,2,3,5] xx *].say 02:49
Oh, doh.
Tis what rotor's for
camelia rakudo-moar 7f9703: OUTPUT«(timeout)»
brokenchicken Herby_: but wait! There's a better way! 02:50
02:51 curt_ joined
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".lines[2..*].rotor(1, 1 => 1, 1, 1 => 1).say 02:51
camelia rakudo-moar 7f9703: OUTPUT«((250) (noise) (FFP) (noise) (2502) (noise) (FFP2) (noise))␤»
brokenchicken Well, I thought this would work :/ 02:52
oh right >_<
Herby_ hmm
brokenchicken m: "Product components␤noise␤250␤noise␤W12345␤FFP␤noise␤E7777␤2502␤noise␤W123452␤FFP2␤noise␤E77772".lines[2..*].rotor(6)»[0,2,3,5].say
camelia rakudo-moar 7f9703: OUTPUT«((250 W12345 FFP E7777) (2502 W123452 FFP2 E77772))␤»
brokenchicken there we go
Herby_ hmmmmmm 02:54
gonna hop on the work laptop and give it a shot, thanks! 02:55
brokenchicken feels like there's a bugglet harding.. 02:56
m: my @a = 'a'..'z'; say @a[[0,2,3,5], [0,2,3,5], [0,2,3,5]][^3]
camelia rakudo-moar 7f9703: OUTPUT«((a c d f) (a c d f) (a c d f))␤»
brokenchicken m: my @a = 'a'..'z'; say @a[lazy [0,2,3,5], [0,2,3,5], [0,2,3,5]][^3]
camelia rakudo-moar 7f9703: OUTPUT«(e e e)␤»
brokenchicken Why does it numify them...
m: my @a = 'a'..'z'; say @a[[0,2,3,5] xx 3][^3]
camelia rakudo-moar 7f9703: OUTPUT«((a c d f) (a c d f) (a c d f))␤»
brokenchicken curiouser and curiouser 02:57
m: [[0,2,3,5] xx *][^3]
camelia ( no output )
brokenchicken m: [[0,2,3,5] xx *][^3].say
camelia rakudo-moar 7f9703: OUTPUT«([0 2 3 5] [0 2 3 5] [0 2 3 5])␤»
SmokeMachine Why when I do X::StubCode.new() it returns a NPQMu?
brokenchicken m: my @a = 'a'..'z'; say @a[ [0+$++,2+$++,3+$++,5+$++] xx * ][^3] 02:58
camelia rakudo-moar 7f9703: OUTPUT«(timeout)»
brokenchicken m: say [ [0+$++,2+$++,3+$++,5+$++] xx * ][^3]
camelia rakudo-moar 7f9703: OUTPUT«([0 2 3 5] [1 3 4 6] [2 4 5 7])␤»
brokenchicken Ah, k; it hangs cause it numifies them and never gets to the end of the array. 02:59
m: say WHAT X::StubCode.new
camelia rakudo-moar 7f9703: OUTPUT«(StubCode)␤»
brokenchicken SmokeMachine: seems it's not?
BenGoldberg m: my @a = 'a'..'z'; say @a[ [[0+$++,2+$++,3+$++,5+$++] xx * ][^3] ]
camelia rakudo-moar 7f9703: OUTPUT«(e e e)␤»
brokenchicken bisectable6: m: my @a = 'a'..'z'; say @a[lazy [0,2,3,5], [0,2,3,5], [0,2,3,5]][^3] 03:01
bisectable6 brokenchicken, On both starting points (old=2015.12 new=7f97035) the exit code is 0 and the output is identical as well
brokenchicken, Output on both points: (e e e)
BenGoldberg m: my @a = 'a'..'z'; say @a[ [eager [0+$++,2+$++,3+$++,5+$++] xx * ][^3] ]
brokenchicken :/
BenGoldberg D'oh, that's gonna timeout
camelia rakudo-moar 7f9703: OUTPUT«(timeout)»
brokenchicken bisectable6: m: my @a = 'a'..'g'; say @a[lazy ^10][^3]
bisectable6 brokenchicken, On both starting points (old=2015.12 new=7f97035) the exit code is 0 and the output is identical as well
brokenchicken, Output on both points: (a b c)
brokenchicken oops
m: my @a = 'a'..'g'; say @a[lazy ^10][^3]
camelia rakudo-moar 7f9703: OUTPUT«(a b c)␤»
SmokeMachine brokenchicken: it's here: 03:02
github.com/FCO/rakudo/blob/punning...ng.nqp#L39
brokenchicken Looks like the lazy version makes an incorrect assumption about all the stuff given to it being a numeric
nqp: say(X::StubCode.new()) 03:03
camelia nqp-moarvm: OUTPUT«cannot stringify this␤ at gen/moar/stage2/NQPCORE.setting:713 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPCORE.setting.moarvm:join)␤ from gen/moar/stage2/NQPCORE.setting:702 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPCORE.setting.moarvm:say)␤ fr…»
brokenchicken nqp: say(X::StubCode.new().HOW.name(X::StubCode.new()))
camelia nqp-moarvm: OUTPUT«NQPMu␤»
brokenchicken nqp: say(X::StubYourMamma.new().HOW.name(X::WhatevsBruh.new()))
camelia nqp-moarvm: OUTPUT«NQPMu␤»
SmokeMachine brokenchicken: any advice? 03:04
03:04 labster left 03:05 curt_ left
brokenchicken SmokeMachine: it ain't got that class up in there. 03:06
SmokeMachine brokenchicken: so, how could I get the stub exception message?
brokenchicken SmokeMachine: you could try $*W.find_symbol(['X', 'SubCode']).new() 03:07
SmokeMachine do I have the $*W there?
brokenchicken TIAS
anothing thing to try is to stub it 03:08
03:10 dugword left
SmokeMachine brokenchicken: Cannot find method 'find_symbol' on object of type NQPMu 03:10
03:23 labster joined, tardisx joined, tardisx left 03:29 nowan left 03:34 nowan joined 03:41 lmmx left 03:46 Herby_ left 03:56 curt_ joined 04:05 aindilis left 04:09 tardisx joined 04:18 tardisx left 04:20 tardisx joined 04:53 tardisx left 04:57 flexibeast joined 04:59 dugword joined 05:01 tardisx joined 05:08 khw left 05:11 itcharlie1 left 05:17 azawawi joined
azawawi good morning #perl6 05:17
.tell RabidGravy Shorter code without get- and set- prefixes github.com/azawawi/perl6-gtk-scint...02-basic.t :) 05:18
yoleaux azawawi: I'll pass your message to RabidGravy.
05:21 azawawi left 05:22 CIAvash joined, vendethiel left, vendethiel joined 05:25 f3ew joined, llfourn joined, simcop2387 joined 05:38 Cabanossi left 05:40 Cabanossi joined
Geth oc: flexibeast++ created pull request #1139:
Add link to method `connect` in class `IO::Socket::Async`.
05:51
06:01 xtreak joined 06:04 Actualeyes left 06:08 bwisti left 06:21 xtreak left 06:24 Actualeyes joined 06:32 xtreak joined 06:34 grumble left 06:35 kyan left 06:37 grumble joined 06:38 geekosaur left 06:39 geekosaur joined 06:44 dugword left 06:49 RabidGravy joined 06:53 xtreak left 06:54 xtreak joined 07:02 bjz joined 07:04 holli_ left 07:05 darutoko joined 07:19 domidumont joined 07:27 cibs left 07:29 cibs joined 07:31 BenGoldberg left 07:33 BenGoldberg joined 07:35 raiph left 07:41 wamba joined 07:42 BenGoldberg left 07:50 aborazmeh left 07:55 dugword joined 07:56 xtreak left 08:03 dugword left 08:07 ufobat joined 08:17 zakharyas joined 08:19 Woodi left 08:20 Woodi joined 08:33 jonas1 joined 08:36 domidumont left 08:44 thayne joined 08:45 bjz left 08:46 TEttinger left 08:48 ufobat left 09:01 llfourn left 09:02 noganex joined 09:09 bpmedley left 09:14 ufobat joined
masak stray macro thought: it seems that a lot of macros I want to write in practice are of the form "macro moo only makes sense inside of a loop" 09:15
or inside some other context like that. a method or a grammar or whatever. 09:17
I've had this thought before, but it's now coming to the forefront
it reminds me a bit of AngularJS's `require: "^parentDirective"` 09:18
09:19 xtreak joined, dakkar joined
masak I think it's a healthy thought to consider context-y/container-y QNodes as exposing a kind of API to their descendant nodes, if they want 09:21
it's actually a suggestive way to explain both `next` and `this`
er, `self`. wrong language. 09:22
ETOOMUCHJAVASCRIPT
I need to blog about this.
09:31 cschwenz joined
andrzeju_ hello Perl6 09:34
cschwenz hello andrzeju :-) 09:36
DrForr Mornin'. 09:38
09:41 domidumont joined
timotimo Islamic Cyber Resistance Hacked blogs.perl.org22 Jan 2014, 01:00 ... 2363 emails leaked 09:42
09:45 domidumont1 joined, domidumont left
lizmat timotimo: que ? 09:48
isn't that old news?
timotimo yeah
i was just surprised to find my email is in there
lizmat ah 09:49
DrForr Good, I was worried there for a sec.
09:51 bjz joined 09:53 bjz_ joined 09:54 labster left 09:56 rindolf joined, bjz left 09:58 llfourn joined 10:03 llfourn left, azawawi joined
azawawi hi 10:03
github.com/azawawi/perl6-gtk-scint...-Editor.md # Documentation in progress :) 10:04
and tests github.com/azawawi/perl6-gtk-scint...02-basic.t :)
how can I specify Perl 6 highlighted code in POD6 (using Pod::To::Markdown)? 10:05
10:07 AlexDaniel left 10:08 domidumont1 left 10:26 g4 joined, g4 left, g4 joined
timotimo neat 10:28
10:35 domidumont joined 10:39 gregf_ joined 10:43 llfourn joined 10:46 thayne left 10:49 wamba left, domidumont left 10:50 domidumont joined, thayne joined
SmokeMachine I have a role (DateTime::Extended) that when applied to a object of type DateTime or Date gives new functionality to the object. 10:52
You can use it like: DateTime.now but DateTime::Extended 10:53
azawawi timotimo: thx 10:54
timotimo: hopefully it will be more useful to you than it was :) 10:55
SmokeMachine So I wrote a new way to use it. I added 2 methods on the role: DateTime and Date. That returns the type but DateTime::Extended
The idea is: DateTime::Extended.Date return a Date type with the new functionalities 10:57
But the DateTime role has some required methods... I mean: method required-method {...} 10:59
But a role with required methods cannot be punned 11:00
Because the generated class do not implement that methods... 11:01
What makes pun a role with required methods useless... 11:02
I'd like to change that...
I'd like to when punning a role with required methods, the generated class will implement those methods with stub code... 11:04
I wrote a PoC that almost do that (that's just not a stub yet) 11:06
github.com/FCO/rakudo/blob/punning...ng.nqp#L36 11:08
Do you think that could be changed? 11:09
11:12 llfourn left
jnthn I'm not particularly keen on making role punning have different semantics to "compose the role into an empty class" 11:18
That you can't pun a role with stubbed methods - because there's no way it's going to work usefully with the missing bits of functionality - seems reasonable to me. 11:19
And if it can work usefully, why are the methods stubbed rather than returning a default value?
11:20 thayne left
jnthn (And then classes that wish override them) 11:20
SmokeMachine It can work, for example in my case... the instance methods wouldn't work, but a class method works... 11:25
jnthn: ^^ 11:26
jnthn That still pretty much violates the usefulness of doing a role.
If is $obj ~~ TheRole or multi-dispatch to a candidate with the role, I expect to get something that meaningfully implements the role. 11:27
SmokeMachine I'm not trying to change the role... only the class that's going to be pinned...
It will! 11:28
11:29 kalkin- joined
SmokeMachine The class will implement the role! With stub code... 11:29
kalkin- hi #perl6
jnthn But "with stub code" is hardly implementing it, is it?
SmokeMachine It's just for the punned class everything else maintains the same... 11:30
jnthn Yes, I'm arguing I don't think it's reasonable to make the punned class special.
Perhaps split the instance and class methods out into separate roles?
timotimo you could have .^make_unfunny_pun
SmokeMachine jnthn: the stubcode I mean is the yada ...
jnthn Yes, I understood it that way. 11:31
SmokeMachine timotimo: the unfunny is with or without the stubs? 11:32
jnthn: the punned class isn't special... 11:33
m: role R {method r{...}}; class C does R {method r{..}} 11:34
camelia rakudo-moar babfc3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Preceding context expects a term, but found infix .. instead␤at <tmp>:1␤------> 3hod r{...}}; class C does R {method r{..7⏏5}}␤»
SmokeMachine m: role R {method r{...}}; class C does R {method r{...}}
camelia ( no output )
SmokeMachine C is exactly the same as if R was punned with that change... 11:35
jnthn: ^^ 11:36
jnthn Sure, but there you've very explicitly stubbed the method, and it's clear enough in the code that you've done so. Having that happen automatically just seems liable to make stuff fail later, when in the common case knowing earlier would seem more valuable. 11:37
SmokeMachine The code of the class punned will be equal to the role! 11:38
IMHO, it's even more readable...
The punned class will behave as if you changed the role keyword tô class 11:39
jnthn: makes sense? 11:47
jnthn I understand your argument, I just disagree with it.
Roles are units of re-use. Classes are units of instance management. 11:48
SmokeMachine It will still be... 11:50
11:52 wamba joined 12:00 wamba left
SmokeMachine IMHO pun a role with stub methods should generate a class with the stub methods or at least give an error: role with stub methods cannot be punned 12:09
12:11 mr_ron left
masak SmokeMachine: a better error message sounds resasonable -- but besides the wording, isn't that what happens already? 12:11
m: role R { method foo { ... } }; class C does R {}; say "alive"
camelia rakudo-moar babfc3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Method 'foo' must be implemented by C because it is required by roles: R.␤at <tmp>:1␤»
masak SmokeMachine: seems it is.
SmokeMachine: so, are you *only* arguing for a different error message? 12:12
lizmat m: role R { method foo { ... } }; R.new 12:13
camelia rakudo-moar babfc3: OUTPUT«Method 'foo' must be implemented by R because it is required by roles: R.␤ in any compose_method_table at gen/moar/Metamodel.nqp line 2832␤ in any apply at gen/moar/Metamodel.nqp line 2843␤ in any compose at gen/moar/Metamodel.nqp line 3015␤ in…»
SmokeMachine Yes, but I'd prefer the punned class with stub method...
lizmat masak: specifically that one, I guess
SmokeMachine lizmat: yes! That one! 12:14
m: role R { method foo { ... } }; R.^pun
camelia rakudo-moar babfc3: OUTPUT«Method 'foo' must be implemented by R because it is required by roles: R.␤ in any compose_method_table at gen/moar/Metamodel.nqp line 2832␤ in any apply at gen/moar/Metamodel.nqp line 2843␤ in any compose at gen/moar/Metamodel.nqp line 3015␤ in…»
12:15 wamba joined
masak yes, I agree those error messages are LTA 12:16
masak .oO( "Method 'foo' must be implemented by a type because it is required by... the same type!" )
12:16 mr_ron joined, cibs left
masak SmokeMachine: please open an RT for the LTA error message ;) 12:16
RT ticket* 12:17
SmokeMachine Why not implement the methods on the generated class? 12:18
12:18 cibs joined
masak what, you mean automatically? 12:19
isn't the problem that you're doing `R.new` *on the role itself*, the role doesn't have those methods implemented, and now you're asking it to behave like a concrete class and instantiate, but *it doesn't have the methods implemented* so it can't because it fails to compose? 12:20
I think I'm fully with jnthn on this one
and it seems to me you don't fully appreciate jnthn's argument, SmokeMachine 12:21
SmokeMachine masak: yes, I desagree... I think that pun would be much more useful if it implement the stub methods with stub code... 12:24
But np...
masak yes, the explanation you're offering right there tells me you don't fully understand the properties we're wanting to preserve with role composition 12:25
12:25 raschipi joined
SmokeMachine masak: so, could you explain to me again? Please? 12:26
12:26 bjz_ left
masak happy to 12:26
roles are in many ways a "fix" on class inheritance 12:27
class inheritance has a number of known failure modes, and roles try to be better than that
for example, when two methods conflict in the class inheritance chain, usually there's some kind of "first one wins" semantics; kind of a silent failure which can be very surprising and cause hard-to-detect bugs 12:28
compare that with roles, where you can't compose two or more roles with conflicting methods without getting a *compile-time* error (which you then have to resolve by explicitly giving your own method in the composing class) 12:29
the operative word here is "compile-time"
12:29 araraloren joined
masak roles can also be used as interfaces -- here, the contract is that if the role stubs a method, then the composing class has to provide an implementation 12:30
that error is also given at compile-time, with similarly good underlying reasons
azawawi starts working on Odoo::Client - Perl 6 is going ERP soon :)
masak SmokeMachine, your proposal would essentially remove some of those early compile-time composition errors, and make the same code fail at runtime instead. with no discernible benefit. 12:31
SmokeMachine masak: IMHO my proposal changes the behavior to DWIM... because if I'm punning a role I want to create a class like that role... 12:36
12:36 araraloren left 12:37 xtreak left
masak that's exactly what happens now 12:38
and when the role is *unsuitable on its own* to being composed into a class, the composition fails
in fact, we could catch this at compile time
`R.new` with R being a role with stubbed methods 12:39
12:41 araraloren joined
araraloren Hi guys, anyone know can NativeCall support c out parameters ? 12:42
SmokeMachine But roles with stub methods aren't unsuitable... you only needs to implement this methods... 12:44
raschipi araraloren: Isn't that a C++ thing? C does it with pointers.
SmokeMachine masak: I'd probably agree with you if that worked:
masak SmokeMachine: yes, but *you didn't implement them* before punning the role to a class
12:45 wamba left
araraloren raschipi, for example, a function with siganture int (char **ptr), it maybe modify *ptr . 12:45
raschipi araraloren: Perl6 knows how to pass pointers to native types: docs.perl6.org/language/nativecall...f_Pointers 12:47
SmokeMachine m: role R {method r{...}}; class R does R {method r{...}}
camelia rakudo-moar babfc3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Redeclaration of symbol 'R'␤at <tmp>:1␤------> 3role R {method r{...}}; class R does R7⏏5 {method r{...}}␤»
masak need `class C does R`
SmokeMachine I know...
raschipi araraloren: There's also a "Pointer" type, which can hold a pointer C gives us.
SmokeMachine But with the same name would be a way to workaround the (in my opinion) pun problem 12:48
araraloren raschipi, i know that, wait a moment , i write some sample code. 12:49
SmokeMachine masak: that's what I think should be the behavior of punned roles... 12:50
masak SmokeMachine: yes -- you think that against the received wisdom of how roles ought to best work ;)
SmokeMachine masak: I *cant* implement then before punning the role to class... 12:51
masak SmokeMachine: I'm trying really hard not to make my replies be "please stop and listen to why things are the way they are -- the reasons for that are pretty sane"
SmokeMachine: that's right, you can't
SmokeMachine: (so stop trying)
raschipi SmokeMachine: If you don't want the guarantees Roles give, why don't you use a Classe and be done with it? 12:53
SmokeMachine OK 12:54
raschipi: I want those guarantees! 12:57
araraloren raschipi, gist.github.com/araraloren/1ba08ad...6a639e993, please have a look at this code
SmokeMachine raschipi: I just wanted to pun a role with stub methods... 12:59
Like this: github.com/FCO/rakudo/blob/punning...ng.nqp#L36
raschipi: now I'm looking how to do that as a module... 13:00
Geth cosystem: f5274a15ce | (Ahmad M. Zawawi)++ | META.list
Add Odoo::Client

A simple Odoo ERP client that uses JSON RPC
raschipi SmokeMachine: do you want the restrictions or not? 13:01
SmokeMachine raschipi: I do! I just want to when punning (not "does"ing) the stub methods be auto created on the punned class 13:02
raschipi araraloren: sub xmode(CArray[Str] is rw) returns int32 is native('xmode') { * } ==> You need to tell it to pass a pointer. 13:03
SmokeMachine I'm not trying to fit a class on a role... I'm creating a class based on a role... it *should* fit the role! 13:04
I'm not saying this should fit:
raschipi SmokeMachine: That applies to classes, roles have aditional restrictions. 13:05
SmokeMachine m: role R {method r{...}}; class C {}
camelia ( no output )
SmokeMachine But this should:
m: role R {method r{...}}; R.^pun # I'm creating a new class, not trying to fit a existing one 13:07
camelia rakudo-moar babfc3: OUTPUT«Method 'r' must be implemented by R because it is required by roles: R.␤ in any compose_method_table at gen/moar/Metamodel.nqp line 2832␤ in any apply at gen/moar/Metamodel.nqp line 2843␤ in any compose at gen/moar/Metamodel.nqp line 3015␤ in a…»
araraloren raschipi, sorry, I can get your idea, sub xmode(CArray[Str] is rw #`( add rw ?? )) returns int32 is native('xmode') { * }
raschipi araraloren: Yes, adding "is rw" means you want to give C a pointer to the type, not the type itself.
SmokeMachine raschipi: what I'm saying is: a class created based on a role should fit that role! 13:08
raschipi SmokeMachine: No it doesn't, because you didn't fulfil the contract.
arnsholt m: role R { method r() { ... } }; class C does R {}; # Should also be broken 13:15
camelia rakudo-moar babfc3: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Method 'r' must be implemented by C because it is required by roles: R.␤at <tmp>:1␤»
arnsholt There ya go
That's what punning a role to a class does 13:16
13:17 ChoHag left 13:18 araraloren left 13:19 araraloren joined
raschipi SmokeMachine: You're creating a distinction that doesn't exist. "puning" is compositing a role into a class of the same name of the role. It's still compositing. 13:20
araraloren: Does my solution works as you expect? 13:21
araraloren raschipi, not working.
It's result same as my version. 13:22
13:22 domidumont left, ChoHag joined 13:23 domidumont joined 13:24 domidumont left
arnsholt araraloren: Perl 6 Str objects are immutable 13:24
13:24 domidumont joined
arnsholt To let the C code diddle strings, you'll have to encode the string before passing it in and decode the modified array coming back out 13:24
13:26 mszet joined
araraloren arnsholt, thanks, i will try it. 13:26
13:26 mszet left 13:28 xtreak joined 13:38 rindolf left, azawawi left 13:39 azawawi joined
araraloren arnsholt, raschipi Not working too, c modified string and perl6 side can not get original string . 13:40
raschipi araraloren: give us a pastie again, please 13:41
araraloren Maybe rakudo is not support that .
ok
13:44 wamba joined 13:45 pmurias joined
araraloren raschipi, gist.github.com/araraloren/1ba08ad...86a639e993 13:45
raschipi araraloren: You still need the "is rw". 13:46
araraloren add `is rw` is not working too.
13:47 curt_ left
arnsholt araraloren: Oh, you might need to call refresh or whatever the function is called (I forget) on the embedded array 13:54
Detecting changes done in the C code is non-trivial, so it doesn't always get picked up 13:55
araraloren arnsholt, any document about that?
arnsholt, I found a refresh sub github.com/perl6/specs/blob/master...pod[here], but seems not working too.. 13:58
14:09 xtreak left
araraloren arnsholt, raschipi I updated sample code gist.github.com/araraloren/1ba08ad...86a639e993 14:11
14:24 tadzik left, M-Illandan left, CIAvash[m] left, Matthew[m] left, dp[m] left, ilmari[m] left, xui_nya[m] left, mulk[m] left, Matias[m] left, wictory[m] left 14:49 Actualeyes left 14:51 azawawi left, g4 left 14:54 cschwenz left 14:59 mr-foobar left
lizmat m: say "\c[woman facepalming]" # now that we can do this, maybe a docs.perl6.org page about emoji support would be applicable ? 15:00
camelia rakudo-moar 2a7c27: OUTPUT«🤦‍♀️␤»
15:00 wictory[m] joined 15:07 tadzik joined, M-Illandan joined, Matthew[m] joined, ilmari[m] joined, dp[m] joined, xui_nya[m] joined, mulk[m] joined, Matias[m] joined, CIAvash[m] joined
DrForr Huh, [m] suffix - haven't seen that. 15:09
ilmari DrForr: the it's the matrix.org irc bridge 15:10
15:10 abraxxa left
ilmari[m] waves from riot.im via matrix.org 15:10
15:11 abraxxa joined 15:18 ab6tract joined
ab6tract o/ #perl6 15:18
yoleaux 24 Dec 2016 14:13Z <M-Illandan> ab6tract: there's something wrong with your post. The link to OO::Monitors appears to point nowhere
ab6tract hmm, think i fixed that :S
m: my @f = slow => "pair", know => "pair", no => "pair"; my %h := :{ |@f }
camelia rakudo-moar 2a7c27: OUTPUT«Type check failed in binding; expected Associative but got Block (-> ;; $_? is raw { #`...)␤ in block <unit> at <tmp> line 1␤␤»
ab6tract am i crazy or should i be able to do that? 15:19
15:19 abraxxa left
ab6tract use case: avoiding sorting by first creating an array that you can use to refer to later 15:19
ilmari DrForr: the M- prefix is also indicative of matrix.org bridging (they changed it to [m] a while back) 15:20
15:24 dugword joined 15:30 cdg joined 15:31 curt_ joined
ab6tract m: my @f = slow => "pair", know => "pair", no => "pair"; my %h := %( |@f ) 15:32
camelia ( no output )
ab6tract m: my @f = slow => "pair", know => "pair", (now) => "pair"; my %h := %( |@f ); dd %h 15:33
camelia rakudo-moar 2a7c27: OUTPUT«Hash % = {"Instant:1484580825.309945" => "pair", :know("pair"), :slow("pair")}␤»
15:33 cdg left
ab6tract yeah, so what's the deal? 15:33
15:33 cdg joined 15:34 abraxxa joined 15:35 mr-foobar joined 15:37 bpmedley joined, bpmedley left, bpmedley joined
SmokeMachine how can I augment Metamodel::RolePunning? 15:39
m: use MONKEY-TYPING; augment class Metamodel::RolePunning {method make_pun {say "OK"}}; role {}.new
camelia rakudo-moar 2a7c27: OUTPUT«===SORRY!===␤Cannot find method 'augmentable' on object of type Archetypes␤»
Geth oc: fa81febf50 | Alexis++ | doc/Language/5to6-perlfunc.pod6
Add link to method `connect` in class `IO::Socket::Async`.
15:47
oc: 6ad377c86e | (Zoffix Znet)++ | doc/Language/5to6-perlfunc.pod6
Merge pull request #1139 from flexibeast/master

Add link to method `connect` in class `IO::Socket::Async`.
oc: zoffixznet++ created pull request #1140:
List IO::Socket::INET as an option as well
15:51
oc: 03b48f85c0 | (Zoffix Znet)++ | doc/Language/5to6-perlfunc.pod6
List IO::Socket::INET as an option as well
oc: a9a29fa9e9 | (Zoffix Znet)++ | doc/Language/5to6-perlfunc.pod6
Merge pull request #1140 from zoffixznet/patch-2

List IO::Socket::INET as an option as well
15:51 ab6tract left 16:00 Ven left 16:02 Ven joined
perigrin w73 16:03
16:06 xzhao left 16:08 rindolf joined
SmokeMachine m: role {method ^pun {say "OK"}}.^pun # why this doesn't work and thinks its multi? 16:09
camelia rakudo-moar 2a7c27: OUTPUT«Potential difficulties:␤ Useless declaration of a has-scoped method in multi (did you mean 'my method pun'?)␤ at <tmp>:1␤ ------> 3role {method7⏏5 ^pun {say "OK"}}.^pun # why this doesn'␤»
16:10 _Vasyl left
SmokeMachine m: role {method ^pun {}} # why this doesn't work and thinks its multi? 16:13
camelia rakudo-moar 2a7c27: OUTPUT«Potential difficulties:␤ Useless declaration of a has-scoped method in multi (did you mean 'my method pun'?)␤ at <tmp>:1␤ ------> 3role {method7⏏5 ^pun {}} # why this doesn't work and th␤»
16:15 Ven left
SmokeMachine is it here? github.com/rakudo/rakudo/blob/d1c2....nqp#L4051 16:15
16:16 holli_ joined 16:18 Ven joined
SmokeMachine shouldn't that enter here? github.com/rakudo/rakudo/blob/d1c2....nqp#L4051 16:19
m: use nap; say nqp::can(role {}.HOW, "pun") 16:20
camelia rakudo-moar 2a7c27: OUTPUT«===SORRY!===␤Could not find nap at line 1 in:␤ /home/camelia/.perl6␤ /home/camelia/rakudo-m-inst-2/share/perl6/site␤ /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤ /home/camelia/rakudo-m-inst-2/share/perl6␤ CompUnit::Repositor…»
SmokeMachine m: use nqp; say nqp::can(role {}.HOW, "pun")
camelia rakudo-moar 2a7c27: OUTPUT«1␤»
16:20 CIAvash left 16:22 synopsebot6 joined 16:28 captain-adequate joined, araraloren left 16:29 Ven left
brokenchicken m: (^20)».say 16:32
camelia rakudo-moar 2a7c27: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤»
brokenchicken really wishes that were out of order.
People are teaching others the ». as a way to call a method on a bunch of things, without any mention of the autothreading business. 16:33
16:33 Ven joined
brokenchicken And it'd be easier to convince them to give full information if we had an actual example of the issues that'll appear once the autothreaded impl is done 16:34
SmokeMachine m: use nqp; say nqp::can(role {}.HOW, "add_meta_method") # thats why!
camelia rakudo-moar 2a7c27: OUTPUT«0␤»
Geth oc: 54faec717b | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
index >>.
16:36
16:38 Gasher joined 16:39 rindolf left 16:40 khw joined, ab6tract joined
ab6tract brokenchicken: not true. '>>' will preserve order of the outputs 16:40
even when it gets autothreaded
what is not guaranteed is order of execution 16:41
SmokeMachine should ParametricRoleHOW does MultiMethodContainer?
sorry! 16:42
brokenchicken ab6tract: and which part is not true?
SmokeMachine should ParametricRoleHOW does MetaMethodContainer?
ab6tract m: (^20)>>.say
camelia rakudo-moar 2a7c27: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤»
ab6tract that will always look like that
brokenchicken No it won't.
ab6tract yes, it will
brokenchicken hah
ab6tract where did you get this impression/
race and hyper are two different things
brokenchicken ab6tract: "ab6tract │ what is not guaranteed is order of execution"
ab6tract yes
brokenchicken You've just said it yourself. 16:43
ab6tract your case is too simple
the list order will be preserved
but if you were modifying the state of an object
your 11th execution might happen prior to your 9th execution 16:44
but it will always appear in the output as the 11th element
brokenchicken ab6tract: which would make 11th 'say' print its output prior to the 9th 'say'
16:44 domidumont left
brokenchicken The output is generated through the side-effect of the hypered method, not through the final order of the result. 16:45
16:46 Ven left, rindolf joined
ab6tract i don't know where you are getting this from 16:47
because it is not true
maybe in this very specific instance of .say
but even then it runs counter to the distinction between hyper and race 16:48
brokenchicken You're just confused about the code being executed.
jnthn reads and suspects "order of outputs" being ambiguous is the source of confusion
ab6tract ('a'..'r')>>.uc>>.say
brokenchicken And contradicting yourself.
16:48 dugword left
ab6tract m: dd ('a'..'r')>>.uc> 16:49
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3dd ('a'..'r')>>.uc>7⏏5<EOL>␤ expecting any of:␤ prefix␤ term␤»
jnthn hyper preserves the order of values in the result returned relative to the input
ab6tract m: dd ('a'..'r')>>.uc
camelia rakudo-moar 2a7c27: OUTPUT«("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R")␤»
ab6tract this will always be in that order
jnthn++
brokenchicken ab6tract: yes, because you're outputting the FINAL result
ab6tract: whereas ('a'..'r')».say does NOT
ab6tract brokenchicken: my apologies for not explaining myself properly
yes 16:50
correct
jnthn But it doesn't preserve the order of output in the sense of I/O
Probably best to avoid using the word "output" in the docs of this.
brokenchicken And therefore, it's output is not guaranteed to always be as .say for ('a'..'r') would
ab6tract brokenchicken: correct. again, sorry for the confusion 16:51
16:51 Ven joined
ab6tract and you are right, i was clearly contradicting mysel;f 16:52
brokenchicken huggable: hug someone 16:55
huggable hugs someone
ab6tract well, it was a nice gesture i guess.. 16:56
16:56 ab6tract left
brokenchicken :( 16:57
16:58 ab6tract joined, dugword joined
ab6tract that is an unfortunate bit of confusion there 16:59
16:59 ggoebel left
ab6tract and you are right that it will likely break a lot of ecosystem code 16:59
16:59 Ven left
timotimo who needs side-effects anyway 17:00
17:02 raschipi left, Geth left 17:03 Geth joined, ChanServ sets mode: +v Geth 17:04 ab6tract left
mst timotimo: the FDA's HR department 17:04
17:07 perlpilot joined
jnthn wrote a Perl 6 port-ish of the algo git uses for doing text file vs. binary file detection today, and figured it may as well go in a mdoule 17:07
But can't think of a non-awful name for it.
File::TextOrBinary mebbe 17:09
brokenchicken
.oO( Algo::Binnable... )
jnthn Text::Or::Binary # no! :P
Though I actually implemented it on Blob rather than a file... :)
But can add a file interface for the module too I guess :)
17:11 Ven joined
mst jnthn: Data::IsBinary::Heuristic ? 17:12
17:12 ggoebel joined
mst (that's not quite right but ...) 17:12
17:13 dugword left
jnthn Data::Text::Heuristic maybe 17:13
Though it's still a bit off
mst BinaryOrText::PlaceBetsNow
jnthn :P
Data::TextOrBinary I guess explains it OK 17:14
mst yeah
17:16 Ven left, zakharyas left 17:20 FROGGS joined
timotimo aha, Data:: is for modules that handle data 17:24
as opposed to modules that don't do anything with data
b2gills and Data::Data::Data:: is for modules that really really handle data 17:26
geekosaur Haskell has Data.Data.Data :p 17:27
(granted, only the first two are part of the module name)
17:29 mithaldu_ left 17:30 lmmx joined, mithaldu_ joined 17:31 Ven joined 17:32 dugword joined 17:40 evalable6 left 17:41 statisfiable6 left, bisectable6 left 17:44 dakkar left 17:47 jonas1 left 17:50 Actualeyes joined 17:51 setty1 left, domidumont joined 17:52 raschipi joined 17:59 Ven left
Geth cosystem: 2cb66fa477 | (Jonathan Worthington)++ | META.list
Add Data::TextOrBinary

  github.com/jnthn/p6-data-textorbinary
18:00
18:01 TEttinger joined, setty1 joined 18:03 Ven joined 18:11 ab6tract joined
ab6tract huggable: hug brokenchicken 18:14
huggable hugs brokenchicken
18:15 Ven left
mr_ron I don't see a directory or file in roast that tests regex basics like * + ** quantifiers and | | , | alternations. Anyone happen to know? 18:16
ab6tract it occurred to me that maybe i was not contradicting myself as much as i thought. the way i was initially looking at it is that >>.say coming out ordered -- while not actually guaranteed by >> -- is actually indicative of the underlying behavior of >> when used in _non-IO_ circumstances.
if that makes any sense :)
18:19 wamba left
ab6tract don't get me wrong, though! i was definitely contradicting myself by saying that the "output" would "always be like that" :) 18:21
mr_ron searched roast for "quantifier" and think I found what I was looking for
jnthn mr_ron: S05-mass/rx.t or something like that 18:22
ab6tract m: (4 xx 5) ==> .say # i guess that's where the feed operator could come in? 18:23
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Sorry, do not know how to handle this case of a feed operator yet.␤at <tmp>:1␤------> 3s where the feed operator could come in?7⏏5<EOL>␤»
18:24 Ven joined
dalek pan style="color: #395be5">perl6-examples: 57d30e5 | (Shlomi Fish)++ | categories/euler/prob125-shlomif.p6:
Add Euler #125. Works well.
18:27
18:28 cgfbee left
rindolf Hi all! Can you please review github.com/perl6/perl6-examples/bl...shlomif.p6 ? 18:28
mr_ron jnthn: 743 tests and only one with || in github.com/perl6/roast/blob/master...-mass/rx.t 18:29
18:30 Ven left, cdg left, cdg joined
raschipi m: (4 xx 5) ==> say 18:32
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 3(4 xx 5) ==> say7⏏5<EOL>␤Other potential difficulties:␤ Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant …»
18:33 Ven joined, ab6tract left
raschipi ab6tract: In this case you need map. 18:33
18:34 dugword left
mr_ron || has more tests in github.com/perl6/roast/blob/master...ernation.t 18:35
18:35 ufobat left
brokenchicken ab6tract, any side-effects—IO or otherwise—aren't guaranteed to be in order. The reason it comes ordered right now is because the actual autothreading isn't yet implemented. 18:40
18:40 andrzejku joined 18:41 UgJkA is now known as lahey, lahey is now known as UgJkA
raschipi rindolf: It can be made more idiomatic than that. 18:42
rindolf: you could at least try to cram some interesting features of the language in there to show off. 18:44
brokenchicken rindolf: superfluous quotes are superfluous: "$sum".flip eq "$sum" 18:46
andrzejku hey 18:47
offtopic questions here?
raschipi go ahead
brokenchicken And yeah, the example is as boring as apple pie. The palindrome could be checked via a subset, for example, to spice it up.
raschipi One can writre FORTRAN in any language, I guess. Which is allowed in Perl, of course. But he did ask for a critique. 18:48
pmurias lizmat: so @a.skip($n) would be @a[$n..*] but lazy? 18:49
andrzejku why if most women do cleaning, the mop was invented by men?
brokenchicken :S 18:50
raschipi andrzejku: wut?
brokenchicken andrzejku: I question valididty of your data.
andrzejku ?
I wonder why this happens 18:51
sorry guys just smoke a weed today x)
huf because people keep asking questions that lie
andrzejku it is not lie 18:52
it was invited by spain guy
raschipi It's not the data that's corrupted, it's the pipeline.
pmurias andrzejku: you mean the meta object protocol?
huf pmurias++ good attempt at derailing
andrzejku pmurias, no wet mop
18:53 cgfbee joined
andrzejku nevermind 18:53
brokenchicken andrzejku: the "most women do cleaning" is a nonsensical statement. 18:54
andrzejku: and I doubt there are any reliable sources for who first decided to wipe something with a wet rug... 18:55
raschipi brokenchicken: You're feeding the trolls. Let the guy clear his mind.
andrzejku raschipi, I am not troll just thinking 18:56
brokenchicken It's not the first time he's making sexist statements here. I don't want to just pretend it didn't happen. 18:57
raschipi Don't do drugs, people. It looks ridiculous.
moritz andrzejku: then please stop thinking on #perl6 while high
andrzejku moritz, ok sorry
sorry
brokenchicken andrzejku: here's an interesting thing to ponder: en.wikipedia.org/wiki/Time_dilation 18:58
18:58 dugword joined, cgfbee left
andrzejku brokenchicken, well thanks but I am going to do Perl today x) 19:00
19:00 Ven left, cgfbee joined
andrzejku to see things deeper than they are 19:00
19:02 lukaramu joined
rindolf m: 615.flip 19:02
camelia ( no output )
rindolf m: 615.flip ==> say
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> 03615.flip ==> say7⏏5<EOL>␤Other potential difficulties:␤ Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant…»
brokenchicken m: 615.flip.say 19:03
camelia rakudo-moar 2a7c27: OUTPUT«516␤»
perlpilot rindolf: I sometimes want that to work too
19:03 cgfbee left
rindolf perlpilot: ah 19:03
lizmat m: 615.flip ==> &say
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Sorry, do not know how to handle this case of a feed operator yet.␤at <tmp>:1␤------> 03615.flip ==> &say7⏏5<EOL>␤»
lizmat hmmm
m: 615.flip ==> &say() 19:04
camelia rakudo-moar 2a7c27: OUTPUT«516␤»
19:04 Ven joined
lizmat there you go :-) 19:04
brokenchicken \o/
perlpilot yeah, but all that extra syntax
lizmat m: &say()
camelia rakudo-moar 2a7c27: OUTPUT«␤»
19:04 cgfbee joined
lizmat m: note 19:05
camelia rakudo-moar 2a7c27: OUTPUT«Noted␤»
perlpilot huh. That's an odd thing for note to do.
brokenchicken m: 615.flip ==> say()
camelia rakudo-moar 2a7c27: OUTPUT«516␤»
lizmat brokenchicken++ 19:06
perlpilot: similar to:
m: die
camelia rakudo-moar 2a7c27: OUTPUT«Died␤ in block <unit> at <tmp> line 1␤␤»
lizmat m: warn
camelia rakudo-moar 2a7c27: OUTPUT«Warning: something's wrong␤ in block <unit> at <tmp> line 1␤»
perlpilot yes, I guess so. This is the first I've seen note's behavior in that regard, so it's a little surprising
lizmat one could argue that say() should say "Said" :-) 19:07
brokenchicken :D
perlpilot and put? ;)
lizmat m: put
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5===␤Argument to "put" seems to be malformed␤at <tmp>:1␤------> 3put7⏏5<EOL>␤Other potential difficulties:␤ Function "put" may not be called without arguments (please use () or whitespace to denote arguments, or &put to ref…»
lizmat m: put()
camelia rakudo-moar 2a7c27: OUTPUT«␤»
lizmat same as say()
dugword Should I be able to access a sub in a module using the full name. E.g. #./Foo.pm module Foo { sub bar {} }; #./somescript use Foo; Foo::bar(); This works when I declare the sub with "our", e.g. our sub bar{}, but this post makes it seem like I don't need to perl6advent.wordpress.com/2009/12/...exporting/
19:07 shayan_ joined
perlpilot dugword: subs are lexical (my) by default 19:08
lizmat dugword: something from 7 years ago is probably obsolete
19:08 domidumont left
perlpilot boggles a little bit that we've been doing the advent calendar for 7 years 19:08
lizmat perhaps we should add some DEPRECATED notices on these old posts ? 19:09
dugword so a sub within a sub is lexical to that sub? That's good to know, (and how I would want it, I've been using my sub everywhere)
perlpilot dugword: it doesn't hurt to be explicit
lizmat m: sub a() { sub b() { say "inner b" }; b }; sub b() { say "outer b" }; b 19:10
camelia rakudo-moar 2a7c27: OUTPUT«outer b␤»
lizmat m: sub a() { sub b() { say "inner b" }; b }; sub b() { say "outer b" }; a; b
camelia rakudo-moar 2a7c27: OUTPUT«inner b␤outer b␤»
lizmat dugword: ^^
geekosaur yes, subs changed from "our" to "my" default scope
19:11 andrzejku left
dugword Well thanks guys, couldn't figure out what I was doing wrong. 19:13
perlpilot dugword: btw, you don't want to use "is export"? 19:14
dugword They are helper functions and not part of the module API, but I wanted to setup tests to make sure they work as expected
is export with (:debug) or something would work
rindolf Hi all! How do I insert/add an element to a SetHash? It's not here - docs.perl6.org/type/SetHash.html 19:15
dugword but I thought that calling it by the full name would be easier. But that wasn't working and I had to figure out why :)
rindolf ah , I see, 19:16
%H{$item} = True;
perlpilot rindolf: or any true value. 19:17
rindolf perlpilot: yes
brokenchicken m: my $s = SetHash.new; $s<42>++; say $s 19:19
camelia rakudo-moar 2a7c27: OUTPUT«SetHash.new(42)␤»
raschipi m: my SetHash %h; %h = :item 19:20
camelia rakudo-moar 2a7c27: OUTPUT«Type check failed in assignment to %h; expected SetHash but got Bool (Bool::True)␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: my $s = SetHash.new; $s<42 45>++; say $s
camelia rakudo-moar 2a7c27: OUTPUT«Cannot resolve caller postfix:<++>(List); the following candidates␤match the type but require mutable arguments:␤ (Mu:D $a is rw)␤␤The following do not match for other reasons:␤ (Bool:D $a is rw)␤ (Bool:U $a is rw)␤ (Int:D $a is r…»
brokenchicken m: my $s = SetHash.new; $s<42 45> = 1, 2; say $s
camelia rakudo-moar 2a7c27: OUTPUT«SetHash.new(45, 42)␤»
raschipi m: my SetHash %h; %h = item => True
camelia rakudo-moar 2a7c27: OUTPUT«Type check failed in assignment to %h; expected SetHash but got Bool (Bool::True)␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken hm, that seems wrong
lizmat m: my %H := SetHash.new; dd %H; %H<a>++; dd %H; %H<a>--; dd %H # ++ and -- also work
camelia rakudo-moar 2a7c27: OUTPUT«SetHash.new()␤SetHash.new("a")␤SetHash.new()␤»
perlpilot raschipi: my SetHash %h; doesn't do what you think it does
m: my SetHash %h; dd %h; 19:21
camelia rakudo-moar 2a7c27: OUTPUT«Hash[SetHash] %h = (my SetHash %)␤»
raschipi m: my SetHash $h; $h = :item
camelia rakudo-moar 2a7c27: OUTPUT«Type check failed in assignment to $h; expected SetHash but got Pair (:item)␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken m: my %h{Int}; %h<42> = 42; dd %h
camelia rakudo-moar 2a7c27: OUTPUT«Hash[Any,Int] %h = (my Any %{Int} = IntStr.new(42, "42") => 42)␤»
raschipi I see.
geekosaur that really needs to be documented better
raschipi m: my $h = new SetHash; $h = :item
camelia rakudo-moar 2a7c27: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of C++ constructor syntax; in Perl 6 please use method call syntax␤at <tmp>:1␤------> 3my $h = new SetHash7⏏5; $h = :item␤»
raschipi m: my $h =SetHash.new; $h = :item
camelia ( no output )
brokenchicken The %h<42> syntax has an allomorph for the key, but using it with a SetHash, just uses the Int portion
perlpilot raschipi: What is this "new SetHash"?!? ;-) 19:22
brokenchicken for the hash key I mean
raschipi m: my $h =SetHash.new; $h = :item; say $h
camelia rakudo-moar 2a7c27: OUTPUT«item => True␤»
raschipi Works if one does know P6 xP
brokenchicken You're swapping SetHash with a Pair 19:23
19:23 darutoko left
raschipi Hum, swaps the type, not asigns. 19:23
19:23 dugword left
perlpilot raschipi: I guess assignment doesn't work like you think either. :) 19:23
brokenchicken ohhhh 19:24
m: my $s = SetHash.new; $s<42>++; say $s.keys[0].^name
camelia rakudo-moar 2a7c27: OUTPUT«IntStr␤»
brokenchicken m: my $s = SetHash.new; $s<42>++; say $s
camelia rakudo-moar 2a7c27: OUTPUT«SetHash.new(42)␤»
brokenchicken m: my $s = SetHash.new; $s<42>++; say $s.perl
camelia rakudo-moar 2a7c27: OUTPUT«SetHash.new(IntStr.new(42, "42"))␤»
brokenchicken I see.
raschipi Assigning a list of elements to a hash variable **first empties** the variable, and then iterates the elements of the right-hand side. If an element is a Pair, its key is taken as a new hash key 19:25
19:30 girafe joined 19:37 andrzejku joined 19:46 domidumont joined 19:52 rindolf left 19:54 rindolf joined
lizmat is working on the Perl 6 Weekly 19:57
19:57 dugword joined
lizmat please let me know anything of interest that you think I might have missed :-) 19:57
20:00 AlexDaniel joined, alimon left 20:01 benchable6 left, benchable6 joined, bisectable6 joined, ChanServ sets mode: +v benchable6, ChanServ sets mode: +v bisectable6, statisfiable6 joined
AlexDaniel brokenchicken: “really wishes that were out of order.” – see RT #130485 20:01
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130485
20:02 Ven left
AlexDaniel note that it was previously shuffled on purpose, but we lost it 20:02
20:02 bjz joined 20:03 evalable6 joined, alimon joined 20:05 Ven joined
brokenchicken mc: (^20)».say 20:06
committable6 brokenchicken, ¦«2015.12»: 0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19
brokenchicken mc: (^30)».say
committable6 brokenchicken, ¦«2015.12»: 0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29
20:06 Tonik joined
AlexDaniel not there 20:07
brokenchicken c: 2015.07 (^30)».say
committable6 brokenchicken, ¦«2015.07»: 29␤27␤25␤23␤21␤19␤17␤15␤13␤11␤9␤7␤5␤3␤1␤28␤26␤24␤22␤20␤18␤16␤14␤12␤10␤8␤6␤4␤2␤0
AlexDaniel yea
brokenchicken hah
20:07 FROGGS left
AlexDaniel c: 2015.09 (^30)».say 20:08
committable6 AlexDaniel, ¦«2015.09»: 0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29
AlexDaniel c: 2015.08 (^30)».say
committable6 AlexDaniel, ¦«2015.08»: Cannot find this revision (did you mean “2016.08”?)
AlexDaniel right… 20:09
geekosaur so, glr?
AlexDaniel github.com/rakudo/rakudo/commit/a5...45458185fe
20:10 mr-foobar left
Geth oc: 3d1db3af56 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Sub.pod6
shink Rakudos ego slightly
20:11
oc: 2640d9e10f | (Wenzel P. P. Peppmeyer)++ | doc/Type/Sub.pod6
state scoping rules for Sub
20:11 lmmx left
gfldex I believe I just wrote a paragraph that can only be understand by those who understood it. o.O 20:12
gfldex is not proud
raschipi Who is it aimed at? I'm a begginer and understood it. 20:13
20:13 mr-foobar joined
gfldex do you got a good grasp of scopes? 20:13
raschipi yeah, it's like a stack, isn't it? 20:14
I think I understand about scopes by learning a bit of assembler. 20:15
About naming and renaming registers and pushing and popping from the stack.
gfldex how would you write a closure in assambler?
20:16 Ven left
raschipi Well, it has to be possible. 20:16
It would probably work like OOP works in C, passing pointers to structs around. 20:17
20:17 alimon left
raschipi All the happines to you guys, I'm leaving. XOXO 20:18
20:18 raschipi left 20:21 alimon joined 20:24 vendethiel- joined, Ven joined 20:25 labster joined
perlpilot gfldex: I'm not sure why you specifically mention that an our scoped sub won't redefine a same-named outer sub. Is that someone's expectation? 20:25
20:26 vendethiel left
gfldex perlpilot: imagine you write a our scoped sub today in a fairly large file and in halve a years time you add a sub of the same name in the outer scope. That can lead to very subtile bugs if the signatures a non-trivial and not to dissimilar. 20:27
20:30 Ven left
gfldex and i hope my little hind may help finding such a bug 20:31
perlpilot I agree, I'm just not sure how this sentence really helps the programmer when that happens. 20:32
gfldex hint even, I don't really do deers
the programmer may look up the docs for C<our> (not yet in the index, will do that next) 20:33
i'm not happy how we doc scopes in general
20:34 domidumont left 20:39 Ven joined, avuserow left 20:40 avuserow joined
mst gfldex: seems like the sort of problem where a list of rules, followed by a boatload of examples, might be good 20:43
gfldex mst: i don't think so. If you don't understand the underlying principle the examples may not make it *click*. Learning by change sounds LTA to me. 20:46
maybe The Books will have to solve this problem
20:47 Ven left
gfldex s/change/chance/ 20:47
mst 'learning by chance' ? how is it chance if the rules are clearly spelled out above the examples, with the examples existing to illustrate the consequences of the rules?
gfldex but i'm drifting into the murky waters of politics it seams 20:48
20:49 Ven joined 20:50 wamba joined
perlpilot I don't know about "politics", but I'd like us to asymptotically approach the intersection of clarity and utility. 20:50
There's a bit of catch-22 with examples though ... sometimes the principle is understood through many examples. You never know though, how other people learn, so it's best to err on the side of verbosity IMHO 20:53
gfldex How the heck does one learn how to program computers anyway? It happend so slowly to me that I never realised that I happend to me.
perlpilot gfldex: I imagine this is why we have academic degrees in education. It's those people's job to "capture" the process and reveal it. 20:54
20:55 cdg left, Gasher left
gfldex i found folk with academic degrees in education seldomly able to do so 20:55
great teachers are rare
perlpilot That's because humans are a difficult bunch. (across many many axes) 20:56
gfldex: I've been told that I'm an excellent teacher, but I think they're wrong. I was an excellent teacher of algebra to my sister-in-law, but I doubt I'd be able to reproduce my success with her across more people. I just happened to find the right words to make things click for her. 20:57
My wife on the other hand is an excellent teacher. Period. If you throw her in a situation where she has to teach something she doesn't know anything about, she will learn as much as she can about the subject and then present it in many different ways depending on who she's teaching to 20:59
20:59 Gasher joined 21:02 Ven left, andrzejku left 21:04 bjz left 21:06 Ven joined
pmurias gfldex: isn't the learning how to program computers really different across people? 21:06
gfldex that may very well be 21:08
pmurias training large quanties of programmers doesn't seem to be a solved problem despite the EU try to throw money at it 21:11
21:12 lmmx joined 21:17 Ven left
pmurias gfldex: as a kid on the second attempt to learn programming I worked my way throught "Learning Perl" book (the first failed attempt was my dad showing me some stuff in LOGO) 21:17
21:22 labster left
lizmat and another Perl6 Weekly hits the Net: p6weekly.wordpress.com/2017/01/16/...turing-ok/ 21:24
samcv lizmat++ 21:25
21:26 Ven joined
samcv huggable, release 21:29
huggable samcv, nothing found
samcv NeuralAnomaly, release
NeuralAnomaly, help
NeuralAnomaly samcv, stats | blockers
samcv buggable, help
buggable samcv, tags | tag SOMETAG | eco | eco Some search term | speed
samcv i forget which bot told me when the next release was 21:30
moritz NeuralAnomaly: release
NeuralAnomaly: help 21:31
NeuralAnomaly moritz, stats | blockers
AlexDaniel NeuralAnomaly: stats 21:32
NeuralAnomaly AlexDaniel, [✘] Next release will be in 4 days and 7 hours. Since last release, there are 87 new still-open tickets (87 unreviewed and 0 blockers) and 324 unreviewed commits. See perl6.fail/release/stats for details
21:32 Ven left 21:33 bjz joined
AlexDaniel m: say "\c[woman gesturing OK]".chars 21:33
camelia rakudo-moar f67df8: OUTPUT«1␤»
AlexDaniel :O
so RT #127048 is now fixed? 21:34
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127048
21:35 labster joined 21:39 rindolf left
perlpilot Is the bot going to automatically cut a release too? :-) 21:39
lizmat AlexDaniel: afaik it's on samcv's radar ? 21:40
AlexDaniel well, all unicode issues are on samcv's radar 21:41
samcv uhm mostly AlexDaniel . not all the things in the emoji test file pass though
this is a new test
AlexDaniel ok!
samcv heh ;) AlexDaniel
run it yourself and see. though we pass almost all of them :)
well. idk there's a lot of tests
# Looks like you failed 275 tests of 1943 21:42
used to be like failed 1500 I believe
21:43 bjz left
samcv will reply to that RT with some info 21:43
21:43 lmmx left
AlexDaniel mc: my @x = lazy 1..3; my @y = lazy 6..9; say (@x X @y)[^10] 21:43
committable6 AlexDaniel, ¦«2015.12»: ((1 6) (1 7) (1 8) (1 9) Nil Nil Nil Nil Nil Nil) 21:44
AlexDaniel m: my @x = lazy 1..3; my @y = lazy 6..9; say (@x X @y)[^10]
camelia rakudo-moar f67df8: OUTPUT«No such method 'EmptyIterator' for invocant of type 'Rakudo::Iterator'␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel vOv
samcv m: Uni.new(0x1F3F3, 0xFE0F, 0x200D, 0x1F308).Str.uninames.perl.say
camelia rakudo-moar f67df8: OUTPUT«("WAVING WHITE FLAG", "VARIATION SELECTOR-16", "ZERO WIDTH JOINER", "RAINBOW").Seq␤»
samcv m: Uni.new(0x1F3F3, 0xFE0F, 0x200D, 0x1F308).Str.comb.».uninames.perl.say
camelia rakudo-moar f67df8: OUTPUT«(("WAVING WHITE FLAG", "VARIATION SELECTOR-16", "ZERO WIDTH JOINER").Seq, ("RAINBOW",).Seq)␤»
samcv weird how it breaks there. rainbow must have some odd properties it's not checking 21:45
AlexDaniel mc: my @x = lazy 1..3; say (@x X 4..7)[^10] 21:46
committable6 AlexDaniel, ¦«2015.12»: ((1 4) (1 5) (1 6) (1 7) (2 4) (2 5) (2 6) (2 7) (3 4) (3 5))
AlexDaniel m: my @x = lazy 1..3; say (@x X 4..7)[^10]
camelia rakudo-moar f67df8: OUTPUT«No such method 'EmptyIterator' for invocant of type 'Rakudo::Iterator'␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel bisect: my @x = lazy 1..3; say (@x X 4..7)[^10]
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=f67df8a). Old exit code: 0
lizmat AlexDaniel: github.com/rakudo/rakudo/commit/4386e77b39 # EmptyIterator
bisectable6 AlexDaniel, bisect log: gist.github.com/777b717d9ee92fe64d...c990f12d96
AlexDaniel, (2017-01-16) github.com/rakudo/rakudo/commit/8a...3534a07026
21:46 Ven joined
AlexDaniel lizmat: this won't fix the last issue, right? 21:47
lizmat checks
AlexDaniel lizmat: reading the weekly, I don't understand the change related to X and is-lazy 21:48
lizmat: just because something is lazy doesn't mean it is infinite, right?
lizmat no, just that the Iterator is marked "is-lazy"
generally that means that you cannot reify it completely 21:49
AlexDaniel m: say (1..3 X 5..9).WHAT
camelia rakudo-moar f67df8: OUTPUT«(Seq)␤»
AlexDaniel lizmat: so why was X changed?
“This is actually pretty nonsensical, as the left hand side of the X will only ever produce the first value, because the right hand side will never exhaust” 21:50
lizmat well, it's not changed, it's just that incorrect uses will now die
AlexDaniel what is an incorrect use?
lizmat m: 1..* X 1..*
camelia rakudo-moar f67df8: OUTPUT«WARNINGS for <tmp>:␤Useless use of "X" in expression "..* X 1.." in sink context (line 1)␤Can only have one lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel m: 1..* X (lazy 1..5) 21:51
camelia rakudo-moar 4386e7: OUTPUT«WARNINGS for <tmp>:␤Useless use of "X" in expression "..* X (lazy 1..5)" in sink context (line 1)␤Can only have one lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel so no, this change is wrong
21:51 azawawi joined
lizmat but why would you do a lazy 1..5 there ??? 21:52
why add the lazy there? That's a DIHWIDT
azawawi Perl 6 rocks... enterprise resource planning here we come... github.com/azawawi/perl6-odoo-clie...in.pl6#L55 :)
AlexDaniel what if I have something lazy that comes from somewhere else? Is it going to work in this case? 21:53
lizmat m: dd (1..* X~ 1..5)[^20]
camelia rakudo-moar 4386e7: OUTPUT«("11", "12", "13", "14", "15", "21", "22", "23", "24", "25", "31", "32", "33", "34", "35", "41", "42", "43", "44", "45")␤»
lizmat if there are 2 lazies, then left one will become unused
AlexDaniel /o\ 21:54
let's try something like
m: say 1..* X~ lines()
camelia rakudo-moar 4386e7: OUTPUT«(...)␤»
21:54 inra joined
AlexDaniel m: say (1..* X~ lines())[^20] 21:54
camelia rakudo-moar 4386e7: OUTPUT«(1»Wann treffen wir drei wieder zusamm?« 1 »Um die siebente Stund‘, am Brückendamm.« 1 »Am Mittelpfeiler.« 1 »Ich lösche die Flamm.« 1 »Ich mit« 1 1 »Ich komme vom Norden her.« 1 »Und ich vom Süden.« 1 …»
AlexDaniel hmmm 21:55
lizmat is that what you expected?
m: say (1..* Z~ lines())[^20] # did you mean this?
camelia rakudo-moar 4386e7: OUTPUT«(1»Wann treffen wir drei wieder zusamm?« 2 »Um die siebente Stund‘, am Brückendamm.« 3 »Am Mittelpfeiler.« 4 »Ich lösche die Flamm.« 5 »Ich mit« 6 7 »Ich komme vom Norden her.« 8 »Und ich vom Süden.« 9 …»
AlexDaniel hmmmmm so the point is that because both of them are lazy, potentially we will not be able to reify the right side? 21:56
and therefore the user has to eager one of them explicitly?
lizmat doesn't matter whether it's eager or not 21:57
if you have 2 unending iterables, the first one will only ever produce 1 value
AlexDaniel but my point was that nobody said they're unending, just lazy
lizmat fwiw, I think the "is-lazy" name on iterators is actually wrong 21:58
"is-not-ending" or "is-unending"
would be more correct
gfldex will-not-EndIteration
lizmat "is-without-known-ending"
something like that, yeah 21:59
21:59 nicq20_ joined
nicq20_ Hello o/ 21:59
gfldex does-not-solve-halting-probem :->
AlexDaniel e: my @x = lazy 1..3; say (@x X 4..7)[^10] 22:00
evalable6 AlexDaniel, rakudo-moar 4386e77: OUTPUT«(Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil)»
AlexDaniel mc: my @x = lazy 1..3; say (@x X 4..7)[^10]
committable6 AlexDaniel, ¦«2015.12»: ((1 4) (1 5) (1 6) (1 7) (2 4) (2 5) (2 6) (2 7) (3 4) (3 5))
22:00 lmmx joined
AlexDaniel lizmat: I guess you're right. But I'm still confused a little bit 22:01
alotabit…
lizmat m: my @x = lazy 1..3; say (@x X 4..7)[^10] # this feels wrong, though
camelia rakudo-moar 4386e7: OUTPUT«(Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil)␤»
gfldex since lizmat++ knighted the reddit question to a blog post this may need commenting on: www.reddit.com/r/perl6/comments/5n...e/dcij7nf/
jnthn All that `is-lazy` means is that it was marked lazy.
AlexDaniel lizmat: anyway, this ↑ looks like a regression, right?
lizmat AlexDaniel: yeah it does, please rakudobug it
22:01 Ven left
jnthn Which means it wants evaluating lazily 22:01
It may or may not be infinite 22:02
AlexDaniel jnthn: and this was my original point, which made me assume that X should work with lazies just fine
lizmat m: my @x = lazy 1..3; say @x.elems # jnthn: so this is correct, right ?
camelia rakudo-moar 4386e7: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken perlpilot: you jest, but a bot has been cutting releases for the last 4 months...
I don't get why (1..*) X (1..*) is nonsensical. Is X eager? 22:03
lizmat no
brokenchicken huh
lizmat but all of your X's will have "1" as the left side
brokenchicken 0.o 22:04
AlexDaniel but…
brokenchicken m: say ((1..5) X (6..10))[^5]
camelia rakudo-moar 4386e7: OUTPUT«((1 6) (1 7) (1 8) (1 9) (1 10))␤»
brokenchicken Ah, OK. I get it now
lizmat++
AlexDaniel brokenchicken: ELI5 :(
brokenchicken has no idea what that is
AlexDaniel brokenchicken: explain like I'm five 22:05
lizmat well, as I said in the commit message: if jnthn TimToady would like to have it removed or s/die/warn/, that's all ok with me
jnthn lizmat: Yes
lizmat I was working on that area of the system, and it felt like a thing a could do
22:05 Actualeyes left
lizmat *I 22:05
perlpilot brokenchicken: I only ½ jest. The bot has been cutting releases based on a human pushing a button, right? If the bot can tell us when it *can't* cut a release for some reason, then why not let it cut releases on its own?
lizmat jnthn: s/die/warn/ ?
22:06 Ven joined
jnthn lizmat: I was answering about .elems 22:06
lizmat ah, ok
jnthn You were asking about X?
lizmat m: dd 1..* X 1..* # jnthn: and this ?
camelia rakudo-moar 4386e7: OUTPUT«Can only have one lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
lizmat m: dd 1,2 X 1..* # jnthn: and this ? 22:07
camelia rakudo-moar 4386e7: OUTPUT«Can only have single element lists before a lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
jnthn Hmm...wonder if an error is a bit harsh
AlexDaniel m: say 4..7 X (lazy 1..3)
camelia rakudo-moar 4386e7: OUTPUT«Can only have one lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
jnthn I'm thinking about degenerate cases
AlexDaniel well there you have it, one lazy sequence… dammit…
m: say (lazy 1..3) X 4..7 22:08
camelia rakudo-moar 4386e7: OUTPUT«(...)␤»
lizmat well, it only broke one spectest, which was specifically doing "1..* X 1..*"
brokenchicken m: say (4...7) X (1...3)
camelia rakudo-moar 4386e7: OUTPUT«((4 1) (4 2) (4 3) (5 1) (5 2) (5 3) (6 1) (6 2) (6 3) (7 1) (7 2) (7 3))␤»
jnthn m: say (1..* X 1..*)[0]
camelia rakudo-moar 4386e7: OUTPUT«Can only have one lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
jnthn star: say (1..* X 1..*)[0]
camelia star-m 2016.10: OUTPUT«(1 1)␤»
jnthn star: say (1..* X 1..*)[1] 22:09
camelia star-m 2016.10: OUTPUT«(1 2)␤»
jnthn star: say (1..* X 1..*)[^10]
camelia star-m 2016.10: OUTPUT«((1 1) (1 2) (1 3) (1 4) (1 5) (1 6) (1 7) (1 8) (1 9) (1 10))␤»
jnthn Those original outputs look correct?
brokenchicken Yup
perlpilot indeed
jnthn I mean, you'll never progress beyond (1,<something>)
22:09 TEttinger left
lizmat that's the point... 22:09
gfldex stackoverflow.com/questions/4155470...-in-perl-6
lizmat of the die
gfldex is missing 22:10
m: my @l = 1,4,9,7,3; say [max] @l.antipairs
camelia rakudo-moar 4386e7: OUTPUT«9 => 2␤»
jnthn So in effect the data in the first sublist beyond the first item is dead
lizmat yup
brokenchicken yup
jnthn m: say (1,5,9,3,6).max(:k)
camelia rakudo-moar 4386e7: OUTPUT«9␤»
jnthn Aww :)
gfldex's antiparis way is neat :) 22:11
brokenchicken perlpilot: because it's easier to push the button than code and debug all the logic to make it figure out when it's allowed to make a release AND the abort sequence, if we find a blocker or some other reason.
AlexDaniel anyway, RT #130566
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130566
gfldex i'm not going to post on stackoverflow
jnthn lizmat: I dunno, will have to ponder it some more, TimToady may have some thoughts on it
lizmat: Did this arise out of somebody's actual confusion? 22:12
Or speculated future confusion?
lizmat well, I was triggered by:
perlpilot lizmat: what if the programmer doesn't necessarily know if both lists are lazy or not? Could the star behavior be a feature?
22:12 RabidGravy left
AlexDaniel lizmat: now what about this? 22:12
e: say 4..7 X (lazy 1..3)
evalable6 AlexDaniel, rakudo-moar 3e373ff: OUTPUT«(exit code 1) Can only have one lazy sequence in a cross␤ in block <unit> at /tmp/m_dBb9c2z4 line 1␤»
lizmat m: dd (1,2 X 1..* X 3,4)[^10]
camelia rakudo-moar 3e373f: OUTPUT«Can only have single element lists before a lazy sequence in a cross␤ in block <unit> at <tmp> line 1␤␤»
lizmat hehe
22:14 TEttinger joined, Tonik left
lizmat I've reverted the check 22:14
AlexDaniel closes RT tab 22:15
lizmat I guess if you want to shoot yourself in the feet, we should give you enough rope :-)
jnthn lizmat: My gut feeling is the check is a tad heavy-handed, but at the same time I can't think up a practical case where one may run in to it... 22:16
AlexDaniel the thing is, even with *one* infinite list it will produce an infinite Seq, so the programmer should be aware of that himself
azawawi pasteboard.co/mUWFTtQii.png # Odoo::Client in action :)
22:16 Ven left
jnthn Anyways, if we're happy with it reverted, I'm content with it too 22:17
lizmat m: $ 6 'dd (1,2 X 1..* X 3,4)[^10]'
((1, 1, 3), (1, 1, 4), (1, 2, 3), (1, 2, 4), (1, 3, 3), (1, 3, 4), (1, 4, 3), (1, 4, 4), (1, 5, 3), (1, 5, 4))
camelia rakudo-moar 3e373f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3$7⏏5 6 'dd (1,2 X 1..* X 3,4)[^10]'␤ expecting any of:␤ infix␤ infix stopper␤ statement end␤ statement modifier␤ …»
lizmat $ 6 'dd (1,2 X 1..* X 3,4)[^10]'
((1, 1, 3), (1, 1, 4), (1, 2, 3), (1, 2, 4), (1, 3, 3), (1, 3, 4), (1, 4, 3), (1, 4, 4), (1, 5, 3), (1, 5, 4))
jnthn goes to rest off his headache, hopefully...
Back tomorrow o/
lizmat good night, jnthn, sleep tight!
jnthn Thanks! :) 'night 22:18
lizmat m: my @x = lazy 1..3; say @x # AlexDaniel underlying issue 22:19
camelia rakudo-moar 3e373f: OUTPUT«[...]␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.min 22:23
camelia rakudo-moar 3e373f: OUTPUT«-5␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.max
camelia rakudo-moar 3e373f: OUTPUT«42␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.maxpairs
camelia rakudo-moar 3e373f: OUTPUT«[4 => 42]␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.minpairs
camelia rakudo-moar 3e373f: OUTPUT«[6 => -5]␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.minmax
camelia rakudo-moar 3e373f: OUTPUT«-5..42␤»
AlexDaniel m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.minmaxpairs
camelia rakudo-moar 3e373f: OUTPUT«No such method 'minmaxpairs' for invocant of type 'Array'␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel boooo…
:)
m: my @x = 6,8,NaN,5,3; say @x.minmax 22:24
camelia rakudo-moar 3e373f: OUTPUT«3..NaN␤»
AlexDaniel :|
nicq20_ Is there anything I can use to try and find where an error occured, if it does not tell me when it fails? 22:25
AlexDaniel --ll-exception ?
22:25 Ven joined
nicq20_ Hmm... That did not seem to do anything. 22:26
perlpilot Why does minpairs and maxpairs exist?
AlexDaniel c: 2015.07 my @x = 6,8,9,3,42,5,-5,0,2; say @x.minpairs 22:27
committable6 AlexDaniel, ¦«2015.07»: Method 'minpairs' not found for invocant of class 'Array'␤ in block <unit> at /tmp/PmI6ZnnEbk:1␤ «exit code = 1»
AlexDaniel bisect: my @x = 6,8,9,3,42,5,-5,0,2; say @x.minpairs
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=9537ccd). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/605de7ad6fbb48f621...778dc8a4d0
AlexDaniel maybe the commit will tell us why
bisectable6 AlexDaniel, (2016-04-08) github.com/rakudo/rakudo/commit/70...43ce23530d
AlexDaniel ah no, that's a wrong one
ah, actually, it is the right one 22:28
lizmat it came from QuantHash
and was deemed more generally usable ?
Geth oc: 5a0a902fc3 | (Wenzel P. P. Peppmeyer)++ | doc/Language/terms.pod6
complex example for `constant`
22:29
perlpilot m: my @x = 6,8,9,3,42,5,-5,0,2; say @x.pairs.max(*.value);
camelia rakudo-moar 3e373f: OUTPUT«4 => 42␤»
AlexDaniel I was actually hoping max(:p) would work 22:30
22:31 Ven left
gfldex perlpilot: maxpairs are setty and baggy methods 22:31
perlpilot and don't show up in doc.perl6.org. 22:32
But, I was thinking that we already have primitives we can combine to get the equivalent to minpairs/maxpairs, so what does the specialization buy us? 22:33
AlexDaniel again, I think these should be adverbs 22:34
Geth oc: 0c56823051 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Sub.pod6
index my and our in Sub
gfldex min/maypairs are ENODOC
roast likes them tho
22:35 azawawi left
AlexDaniel m: my @x = 2,5,3; say @x.grep: {True}, :p 22:36
camelia rakudo-moar 9537cc: OUTPUT«(0 => 2 1 => 5 2 => 3)␤»
22:36 bjz joined
AlexDaniel m: my @x = 2,5,3; say @x.max: :p 22:36
camelia rakudo-moar 9537cc: OUTPUT«5␤»
AlexDaniel :P
perlpilot: can you create an RFC ticket?
lizmat AlexDaniel: github.com/rakudo/rakudo/commit/0cd921e351 # RT #130566 22:38
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130566
lizmat AlexDaniel++ # good catch!
AlexDaniel and a quick one too :)
e: my @x = lazy 1..3; say (@x X 4..7)[^10]
evalable6 AlexDaniel, rakudo-moar 9537ccd: OUTPUT«(Nil Nil Nil Nil Nil Nil Nil Nil Nil Nil)»
AlexDaniel not yet… 22:39
lizmat patience :-)
good night, #perl6!
AlexDaniel o/
brokenchicken nicq20_: that's an argument to the perl6 executable; ensure you're not passing it as an arg to your program
nicq20_ brokenchicken: Yeah, still no help. I'm trying to use tony-o's Hiker. Errors out with "Unhandled exception: cannot close a closed socket", but I don't know where. 22:40
22:40 bjz left
nicq20_ Seems to be in the module itself because if I just use the regular boilerplate, it still fails. 22:41
brokenchicken: Do I need to compile perl6 differently to use it? 22:43
AlexDaniel e: my @x = lazy 1..3; say (@x X 4..7)[^10] 22:44
evalable6 AlexDaniel, rakudo-moar 0cd921e: OUTPUT«((1 4) (1 5) (1 6) (1 7) (2 4) (2 5) (2 6) (2 7) (3 4) (3 5))»
AlexDaniel nicq20_: no
brokenchicken AlexDaniel: well, I see this condiation with 'close' in it and when the `if` is true, the $.close will runb twice: 1
gah
This Imean github.com/tony-o/perl6-hiker/blob...m6#L13-L15 22:45
22:45 Ven joined
brokenchicken I mean nicq20_ 22:47
nicq20_ I was thinking the problem was either that, or something going out of scope.
Because it happens a few seconds after loading a page. 22:48
22:56 bstamour joined 22:59 lukaramu left
nicq20_ brokenchicken: Does not seem to be the 2 "$.close" calls in Render.pm6 23:01
23:03 Ven left 23:05 Ven joined
jdv79 shouldn't one of these work?: gist.github.com/anonymous/4153e6dc...d391565a37 23:11
yoleaux 15 Jan 2017 20:13Z <brokenchicken> jdv79: how is the MetaCPAN thing going? How can willing hands contribute?
jdv79 brokenchicken: good question. nobody has asked so far. probably should have a roadmap or todo list i guess.
likely update the forks to track the new metacpan stuff first since they just changed a bunch of sstuff 23:12
and then improve on the existing bugs - there's a list somewhere
and then get them to stand it up
maybe:)
nine_: ^^^ the gist 23:13
any ideas?
23:16 Ven left 23:17 dugword left 23:26 Ven joined 23:30 espadrine_ joined 23:33 Ven left 23:36 Ven joined
brokenchicken jdv79: "probably should have a roadmap." Yes, that would be very helpful. People see problems with current ecosystem and propose implementing stuff. They're then told not to, because CPAN is for that. But at the time time no one seems to know who's doing what and how to contribute. And based on updates I personally seen, there hasn't been any significant progress on that project for over a year now. 23:37
In not overly polite terms: whoever's doing whatever as far as permanet ecosystem goes should either start leading the project properly or stop doing it. 23:40
23:41 espadrine_ left, espadrine_ joined 23:44 Actualeyes joined, pmurias left, Gasher left 23:48 Ven left 23:50 Ven joined 23:51 inra left 23:52 kst left 23:53 kst joined
jdv79 brokenchicken: maybe its time for changes, yeah. there were necessary delays with regard to back compat 23:53
mst was handling that
AlexDaniel just a little bit of transparency can help, yes
jdv79 mst: are there any changes?
for a while there we couldn't upload stuff to cpan
that was the major hangup iirc 23:55
brokenchicken Here's mst's respponse on that from yearstersday: "msterrr, I think psixdists is running, ranguard's been popping up in here to ask stuff" 23:56
jdv79 hmm
23:57 lmmx left 23:58 lmmx joined