»ö« 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.
mscha m: say (-Inf..Inf)[100000]; # it actually has to think about this 00:01
camelia rakudo-moar 8bd7ee: OUTPUT«-Inf␤»
mscha m: say (-Inf..Inf)[1000000]; # it actually has to think about this
camelia rakudo-moar 8bd7ee: OUTPUT«-Inf␤»
mscha Or maybe not. It does in my local Rakudo Star.
m: say (-Inf..0)[*-1]; 00:02
camelia rakudo-moar 8bd7ee: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/TuIrhmsiLQ line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/TuIrhmsiLQ line 1␤␤»
AlexDaniel mscha: this one is for you: rt.perl.org/Public/Bug/Display.html?id=125336 00:09
interestingly, it seems like it is fixed 00:10
yeah, can anybody close it please?
or guide me through creating a new account so that I can do it myself. 00:11
AlexDaniel files.progarm.org/2016-02-05-02140..._scrot.png – that's all I can see when I log in 00:14
how can I fix it?
AlexDaniel when I try to view any ticket while I'm logged in I see this: “No permission to display that ticket No details” 00:14
dalek osystem: d6a2c05 | (Zoffix Znet)++ | META.list:
All Zoffix's modules: META.info -> META6.json
00:15
AlexDaniel or should I just mail [email@hidden.address] ?
ZoffixWin Tried clearing cache/cookies and relogginging? 00:19
raiph hi Cheery :) 00:23
raiph m: .WHAT.say for 1, 1.0e3 00:23
camelia rakudo-moar 8bd7ee: OUTPUT«(Int)␤(Num)␤»
raiph Num is a float
m: say (1 + 2e0).WHAT
camelia rakudo-moar 8bd7ee: OUTPUT«(Num)␤»
MadcapJake gfldex: hastebin.com/zedazucara.txt
Cheery what did happen there? 00:24
MadcapJake gfldex: here's the last line where the error occurs github.com/gfldex/http-server-simp...le.pm6#L48 00:25
but i don't understand why it's calling that, is it maybe for favicon.ico?
can't be that, i just added one as a link element 00:28
ZoffixWin New blog post: How to Make a Perl 6 Module (Bit Rot Thursday): blogs.perl.org/users/zoffix_znet/20...rsday.html 00:33
AlexDaniel ZoffixWin: no, it does not help 00:34
ZoffixWin AlexDaniel, weird :S
AlexDaniel ZoffixWin: I don't find it weird. RT is shit 00:35
ZoffixWin haha
AlexDaniel If I write an email to [email@hidden.address] is it going to go down the sink? Who's there on the other side? 00:36
AlexDaniel ok I guess there is one way to find out… 00:39
ajr_ Thanks for your help everyone. It's amazing how much one can learn translating a 5-line program. 00:40
[Coke] AlexDaniel: i get spport on that address, 00:44
OOC, what are you reporting?
AlexDaniel [Coke]: I can't use my account 00:47
[Coke]: in fact, I can't use the whole RT when I'm logged in
[Coke]: see this screenshot: files.progarm.org/2016-02-05-02140..._scrot.png
I can't even view any bug even if I go directly to the right link 00:48
[Coke] yup, they should be able to help you out. 00:51
Cheery .WHAT.say for 1, 1.0e3 in 00:55
Cheery m: .WHAT.say for 1, 1.0e3 00:57
camelia rakudo-moar 8bd7ee: OUTPUT«(Int)␤(Num)␤»
Cheery ok. not going crazy anymore. :)
raiph: thanks for pointing that out
raiph Cheery: :)
m: multi sub infix:<+> (\a, \b) { say 'Cheery'; nextsame }; say 1 + 1 00:59
camelia rakudo-moar 8bd7ee: OUTPUT«2␤»
raiph m: multi sub infix:<+> ($a, $b) { say 'Cheery'; nextsame }; say 1 + 1
camelia rakudo-moar 8bd7ee: OUTPUT«2␤»
raiph m: multi sub infix:<+> (Int $a, Int $b) { say 'Cheery'; nextsame }; say 1 + 1
camelia rakudo-moar 8bd7ee: OUTPUT«Ambiguous call to 'infix:<+>'; these signatures all match:␤:(Int:D \a, Int:D \b --> Int:D)␤:(Int $a, Int $b)␤ in block <unit> at /tmp/29NRxMfNIM line 1␤␤»
raiph m: multi sub infix:<+> (1, Int $b) { say 'Cheery'; nextsame }; say 1 + 1 01:00
camelia rakudo-moar 8bd7ee: OUTPUT«Cheery␤2␤»
Cheery okay. :) 01:01
that's concise
raiph m: multi sub infix:<+> (Num $a, Int $b) { say 'Cheery'; nextsame }; say 1e0 + 1 01:02
camelia rakudo-moar 8bd7ee: OUTPUT«Cheery␤2␤»
raiph m: multi sub infix:<+> (Num $a, Int $b) { say 'Cheery'; nextsame }; say 1 + 1e0
camelia rakudo-moar 8bd7ee: OUTPUT«2␤»
raiph so that's a small version of the gof problem you're talking of, right?
Hotkeys is someone golfing? 01:04
raiph Cheery: ^^ ?
HotKeys: no, I meant GoF, short for Gang of Four
Cheery I'm not sure
AlexDaniel Hotkeys: no but I'd like to :D
kid51 AlexDaniel: Are you unable to see this ticket which you created? rt.perl.org/Ticket/Display.html?id=127424
AlexDaniel kid51: No permission to display that ticket 01:05
kid51 And are you also unable to see the same ticket in the "public" view? rt.perl.org/Public/Bug/Display.html?id=127424 01:06
Hotkeys raiph: aw
AlexDaniel: woo
kid51 i.e., when you are not logged in to rt.perl.org via bitcard
AlexDaniel kid51: yes, I get an empty page
ah
when I'm not logged in of course I can see it 01:07
in fact, both links work just fine
Cheery raiph: in the GoF, I think I don't just like it. 01:08
kid51 I find that when I'm not logged in to rt.perl.org, clicking on the first link simply redirects to the second 01:09
AlexDaniel kid51: yes
kid51 Now, most of the time I am logged in, so I'm always getting the first link
Cheery raiph: one problem in it is that it's hard to explain what is happening in gang of four pattern
kid51 If you know that you are logged in and the first link redirects to the second, then, yes, there is something wrong and you have to speak with the admin. 01:10
Cheery it calls .__add__, if it fails, it calls .__radd__, but in middle it may do whatever to resolve that call.
kid51 (I actually never knew about the /SelfService/ endpoint until you posted it)
Cheery with multimethods, you can tell the default behavior, then you can tell the implemented type pairs. 01:11
AlexDaniel kid51: both links redirect me to SelfService when I'm logged in
rt.perl.org/SelfService/Display.html?id=127424 and rt.perl.org/SelfService/
Cheery raiph: anyway. I'm going to sleep now. but maybe we'll chat later. night. 01:12
ugexe m: my $v1 = v1.02; my $v2 = Version.new("v1.02"); say $v1.perl; say $v2.perl
camelia rakudo-moar 8bd7ee: OUTPUT«Version.new('1.2')␤Version.new('v.1.2')␤»
raiph Cheery: goodnight 01:13
kid51 Well, FWIW, this is the RT link I start with for Perl6: rt.perl.org/Search/Results.html?Fo...%2C%0A%20% 01:15
20%20Status%2C%0A%20%20%20QueueName%2C%0A%20%20%20OwnerName%2C%0A%20%20%20Priority%2C%0A%20%20%20%27__NEWLINE__%27%2C%0A%20%20%20%27%27%2C%0A%20%20%20%27%3Csmall%3E__Requestors__%3C%2Fsmall%3E%27%2C%0A%20%20%20%27%3Csmall%3E__CreatedRelative__%3C%2Fsmall%3E%27%2C%0A%20%20%20%27%3Csmall%3E__ToldRelative__%3C%2Fsmall%3E%27%2C%0A%20%20%20%27%3Csmall%3E__LastUpdatedRelative__%3C%2Fsmall%3E%27%2C%0A%20
%20%20%27%3Csmall%3E__TimeLeft__%3C%2Fsmall%3E%27&Order=DESC&OrderBy=LastUpdated&Page=1&Query=Queue%20%3D%20%27perl6%27%20AND%20%28Status%20%3D%20%27new%27%20OR%20Status%20%3D%20%27open%27%20OR%20Status%20%3D%20%27stalled%27%29&Rows=50
Woah, didn't expect that.
timotimo excellent!
AlexDaniel hmm…
timotimo note also that everyone clicking your link will potentially get a nasty warning about CSRF going on
kid51 Maybe this is better: tinyurl.com/j3kyb2t 01:16
AlexDaniel redirects to SelfService
kid51 Alright, then you'll have to sort that out with the admins. I've never used SelfService so can't speak to it. Good luch. 01:17
luck
AlexDaniel ok, thanks
Hotkeys: if you find any interesting problem to golf then please share :) 01:19
Hotkeys will do 01:25
I just kind of trawl codegolf on stackexchange looking for intuitive problems 01:26
and hope that that other perl 6 guy hasn't answered them yet
AlexDaniel Hotkeys: what's your SE account? 01:33
Hotkeys codegolf.stackexchange.com/users/46...ockopeners
I haven't done very many
I do them here and there
I like when they allow functions 01:34
makes for very short stuff
AlexDaniel “shortest code in bytes” huh, bytes? 01:35
Hotkeys I usually use bytes 01:36
Most people use bytes
I think it's so that golfed things don't become an obfuscated unicode mess like some of the golf langs can be 01:38
AlexDaniel in what encoding? 01:39
Hotkeys utf-8 is what I go with
probably that
timotimo 111 videos uploaded on fosdem's video page 01:41
AlexDaniel Hotkeys: codegolf.stackexchange.com/a/70856 this answer does not work :o 01:47
Hotkeys: “Indexing requires an instance, tried to do: [ (Any) ]” 01:48
Hotkeys what 01:49
I literally tried it a few hours ago
while trying to golf it shorter
worked fine
AlexDaniel hmmmm can you try it again?
oh wait, I'm doing it wrong 01:50
Hotkeys i.imgur.com/FPe5SWp.png 01:51
it's in a file, but same code
AlexDaniel yeah, sorry, I ignored the second argument 01:52
Hotkeys ah 01:52
you gave me a scare there
:p
AlexDaniel Hotkeys: put [+] --«@*ARGS,1 # meh, exactly the same length 02:10
Hotkeys there was another answer in there that I didn't notice that was basically that 02:11
I didn't realize you could do '@*ARGS,1'
oh
wait
i'm a dope
nvm
AlexDaniel you can do the same thing with sum too :) 02:12
AlexDaniel Hotkeys: why not say (^@*ARGS[0])».chr ? 02:20
Hotkeys: here: codegolf.stackexchange.com/question...2397#62397
Hotkeys: 0.. is not required according to the task 02:21
Hotkeys: or so it seems
Hotkeys because that was back in october 02:21
and I was a young 6r
6er
AlexDaniel Hotkeys: range(n) does not include n 02:22
Hotkeys: so edit it? :)
Hotkeys alrighty 02:27
did
AlexDaniel Hotkeys: my &f={.trans('a'..'z'=>[R~] 'a'…'z')} 02:38
Hotkeys: codegolf.stackexchange.com/question...8769#68769 02:39
Hotkeys: this is slightly shorter
though if you change … to ... it becomes as short as your version
but hey, it is more readable 02:40
oh!
minus one more character
Hotkeys: my &f={.trans('a'..'z'=>[~] 'z'…'a')}
Hotkeys I was just gonna say
why not just z to a
(lol that rhymes)
you need to accounmt for uppercase 02:41
AlexDaniel oh wait, it does not handle uppercase
AlexDaniel dammit :) 02:42
timotimo Svool 02:43
Hotkeys lol
svool
AlexDaniel Hotkeys: awww 02:52
AlexDaniel Hotkeys: my &f = {sqrt [+] (@^a »-«@^b)»²} 02:52
Hotkeys: one character longer than your version
timotimo m: say "Svool".encode.list>>.&({$^a+4+^31}).decode
camelia rakudo-moar 8bd7ee: OUTPUT«Method 'decode' not found for invocant of class 'List'␤ in block <unit> at /tmp/god1tTor9T line 1␤␤»
AlexDaniel … but much longer in bytes
timotimo m: say "Svool".encode.list>>.&({$^a+4+^31}).Buf.decode 02:53
camelia rakudo-moar 8bd7ee: OUTPUT«Method 'Buf' not found for invocant of class 'List'␤ in block <unit> at /tmp/UYnApBb7ZZ line 1␤␤»
timotimo m: say Buf.new("Svool".encode.list>>.&({$^a+4+^31})).decode
camelia rakudo-moar 8bd7ee: OUTPUT«Hello␤»
timotimo :\
soooo loooong 02:56
Hotkeys lol 02:57
Hotkeys AlexDaniel: yeah those bytes bite 02:58
the unicode can sometimes still save bytes though 02:59
like with this set op codegolf.stackexchange.com/a/66240/46687
not my answer
that's the other perl 6 golfer that I see all the time
timotimo he's also on the channel 03:09
AlexDaniel Hotkeys: ok this is not shorter (just 2 characters longer) but perhaps you'll find it interesting 03:10
m: my &f = &sqrt∘&sum∘{(@^a Z-@^b)»²}; say f([1,2], [3,4]);
camelia rakudo-moar 8bd7ee: OUTPUT«2.82842712474619␤»
Hotkeys function composition gives me nightmares of highschool math 03:11
jk hs math wasn't that bad
I didn't realize there was a sum function 03:12
m: say sum ^10
camelia rakudo-moar 8bd7ee: OUTPUT«45␤»
AlexDaniel same 3 characters as [+] :) 03:14
AlexDaniel m: say IntStr.new(42, ‘NaN’) 03:21
camelia rakudo-moar 8bd7ee: OUTPUT«NaN␤»
AlexDaniel m: say IntStr.new(42, ‘NaN’) * 2
camelia rakudo-moar 8bd7ee: OUTPUT«84␤»
timotimo m: say [+]42 03:33
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Gir2EtPcam␤Two terms in a row␤at /tmp/Gir2EtPcam:1␤------> 3say [+]7⏏0542␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statemen…»
timotimo m: say [+] 42
camelia rakudo-moar 8bd7ee: OUTPUT«42␤»
timotimo m: say sum 42
camelia rakudo-moar 8bd7ee: OUTPUT«42␤»
timotimo m: say sum42
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Pg1vWTtDAh␤Undeclared routine:␤ sum42 used at line 1␤␤»
timotimo fair enough
AlexDaniel m: say sum 41 03:34
camelia rakudo-moar 8bd7ee: OUTPUT«41␤»
_Dad Is there a way to get "use English;" in Perl 6? 04:03
AlexDaniel _Dad: most Perl 6 things have readable names. What is your issue? 04:09
except $_ and $/ I guess, but you are not forced to use these 04:11
and $! :)
_Dad The issue I'm having is with "use English;" itself. I get "Could not find English in" followed by about a dozen places it's looked. 04:15
AlexDaniel _Dad: ok, there's no “use English;” :) 04:16
_Dad I'm specifically wondering if the Z meta-operator has an English equivalent, like "zip these lists"
AlexDaniel sure
m: say zip (1,2,3), (42,69,96)
camelia rakudo-moar 8bd7ee: OUTPUT«((1 42) (2 69) (3 96))␤»
_Dad Okay, thanks. Is that the case for other meta-operators, and where would I read about them if so? 04:17
AlexDaniel m: say zip (1,2,3), (42,69,96), with => &[=>] 04:18
camelia rakudo-moar 8bd7ee: OUTPUT«(1 => 42 2 => 69 3 => 96)␤»
AlexDaniel _Dad: I don't think that there is any “Perl => English” table right now 04:19
_Dad: feel free to contribute one :)
_Dad: all docs are supposed to be here: doc.perl6.org/
_Dad: but I don't think that there is any quick way to search for what you are asking, hmm 04:20
_Dad: if you can't find something then just ask here, I guess
_Dad I'd be happy to, but I'm kind of on the ignorant side of "what the English equivalents are". I'll see if I can find something in the docs you linked. Thanks. 04:21
AlexDaniel wow! 「cross」 is not documented! 04:23
m: say cross (1,2,3), (42,69,96), with => &[=>]
camelia rakudo-moar 8bd7ee: OUTPUT«(1 => 42 1 => 69 1 => 96 2 => 42 2 => 69 2 => 96 3 => 42 3 => 69 3 => 96)␤»
AlexDaniel _Dad: submitted: github.com/perl6/doc/issues/382 04:25
but yeah, I guess that nobody asked before :) 04:26
perlawhirl AlexDaniel: there should also probably be a link to 'cross' from 'X' and (and vice versa)... same goes for 'Z' and 'zip'
_Dad At least the English equivalents are straightforward in these two cases, which is good. 04:29
AlexDaniel perlawhirl: You're right. I've copied your message to the issue.
AlexDaniel _Dad: personally I'd prefer “no English”. Some things are too verbose to me 04:31
e.g. there is currently no operator for 「roundrobin」
so you actually have to type “roundrobin”, geez
_Dad: but in that aspect Perl 6 will probably make you more happy than it makes me happy, currently :) 04:33
_Dad My feeling is that the operators diminish readability, IDEs and cheap storage mean there's no penalty for verbosity, so English is the way to go. 04:36
I don't even like that "with => &[=>]" you threw in there. How is somebody supposed to look that up? 04:37
Hotkeys well => is an op and 'name => thing' is syntax for a named parameter 04:38
you'd have to already know some of that
AlexDaniel m: say cross (1,2), (42,69), :with(&[=>])
camelia rakudo-moar 8bd7ee: OUTPUT«(1 => 42 1 => 69 2 => 42 2 => 69)␤»
Hotkeys I prefer this syntax myself ^ 04:39
for all named vars
_Dad Better :)
AlexDaniel _Dad: so you think that this ↑ is more readable than
m: say (1,2) X=> (42,69)
camelia rakudo-moar 8bd7ee: OUTPUT«(1 => 42 1 => 69 2 => 42 2 => 69)␤»
AlexDaniel I don't buy it
Hotkeys I don't either
if you didn't know 04:40
you could just search the docs for infix X docs.perl6.org/routine/X
see that it can be a metaop, and then look at infix => 04:41
badabing
badaboom
and once you know it once you know it so
much more readable IMO
AlexDaniel _Dad: you don't have to listen to us though, we're not here to dictate some specific style :) 04:42
Hotkeys dictates
AlexDaniel but we may tell you about our opinions, yes :)
_Dad I suppose there was a time when "once I know it once, I know it," but increasingly the sad reality is "I used to know that, but..."
AlexDaniel _Dad: then look it up! It is quite easy to search the docs for an operator 04:43
all operators are listed here: docs.perl6.org/routine-operator.html
Hotkeys I like how easy the docs are to navigate 04:44
much more so than some other langs
they're not 100% complete but they're pretty good and that'll come with time
AlexDaniel the search form will be improved too
_Dad Jesus H. Christ, it's worse than I thought. ^fff^ ??? 04:45
AlexDaniel doesn't like “use English” idea because he cannot speak English properly
_Dad: don't worry, this one is not very popular :) 04:46
_Dad "Hard to read" may be contributing to its low popularity ? 04:47
AlexDaniel _Dad: “wtf is flipflop operator” is probably a bigger influnce on its popularity 04:48
_Dad Is that what that thing is, a flipflop operator? TIL 04:49
(today I learned, tomorrow I forget)
b2gills Hotkeys: Do you want me to slow down on answering CodeGolf problems? 04:55
Hotkeys b2gills: haha no it's alright 04:56
b2gills &infix:<fff> and &infix:<ff> have their roots all the way back to sed
AlexDaniel _Dad: well, Perl 6 has lots of operators and lots of features, but you don't have to know about all of them. Feel free to use a subset of Perl 6 (which is what we all do). 04:57
b2gills: but there's a good question why we have no “flipflop” sub or something
b2gills flipflop is VERY magical 04:58
Its main use is in parsing line oriented files
Hotkeys we do AlexDaniel
&infix:<fff>() :p 04:59
AlexDaniel :/
Hotkeys jk
b2gills m: for ^10 { say 5 fff 7 } 04:59
camelia rakudo-moar 8bd7ee: OUTPUT«Nil␤Nil␤Nil␤Nil␤Nil␤1␤2␤3␤Nil␤Nil␤»
Hotkeys b2gills: I didn't actually see your answer on the electrical outlet question until after I posted 05:00
_Dad I don't have a problem with the feature, but the "sed-inspired" syntax seems to me to be a mistake. When someone writes "flipflop" I can make a decent guess about what it does. When someone writes ^fff^ I have no clue.
Hotkeys I didn't intend to try and take the spotlight I swear
b2gills Hotkeys: I've done that before as well
AlexDaniel m: for <AB C D B E F> { say $_ if &infix:<fff>(/A/, /B/); } 05:01
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gj5iG8ganT␤Undeclared routine:␤ infix:<fff> used at line 1. Did you mean 'infix:<∖>', 'infix:<lt>', 'infix:<eq>', 'infix:<o>', 'infix:<~|>'?␤␤»
b2gills _Dad the ^ means exclude that side
Hotkeys Have we always had a sum function or is that recent
AlexDaniel Hotkeys: ↑ it doesn't work?
Hotkeys I seem to remember having to use [+] no matter what
b2gills sum was added to make [+] 1..1000000 faster
Hotkeys not sure AlexDaniel
b2gills m: say [+] 1..1000000; say now - INIT now
camelia rakudo-moar 8bd7ee: OUTPUT«500000500000␤0.00280925␤»
Hotkeys it's listed as 'sub infix:<fff>(Mu $a, Mu $b)' so i just assumed
AlexDaniel Hotkeys: it looks like a bug… 05:02
b2gills I think fff has to be in the parser because of how magical it is 05:03
Hotkeys m: my @list = <A B C>; say $_ if /A/ ^fff^ /C/ for @list;
camelia rakudo-moar 8bd7ee: OUTPUT«B␤»
Hotkeys m: my @list = <A B C>; say $_ if infix:<^fff^>(/A/,/C/) for @list;
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZQ_fkN2yd7␤Undeclared routine:␤ infix:<^fff^> used at line 1. Did you mean 'infix:<..^>', 'infix:<…^>', 'infix:<...^>', 'infix:<^..>', 'infix:<~^>'?␤␤»
b2gills Each use of fff is a new state variable
Hotkeys I' 05:04
I've been getting so much rep today
Was that you AlexDaniel :p
AlexDaniel b2gills: mmmmm, inconsistencies
AlexDaniel Hotkeys: yeah, I upvoted ones that I couldn't golf down shorter 05:04
(almost all of them)
Hotkeys woo 05:05
b2gills Well that's what you get when you combine things from languages that are over 30 years old
sortiz Just installed new R* with msi, then I try "p6doc faq" and get "Variable '@rem' is not declared...", seems that the panda's wrapper for windows is trying to run the bat file. 05:28
MadcapJake ZoffixWin, why'd you change your modules' META.info to META6.json files? 05:30
sortiz Indeed, s/.bat// in perl6\site\bin\p6doc solves the issue. Not others files in bin affected, just p6doc! 05:36
AlexDaniel sortiz: PR! PR! PR! :)
sortiz AlexDaniel, I need to check first where is the wrapper constructed. 05:37
ugexe because the .bat is automatically generated now 05:38
sortiz The p6doc.bat file seems right, is panda's p6 wrapper bin/p6doc that had the problem. 05:41
ugexe its the same code github.com/rakudo/rakudo/blob/nom/...ion.pm#L24 05:43
b2gills I just noticed that codegolf.stackexchange.com/a/66454/1147 was broken because three of the "characters" were trimmed
sortiz ugexe, right, panda is innocent then. In this case somehow the perl_wrapper got 'p6doc.bat' in #name# 05:47
jeek Is there any new perl6 magic to more quickly find solutions for a+b+c+d+e+f+g+h==someconstant where a through h are each from the same 40320-entry list?
sortiz p6doc includes its own p6doc.bat, that can be the problem. 05:49
ugexe maybe. panda strips the .bat off the name. CURLI automatically adds it back on. but theres also already a `p6doc` file to go along with "p6doc.bat".subst(/.*\.bat$) (the same) 05:50
AlexDaniel jeek: what is 40320-entry list?
jeek A list with 40320 entries in it. 05:51
AlexDaniel aaa 05:51
jeek Permutations of 12345678, if it matters.
ugexe but yea, the perl6 wrapper will try to run the p6doc .bat as a perl6 file 05:52
AlexDaniel m: say 42 ~~ any(((1…9).permutations).map: &sum) 05:56
jeek: ↑ ?
might take some time to compute…
camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)» 05:57
AlexDaniel jeek: hold on, but the result is always the same… 05:58
AlexDaniel jeek: did you mean combinations? 06:00
jeek 12345678, 12345687, 12345768, 123456786, ..., 87654312, 87654321
looking for all nonrepeating length-8 subsets of that list that sum to 39999996 06:01
AlexDaniel ah… 06:02
so that's combinations of permutations? :) 06:03
AlexDaniel jeek: that's going to take quite some time to compute with the most obvious solution 06:04
even if you do that in parallel
sortiz ugexe, Any way source doc/bin/p6doc.bat seems superfluous.
perlawhirl permutations is quite slow to eagerly evaluate once you have more than a small handful 06:39
m: say +(^7).permutations; say now - INIT now
camelia rakudo-moar 8bd7ee: OUTPUT«5040␤1.3458848␤»
perlawhirl m: say +(^8).permutations; say now - INIT now 06:40
camelia rakudo-moar 8bd7ee: OUTPUT«40320␤9.63394466␤»
perlawhirl it keeps going up almost by orders of 10
b2gills m: say (^10).permutations.elems; say now - INIT now # really this optimization should be enabled, but I think there is a bug in List 06:45
camelia rakudo-moar 8bd7ee: OUTPUT«(timeout)»
b2gills m: say permutations(10).elems; say now - INIT now 06:46
camelia rakudo-moar 8bd7ee: OUTPUT«3628800␤0.0039319␤»
jeek I got something together in python that is at least spitting out answers quickly, but there's going to be a lot of them. 06:58
perlawhirl m: say permutations( +(^15).join.comb ).elems # /70982/rearranging-the-sequence 06:59
camelia rakudo-moar 8bd7ee: OUTPUT«2432902008176640000␤»
perlawhirl that is the quickest way i've found
where 15 is the imput
my $i = 30; say permutations( +(^$i).join.comb ).elems
odd 07:00
say permutations( +(^100).join.comb ).elems
oops
m: my $i = 30; say permutations( +(^$i).join.comb ).elems
camelia rakudo-moar 8bd7ee: OUTPUT«30414093201713378043612608166064768844377641568960512000000000000␤»
jeek gist.github.com/anonymous/1afc48c1910561a170eb 07:01
Hotkeys that's a lot of stuff 07:10
perlawhirl say permutations(+(^(+$_||1)).join.comb).elems for lines # /70982/rearranging-the-sequence 07:13
nine .tell raiph I'm not on reddit, but would be happy to discuss these things on #perl6-toolchain. 07:27
yoleaux nine: I'll pass your message to raiph.
perlawhirl ohai nine 07:31
perlawhirl remember you asked me about reporting issues with panda complaining about reinstalling already installed modules 07:31
i think i managed to replicate it
perlawhirl i installed a module from the eco system 07:31
i wanted to try some modifications, so cloned it from git, made may changes. when i then tried to do a local install with panda (from my cloned copy) it complains it's already installed and dies 07:32
perlawhirl i understand maybe the reasoning why... perhaps it could say 'already installed, are you sure you want to overwrite with ...' etc 07:33
El_Che perlpilot: fork the name? 07:40
Blah::Blue::Forked
[Tux] test 23.214 07:44
test-t 12.583
csv-parser 50.953
dalek href="https://perl6.org:">perl6.org: d27cf15 | (Steve Mynott)++ | source/downloads/index.html:
refer to new window's MSIs
07:47
moritz .tell perlawhirl panda has a --force option to overwrite existing installations of a module 08:13
yoleaux moritz: I'll pass your message to perlawhirl.
dalek href="https://perl6.org:">perl6.org: 9d0de27 | (Steve Mynott)++ | source/downloads/index.html:
add whitespaxe
08:14
uruwi Anyone else having problems with Compress::Zlib on Rakudo Star 2016.01? 08:15
stmuk_ uruwi: do you have a short code example? 08:18
uruwi Try running the tests for Compress::Zlib. 08:19
* Compress::Zlib::Raw
Seems to be a Find::Bundled problem, though
FROGGS o/ 08:20
uruwi The stack trace leads to line 10 of this source: github.com/retupmoca/P6-Find-Bundl...undled.pm6 08:21
FROGGS uruwi: there is no @*INC anymore, is there? 08:22
m: say @*INC
camelia rakudo-moar 8bd7ee: OUTPUT«Dynamic variable @*INC not found␤ in block <unit> at /tmp/tm5rbEx4zL line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/tm5rbEx4zL line 1␤␤»
uruwi That explains it. 08:24
timotimo o/ 08:25
stmuk_ maybe try something like ($*REPO.repo-chain()>>.Str).grep: *.IO.d 08:26
moritz the first thing it does in the loop is create CompUnit::Repository from the strings anyway 08:27
so maybe just "for ($*REPO.repo-chain() { ...
?
stmuk_ I think that would contain objects as well as directories 08:28
uruwi m: say ($*REPO.repo-chain()>>.Str).grep: *.IO.d
camelia rakudo-moar 8bd7ee: OUTPUT«(/home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6)␤»
stmuk_ oh moritz is right that's what you want anyway 08:29
I was never sure why the list contained two data types TBH 08:30
El_Che META.info is nowadays META6.json?
timotimo aye think so 08:33
stmuk_ yeah I think S22 changed
bioexpress Hi, could changing a signature from `( Array $list, %opt? )` to `( Array $list, Hash $opt? )` break the API? 08:34
stmuk_ actually it seems to change more frequently than I change shirts
uruwi Replacing @*INC with all that didn't get rid of the error, though. 08:36
moritz bioexpress: it could. The % sigil actually implies Associative (a role that Hash does), not Hash itself 08:39
bioexpress: but why would you even do that?
uruwi Did CompUnit::Repository change its definition? 08:42
Seems to have added an id method 08:43
El_Che the json extension is nice to get syntax highlighting in vim :) 08:46
sortiz Testing new R* MSI, found a more serious problem with p6doc: No documents are installed, because Build.pm fails. See github.com/perl6/doc/pull/383 08:48
moritz sortiz: I'm waiting for the travis check before merging that pull request 08:49
sortiz: and thanks for the pull request, btw :-)
bioexpress moritz: I don't change it - the question occured to me because `Array $list, %opt` looked a little "unbalanced" to me.
moritz sortiz: I've also invited you to the perl6 org on github, so you can push directly
bioexpress: right, I'd just use (@list, %opt) 08:50
bioexpress moritz: because it looks better or do I gain something else? 08:51
sortiz \o/ thanks moritz, I'll be very careful.
moritz bioexpress: because you can iterate over it 08:52
for @list { ... } # works
bioexpress moritz: is there a difference in speed between passing it as @list or as Array $list? 08:53
moritz bioexpress: yes, $ is always a scalar
timotimo not a difference in speed, really 08:54
bioexpress Thx, so I will try it with @list. 08:56
timotimo though ... maybe it does have an impact. i haven't measured
buharin hello :) 09:06
DrForr Mornin'. 09:07
dalek href="https://perl6.org:">perl6.org: 4039a64 | (Steve Mynott)++ | source/downloads/index.html:
explain star
buharin hey I was looking for list of module to implement 09:08
buharin but I don't know what to take :/ 09:08
for beginning
timotimo so you already found the "most wanted" project on github? 09:09
buharin no I didn't decide 09:11
El_Che buharin: github.com/perl6/perl6-most-wanted...-wanted.md 09:12
RabidGravy well I could do with a really good logging thing, an eventsource client, something a bit like SQL::Abstract and a few other things 09:13
buharin ye I look at this github.com/perl6/perl6-most-wanted...modules.md but I don't know what is best for beginnng 09:13
RabidGravy I would actually look at it from a different angle, think of an application that would be useful to you, look at how you might make it, make modules that might be neeeded 09:15
buharin RabidGravy: thats a point
El_Che buharin: you could send a PR to fix this module: github.com/retupmoca/P6-Net-SMTP/issues
buharin: if uses a method removed from rakudo 09:16
stmuk_ extending test coverage for existing modules is useful too since many don't test themselves at all 09:16
buharin okay ;-) I will look at it at home
DrForr The Standard code modules from I18n are relatively low-hanging fruit. 09:16
buharin when an web framework perl will be announced anyway? 09:17
DrForr Bailador is there but somewhat stale.
RabidGravy yeah, some standard locale stuff for dates, numbers and stuff would be useful
dalek c: d00b0c5 | (Salvador Ortiz)++ | Build.pm:
Update Build.pm

In windows File::Find::&find returns files with backslash (\) separator, so $dest.split fails to find '/doc' in them. See:
  ```
  > say $dest, '=>', $dest.split("$workdir/doc")[1];
C:\rakudo\tests\doc\doc\Type\X\Syntax\Signature\InvocantMarker.pod=>Nil
  > say $dest, '=>', $dest.split("$workdir\\doc")[1];
C:\rakudo\tests\doc\doc\Type\X\Syntax\Signature\InvocantMarker.pod=>\Type\X\Syntax\Signature\InvocantMarker.pod
  ```
09:19
c: a30c00d | sylvarant++ | Build.pm:
Merge pull request #383 from salortiz/patch-1

Fix Build.pm for proper Windows support
fireartist morning! How can I pass a %hash to a method with signature (*@args), such that it sees a single hash, instead of a list of kv pairs? 09:33
jnthn $%hash or %hash.item 09:34
yoleaux 4 Feb 2016 22:02Z <lizmat> jnthn: could it be that nqp::attrinited gives false positives? it may be buggy, as it only seems to be used in one place in nqp ?
fireartist jnthn: thanks - do you now what doc page explains that leading $ version? 09:35
jnthn .tell lizmat It's used in Mu.pm and is hit every single object construction. It's not buggy, but you do need to know that if anything did an nqp::getattr on the attribute then it'll have been vivified, and so count as atterinited. So if things are fetching it elsewhere in Hash/Map rather than doing the inited check, that may be the issue. 09:35
yoleaux jnthn: I'll pass your message to lizmat.
jnthn fireartist: doc.perl6.org/language/containers#F...containers seems to talk about it a bit 09:36
(May need to read earlier bits of the page for context) 09:37
fireartist jnthn++ thanks very much!
RabidGravy I might add an option to Test::lives-ok so that in the fail case it can print the full back-trace of the exception rather than just the message 10:01
the number of times I've had a lives-ok fail, not sure why gone from message to the test file and commented out the lives-ok part to jut get the full exception 10:02
dalek c/salortiz-remove-bat: 7195760 | (Salvador Ortiz)++ | bin/p6doc.bat:
Delete p6doc.bat, unneded with CURLI

In windows, at install time CURLI creates a bat file when needed, and this file results in an non-functional perl6 wrapper created in ..\\site\\bin.
10:17
partly hi 10:36
partly I'm trying to build the current moarvm 10:36
FROGGS hi partly 10:37
partly: and you are running into problems?
partly if i execute rakudobrew build moar i'm getting an error 10:38
partly is searching for an official perl6 nopaste
FROGGS partly: use any no-paste service you like 10:38
or gist.github.com
partly nopaste.linux-dev.org/?936462 10:39
partly I had some problems before but i fixed them by installing perl-Test-Harness and perl-ExtUtils-Command 10:39
But this one does not look like a missing dependency
timotimo when i got that error, i just had to nuke my install folder
and it went away 10:40
FROGGS no, looks more like NativeCall is unhappy
yeah, that might solve it
partly Why is native call unhappy
timotimo it's really hard to see that it's about nativecall, what with the obfuscated names
FROGGS timotimo: "bool" only exists in NativeCall land 10:41
timotimo yeah
timotimo but a regular user wouldn't know about that 10:41
FROGGS partly: I guess it is fetching a NativeCall::* package from a previous build from install/
true 10:42
partly FROGGS: this makes sense. I have a working perl6 installation
partly so just rm -rf ~/.rakudobrew/moar-nom/install/* should fix it? 10:42
travis-ci Doc build passed. Salvador Ortiz 'Delete p6doc.bat, unneded with CURLI 10:43
travis-ci.org/perl6/doc/builds/107200294 github.com/perl6/doc/commit/7195760740d8
pangur I have been trying out the perl6intro.com/#_running_perl_6_code and find that the script involving zoo animals does not work for me --- even though I merely copied it into my emacs. 10:43
The error message that I get is this:
perl6 test.p6 10:44
===SORRY!=== Error while compiling test.p6
Confused
at test.p6:5
------> <BOL>⏏my @animals = ['camel','vicuña','llama']
expecting any of:
statement list
Sorry, I hope that was not flooding.
FROGGS we usually use no-pastes for that as well
can you no-paste your test.p6? 10:45
if you put it in a gist we can run it here
pangur paste.fedoraproject.org/318894/ 10:46
FROGGS pangur: line 3 misses a semicolon at the end 10:47
timotimo why don't we give a good error about that?
pangur I just copied and pasted directly from the tutorial.
FROGGS m: use v6␤say 42 10:48
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XoL8rLLZpu␤Confused␤at /tmp/XoL8rLLZpu:2␤------> 3use v67⏏5<EOL>␤»
pangur ah not line 3
FROGGS m: use v6␤␤say 42 10:48
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TlMR3Ke8oN␤Confused␤at /tmp/TlMR3Ke8oN:3␤------> 3use v67⏏5<EOL>␤»
FROGGS m: use v6␤␤my $bar
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZV1IGAXgbG␤Confused␤at /tmp/ZV1IGAXgbG:3␤------> 3use v67⏏5<EOL>␤»
partly FROGGS, timotimo: Thanks for the advice, it seems to work
RabidGravy yep works fine with the ; on that line 10:49
FROGGS \o/
jnthn m: say 42␤say 43
timotimo partly: glad to hear it!
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/lz83psBHwF␤Two terms in a row across lines (missing semicolon or comma?)␤at /tmp/lz83psBHwF:2␤------> 3say 427⏏5<EOL>␤ expecting any of:␤ infix␤ infix stopper␤ postfi…»
flussence m: use Test␤my $bar
camelia rakudo-moar 8bd7ee: OUTPUT«5===SORRY!5=== Error while compiling /tmp/N3jsZb8jfn␤Error while importing from 'Test':␤no EXPORT sub, but you provided positional argument in the 'use' statement␤at /tmp/N3jsZb8jfn:2␤------> 3my $bar7⏏5<EOL>␤ expecting any of:␤ …»
FROGGS bbl
jnthn FROGGS: I think it only intuits it if there's a TTIAR
flussence: heh, that one is actually legal syntax :)
Oh no, you could do something horrible with that!
pangur OK, sorry for missing the semicolon at use v6; However I now get this error:
use of uninitialized value of type Any in string context in block at test.p6:15
RabidGravy my hovercraft is full of eels
timotimo jnthn: you could pass a variable to the EXPORT sub and have the export sub "is rw" it, you mean? :) 10:50
jnthn timotimo: Correct :)
flussence sounds like a case of DIHWIDT
pangur What is wrong with "say "We're going to let go: " ~ @animals.splice(1,2) ~ " and keep the " ~ @animals;" 10:51
partly I executed rakudobrew build moar && rakudobrew build-panda
jnthn flussence: I'm sure it could be used to good effect, I just hadn't thought of it :)
partly if i execute perl6 --version it shows me Rakudo version 2015.12... built on MoarVM version 2016.01
shouldn't i have the Rakudo version 2016.01 after update?
jnthn partly: I think it builds HEAD, but 2016.01 was done from a release branch that didn't get pulled back into HEAD yet. 10:52
dalek c: 7195760 | (Salvador Ortiz)++ | bin/p6doc.bat:
Delete p6doc.bat, unneded with CURLI

In windows, at install time CURLI creates a bat file when needed, and this file results in an non-functional perl6 wrapper created in ..\\site\\bin.
c: 7b80938 | (Salvador Ortiz)++ | bin/p6doc.bat:
Merge pull request #384 from perl6/salortiz-remove-bat

Delete p6doc.bat, unneded with CURLI
jnthn partly: I don't really know how rakudobrew works, but I think you'd need to give it the tag name to build precisely 2016.01
partly jnthn: so how do you upgrade and deploy perl6 if you are not using rakudobrew? I thought this is the official way? 10:53
RabidGravy it's a way 10:54
pangur paste.fedoraproject.org/318897/54669607/ shows the output from the tutorial script.
RabidGravy rakudobrew makes it easy to manage the various versions in a way like perlbrew
but installing from source may be better for "production" use 10:55
pangur I am wondering if my perl6 is properly installed? Is there a way I could tell?
jnthn partly: Using the releases is another way: rakudo.org/
El_Che --> packaging to rpm/deb, etc
RabidGravy pangur, what does "per6 -v" say? I don't get that running the same code 10:56
pangur This is perl6 version 2013.12 built on parrot 5.9.0 revision 0 10:56
partly i see 10:57
RabidGravy pangur, way old, you will need to upgrade
pangur ah ok, thanks RabidGravy.
I only installed it yesterday :)
RabidGravy where from? and how?
flussence from a bad distro, I'm guessing...
RabidGravy parrot isn't even supported any more afaik 10:58
pangur sudo apt-get install perl6 I think.
RabidGravy lawks
flussence ah, Debian Stale.
pangur I use linuxmint
El_Che Debian Stale :)
aha
flussence same thing :)
pangur So, how should I install it instead? 10:59
RabidGravy pangur, rakudo.org/how-to-get-rakudo/
partly btw zef or panda? which one should be used?
pangur click
RabidGravy a number of options
pangur OK, thanks for the link 11:00
timotimo hahaha, 2013.12, that's kind of hilarious :) 11:03
timotimo twitter.com/dclinephx/status/695470443164110849 - cool. i wonder if we can haz slides? does anybody know this person? 11:09
partly are the FOSDEM Perl6 videos already online some where? 11:11
timotimo video.fosdem.org/2016/STATUS.txt - the number hasn't gone up since last night. last night there were no perl6 related videos yet 11:12
partly timotimo: thanks 11:12
Ven the names rooms are :| 11:16
pangur I removed perl6, installed rakudobrew via git clone, and I still seem to have parrot 5.9.0 revision 0 :(
Ven s/names rooms/room names/ 11:17
pangur: huh?
timotimo pangur: with "which perl6" you can find out where it takes the perl6 binary from
pangur '/usr/bin/perl 11:18
timotimo OK, so somehow it's still installed system-wide
not sure how to determine if that's what dpkg installed for you
pangur It was perl5 originally
flussence wait, *what*? 11:19
pangur that was at /usr/bin/perl
timotimo huh?
did you just type and forgot the 6?
pangur '/usr/bin/perl6 11:20
pangur I did which perl rather than which perl6 11:20
timotimo OK
pangur Sorry
timotimo so, something's still giving you a /usr/bin/perl6? 11:21
pangur yes but it obviously is not the perl6 version that I had been hoping for. 11:22
timotimo right. so you've tried to uninstall the perl6 package, but it somehow didn't work? 11:23
pangur When I do sudo apt-get remove perl6, it says Note, selecting rakudo instead of perl6
timotimo that could be all right
pangur Ah, I have now autoremoved libparrot5.9.0 nqp parrot parrot-minimal 11:25
timotimo but none of those packages should provide the perl6 binary 11:25
well, it's a moot point, that stuff is years out of date and we can't change it now
pangur Now, when I do perl6 -v I get bash: /usr/bin/perl6: No such file or directory 11:27
That sounds as I am making progress, I hope :)
timotimo it's interesting that it's giving you a specific path
pangur I have perl5 still installed. 11:28
Does that make a difference?
timotimo no, perl6 and perl5 are completely separate
pangur phew
I think my system relies on perl5 11:29
sortiz pangur, Yes! You NEED perl5 to build rakudo.
DrForr And to run a lot of what's on your system already, for that matter :)
pangur Yeah, I still have perl5. 11:30
Am removing directories referring to rakudo
sortiz night #perl6 11:31
timotimo it's generally a bad idea to manually muck with files managed by the package manager, but since you've already killed the packages, it may be all right
gnite sortiz
pangur OK, I have gotten as far as to git clone rakudobrew. 11:38
At this point, it looks as if I am faced with choiuce moar or panda. 11:39
choice
RabidGravy moar
timotimo that's not really a choice 11:40
"build moar" will give you a rakudo perl6 based on the MoarVM
pangur I have to do panda as well?
timotimo "build panda" gives you the module installer 11:41
pangur ok
thanks
timotimo panda won't run without a perl6
pangur I missed these steps last time
I noticed that I could not sudo rakudobrew build moar, only rakudobrew build moar. 11:43
Rakudo has been built and installed. 11:44
flussence the last person who blindly ran rakudobrew as root nuked their entire OS
jast there were symlinks involved in that case, too 11:45
timotimo yes, not sudo, please
blind + unlucky in that case
pangur Someone made the installer clever enough to prevent it. That is good.
I am currently installing panda 11:46
built panda :)
watching Task::Star install 11:48
This is Rakudo version 2015.12-242-g8bd7ee6 built on MoarVM version 2016.01 implementing Perl 6.c. 11:54
timotimo good :) 11:55
pangur is in a happy mood
pangur goes to test his zoo :)
azawawi hi #perl6 11:56
pangur Now I get perl6 test.p6 /bin/bash: perl6: command not found 11:57
Am I ever going to get this zoo working?
pangur OK, I have gotten it. If I use the terminal, I am OK. 11:59
azawawi atom.io/packages/atom-perl6-editor-tools # New release of Atom Perl 6 editor tools (v0.7.0) 11:59
pangur Thanks for your help, timotimo 12:00
timotimo you're welcome :) 12:01
timotimo azawawi: do you think it'd be sensible to make the rendered pod use atom's theme? 12:02
timotimo briefly falls over from random, unreasonable exhaustion 12:03
azawawi timotimo: github.com/azawawi/atom-perl6-editor-tools#todo
timotimo: :)
timotimo: sure im adding features and fixing TODOs :) 12:04
timotimo: vim Perl 6 snippets are up
azawawi timotimo: prove-ing test is also there... 12:04
timotimo i saw :)
azawawi timotimo: now to syntax checking :) 12:05
timotimo: basically farabi6
ZoffixWin .tell MadcapJake because I wanted to be cool and popular!
yoleaux ZoffixWin: I'll pass your message to MadcapJake.
azawawi ZoffixWin: you're cool and popular :) 12:05
ZoffixWin .tell MadcapJake but it's my understanding META6.json is what the file should be called now and META.info is the old name so *shrug* 12:06
yoleaux ZoffixWin: I'll pass your message to MadcapJake.
pangur My program will run in terminal but my emacs cannot find perl6, and I am not sufficiently smart to be able to tell it how to find it :)
'/bin/bash: perl6: command not found 12:07
ZoffixWin `type perl6` script.p6
:)
`which perl6` script.p6 12:08
Two thoughts crossed :P
azawawi the last one is better
ZoffixWin Actually... never mind that won't work either. I should at least drink 1 cup of coffee before I start helping someone :)
azawawi since the first one returns 'perl6 is hashed (/home/azawawi/.rakudobrew/bin/perl6)'
pangur Which perl6: /home/calum/.rakudobrew/bin/perl6
azawawi i stopped drinking instant coffee and now im better :) 12:09
ZoffixWin pangur, so use that. My guess is inside emacs, your PATH does not include the Rakudobrew path
pangur I suppose I should ask in the emacs room. 12:10
azawawi pangur: also github.com/hinrik/perl6-mode seems useful 12:11
pangur ah, thanks for that link, azawawi :) 12:12
llfourn_ m: role R { multi method foo(Cool) { } }; class C { multi method foo(Str) { } }; my $t = C.new does R; $t.foo("yo") 12:13
camelia rakudo-moar 8bd7ee: OUTPUT«Ambiguous call to 'foo'; these signatures all match:␤:(C $: Str $, *%_)␤:(C+{R} $: Cool $, *%_)␤ in block <unit> at /tmp/sZw_0DpxCb line 1␤␤»
llfourn_ can anyone explain to me what that is "Ambiguous"?
why that is*
I think it's a bug
m: role R { multi method foo(Cool) { } }; class C does R { multi method foo(Str) { } }; my $t = C.new; $t.foo("yo") # works if you don't use a mixin 12:15
camelia ( no output )
ZoffixWin m: role R { multi method foo(Int) { } }; class C { multi method foo(Str) { } }; my $t = C.new does R; $t.foo("yo") 12:15
camelia ( no output )
ZoffixWin yeah, probably a bug
llfourn hmm interesting why does that work?
ZoffixWin Because Cool includes Str 12:16
But Int doesn't
llfourn right yeah ofc :S
ok thanks RTing :) 12:17
ZoffixWin m: role R { multi method foo(Str) { } }; class C { multi method foo(Cool) { } }; my $t = C.new does R; $t.foo("yo") 12:18
camelia ( no output )
ZoffixWin Also works if the role provides the narrower class
llfourn interesting... 12:19
im guessing it's using the role's one
ZoffixWin m: role R { multi method foo(Str) { say "role"} }; class C { multi method foo(Cool) { say "class"} }; my $t = C.new does R; $t.foo("yo") 12:19
camelia rakudo-moar 8bd7ee: OUTPUT«role␤» 12:19
jnthn llfourn: Not a bug 12:35
llfourn: Given A <: B, the signatures (A, B) and (B, A) will be tied.
And your case is just an extension of that 12:36
(C, Str) and (C+R, Cool) will be tied
Because C+R <: C, but Str <: Cool 12:37
llfourn jnthn: so there is an intended difference between Class.^mixin(R) and class Class does R { }?
jnthn llfourn: Very much so
llfourn hmm ok I'll have to ponder that 12:38
jnthn The first is for per-object mixins
The second is for compile time composition
llfourn is there anyway to get the same MMR in a runtime mixin as if it had been compile time composed?
masak llfourn: all other things being equal, no. 12:39
llfourn: they are different mechanisms, as jnthn points out above. 12:40
jnthn No; runtime mixins are defined as "create an anonymous subclass and compose the role into that"
And you generally *want* that, because otherwise you'd not be able to override multis in a mixin 12:41
lizmat .messages
yoleaux 09:35Z <jnthn> lizmat: It's used in Mu.pm and is hit every single object construction. It's not buggy, but you do need to know that if anything did an nqp::getattr on the attribute then it'll have been vivified, and so count as atterinited. So if things are fetching it elsewhere in Hash/Map rather than doing the inited check, that may be the issue.
llfourn ok thanks (masak and jnthn)++ I will have to reconsider what I am doing :)
lizmat jnthn: but that basically means I cannot use attrinited for hash access 12:48
jnthn lizmat: Well, it means you'd need to review all of Map/Hash and consistently use it 12:50
lizmat well, I've been reviewing until I was blue in the face, but I couldn't find what was causing the failure 12:51
and since this is pretty low level code, putting debug statements in there generally means creating an infinite loop 12:52
because somewhere a hash access is being used :-(
coming up with a minimal patch
jnthn lizmat: nqp::say('foo') would probably be low-level enough 12:55
lizmat can I do an attrinited check twice ? 12:55
on the same attribute ? or will the 2nd one give 1 ? 12:56
jnthn Yes, you can do it twice
lizmat ok
jnthn it's nqp::getattr or nqp::bindattr that will cause change
lizmat even an nqp::say stops it from installing core modules :-( 13:04
trying again with another conditional
jnthn nqp::printfh(nqp::stderr(), 'msg') maybe... 13:05
lizmat now it hangs building the restricted setting :-( 13:06
dalek kudo-star-daily: 5987eb2 | coke++ | log/ (9 files):
today (automated commit)
13:10
lizmat jnthn: for reference, nqp::getstderr :-)
jnthn ah :) 13:12
lizmat jnthn: so it indeed claims to be inited, when it isn't 13:13
this is in a hash returned from process-cmd-args in MAIN_HELPER 13:14
no named args are given, so the hash is not touched and returned
jnthn lizmat: Then something must have nqp::getattr'd the storage at some point 13:16
lizmat yes, but if I try to simulate that situation, there is no issue :-(
abraxxa are we interested to let Michael Larabel (phoronix.com, OpenBenchmarking.org) benchmark the various Perl 6 compilers/releases?
jnthn lizmat: I think it'll need a systematic look at all the nqp::getattr usages in Map and Hash and maybe Stash 13:17
lizmat the odd thing is that it passes the entire test-suite, only breaks on 'perl6 -e 'sub MAIN($foo) { }' 13:19
trying to see if --help was specified
timotimo abraxxa: i wonder what code he'd be running to benchmark stuff 13:25
abraxxa timotimo: I think those examples from rosetta code would be a good starting point to also compare to other languages/compilers 13:27
lizmat m: sub a(@args is copy) { my (@a,%h); @a,%h }; my ($a,$h) = a(my @); if $h<help> { say "help" } # jnthn: simulation 13:28
camelia ( no output )
lizmat hmmm... actually: 13:29
m: sub a(@args is copy) { my (@a,%h); @a,%h }; my ($a,$h) := a(my @); if $h<help> { say "help" } # jnthn: simulation
camelia ( no output )
lizmat it needs binding, rather than assigning
lizmat trying without binding 13:29
aaaaahhhh 13:31
(erlebnis) 13:32
pmurias timotimo: picking what to benchmark seems to be the hard part to comparing programming language performance
abraxxa my thought was to 'outsource' that to him as I'm pretty sure he would be interested 13:33
lizmat abraxxa timotimo would be great to get an extra set of eyes on performance development 13:38
timotimo aye
i haven't run the benchmarks in a long time, i think
timotimo right now my desktop is plenty busy. listening to music, browsing the web, will be working soon 13:38
of course i usually head out of the home and shut down all applications once a day for a few hours ... in which i could run benchmarks on the machine as idle as i can get it 13:39
abraxxa is there an 'official' benchmark for Perl 6?
Woodi hi #perl6 :) 13:40
abraxxa Hi! 13:40
Woodi [Coke]++ / perl6devs++ # R*201601 :)
timotimo well, we have perl6-bench 13:41
(two with the same name, actually)
Woodi ...and there is speedup from 30x perl5 to 23x ! :) ; but perl5 slowed down from 0.044 (last ~2 years to 0.046) 13:42
abraxxa timotimo: how can i run it? 13:42
timotimo git clone [email@hidden.address]
it has a "quickstart" function
El_Che speedup from 30 to 23? 13:43
timotimo that downloads, compiles, times and compares a bunch of revisions of different rakudos and nqps
El_Che is it a plain, a bird, sarcasm?
lizmat El_Che: from 30x slower to 23x slower
Woodi El_Che: nothing scientific :) just very rounded numbers
El_Che aaaah
:)
abraxxa git clone github.com/japhb/perl6-bench for the firewalled me
dalek kudo/nom: d488bb0 | lizmat++ | src/core/Capture.pm:
Make sure we use attrinited for creating Captures
13:44
abraxxa why is panda so slow on its first start? downloading something? if yes it should print a message to the user
panda installdeps . should be added to README.md
Woodi as for R* 201601: make install (with installing modules) is seriously to slow...
pmurias jnthn: do we have a way in QAST to detect/mark a lexical sub as immutable? 13:45
abraxxa huh?
panda installdeps .
resolve stage failed for .: Project . not found in the ecosystem. Maybe try "panda update" first?
El_Che dunno who did the magic, but perl6 repl + linenoise is no longer slow
jnthn pmurias: Not sure what you mean?
abraxxa what is 2016.01.1? a small patch ontop of 2016.01?
El_Che precomp thing?
timotimo yeah, most probably precomp 13:46
abraxxa can we do precomp on install?
El_Che also, also scripts get precomp love
timotimo hmm. installing runs tests, which causes precomp. but i think tests run before an actual installation happens, so the precomp stuff wouldn't actually land in the global precomp store, right? 13:47
pmurias jnthn: if I have my sub foo() {...} and when can statically determine that &foo doesn't get rebound to anything I could optimize the calls to &foo a lot
s/when/we/ 13:48
abraxxa i know that the debian python package does precomp on install because the user doesn't have right to write to the dirs where the library files are located and the precomp files would be generated by the compiler
jnthn pmurias: Part of that is covered by the getlexstatic op, iirc 13:48
pmurias: Though that means "and there's no closure semantics"
gfldex abraxxa: i turned .pod files into modules to get them precompiled. The speedup was 20x . 13:49
jnthn pmurias: Which covers things from UNIT and CORE.setting 13:49
gfldex rakudo is really good at being slow :->
abraxxa builds 2016.01.1
jnthn gfldex: It does pretty well compared with a few years back :)
So the trajectory is right at least. :) 13:50
abraxxa1 that was my f***** work notebook running OOM due to Chromium talking the usual 4gigs, thunderbird 1gig and rakudo compiling in addition to the others things open 13:53
abraxxa and what in gods name do i have to do to not allow any damn app stealing focus??? 13:55
gfldex abraxxa: for proper focus management see: www.enlightenment.org/ 13:56
abraxxa gfldex: sadly there seems to be not a single distro shipping it
arnsholt I wouldn't be surprised if that's one of those things that's impossible to manage completely under X11 13:57
abraxxa ah, it seems the 'honor ICCM standard focus flag' doesn't go with 'focus stealing prevention'
gfldex debian got e17
abraxxa i'll check it out this weekend 13:59
gotta catch my train
ping me if you want me to contact Michael regarding benchmarking perl6
bye!
*wink*
Woodi about R* make install: maybe there could be 'make modules' target ? if it would be skippable then it would be very nice 14:10
timotimo why would you ever want to skip the modules installation if you get rakudo star? 14:11
ugexe msi installation is eaiser than rakudobrew on windows 14:11
although i guess someone on windows probably isnt using `make` on an msi :o 14:14
pmurias is there a way in git to avoid the ability to lookup history with blame when spliting a large file into many small parts? 14:24
Woodi timotimo: becouse R* is "official" release, I think it gets more work then just add modules to R release. but maybe you are right
timotimo it gets more work? 14:25
lizmat m: my $b = $*FOO
camelia ( no output )
lizmat hmmm...
azawawi timotimo: ping 14:30
timotimo here 14:31
azawawi timotimo: github.com/azawawi/atom-perl6-edit...t-altctrlo # as requested earlier :)
timotimo: ctrl-f5...
btw, seems like github does not update uploaded images right away 14:32
azawawi so if you link to it, it takes like 1-2 minutes to update 14:32
timotimo sweet!
i do see it
azawawi no back to the syntax checker :) 14:33
mscha m: say "Hello"; $*OUT.say: "World"; # I hate this inconsistency 14:34
camelia rakudo-moar d488bb: OUTPUT«Hello␤World␤»
uruwi What's different? 14:35
mscha uruwi: the :
uruwi It's the difference between a sub and a method call
mscha I know, but I still hate it. :)
timotimo well, think about accessors
dalek kudo/nom: 7acf5cc | lizmat++ | src/core/stubs.pm:
Make dynamic lookups 2% faster
14:36
timotimo oof, that's only 2%? 14:38
welp
flussence 2% of $hugenum is still a good thing 14:40
timotimo it seems like that's only for the initial initialization of dynamics? 14:43
lizmat timotimo: it was pretty optimised already
timotimo right. we also have the dynamic var cache
lizmat yeah, only if the dynamic isn't found in any lexical scope
dynamic var cache ? 14:44
lizmat you mean PROCESS:: ? 14:44
timotimo no, at the MoarVM level
lizmat and that's visible at Perl 6 level ? 14:44
timotimo no
i don't know exactly how it works, but i think every call frame has a little piece of space it will put dynamic variables in that it has looked up already
lizmat ah, ok :-)
timotimo all you can tell is that it's a bit faster
jnthn Yeah, it's hidden behind how Moar implement getlexdyn 14:45
timotimo like any good cache :)
lizmat jnthn: so there is no point in storing a dynamic in a lexical to improve performance ?
timotimo there is. the cache is limited in size and it's not perfect
lexical lookup is still way faster than dynamic var lookup, until we have tracing in spesh 14:46
which might happen this year, or maybe not.
jnthn lizmat: That can still be useful, though the second time you'll likely hit the cache, if you didn't the first time.
But yeah, lexical access - especially JIT-compiled - is really cheap.
lizmat ok
hoelzro good *, #perl6! 14:48
RabidGravy RARR!
timotimo ohai 14:49
dalek kudo/nom: 37aac8d | lizmat++ | src/core/Str.pm:
Change some existskeys into ifnulls
14:53
hoelzro o/ RabidGravy, timotimo
El_Che "Private multi-methods are not supported" is that a feature or a work in progress? 14:54
flussence probably WIP, but couldn't you just use lexical multi-subs there anyway? 14:56
jnthn El_Che: We'll support them in a future Perl 6
timotimo lexical multi-subs won't have access to self, necessarily
jnthn They're fairly often requested.
El_Che jnthn: thx for the info.
timotimo though you can use the simple first-argument trick with it
El_Che timotimo: you mean a sub with self as a parameter? 14:57
timotimo yeah, because when you $foobar.&my-sub(1), it'll call &my-sub($foobar, 1) for you 14:58
RabidGravy y'know the one good thing about Perl 6 allowing utf-8 characters in code? I actually get to work out how to type them using the compose key 15:07
pmurias hoelzro: hi 15:09
RabidGravy previously I maybe used a é every once in a while or a ñ or something but now there is no stopping me
hoelzro hello pmurias 15:10
El_Che RabidGravy: your new nick should be ñéñé
RabidGravy that would just be confusing
pmurias hoelzro: I'm splitting up the huge src/vm/jsQAST/Compiler.nqp file 15:11
dalek kudo/nom: 57ecc79 | lizmat++ | src/core/ (2 files):
Make Map<a> about 10% faster

Note that the change in CallFrame is needed, because it would otherwise create a Map with a hash with a different REPR that does *not* allow access non-existing keys without raising an exception.
15:16
hoelzro nice!
it's been a while since I've looked at the JS backend; I imagine it's gotten pretty big
pmurias hoelzro: I have a grant application for the the JS backend (to extend it to support full Perl 6) up for community review: news.perlfoundation.org/2016/02/ian...plica.html 15:18
dalek p: 885b540 | (Pawel Murias)++ | / (13 files):
[js] Split up the huge src/vm/js/QAST/Compiler.js file.
hoelzro pmurias: how different is that from what you posted to blogs.perl.org oh so long ago?
dalek p: 8237a68 | (Pawel Murias)++ | src/vm/js/nqp-runtime/bignum.js:
[js] Fix base_I with base = 16 and n=0.
15:20
p: 459b36d | (Pawel Murias)++ | t/nqp/60-bigint.t:
Add a regression test, and improve test description.
15:21
pmurias hoelzro: it should be mostly just reorganized (and with description of how I plan to tackle gather/take with continuations (of which a basic version is implemented) 15:25
pmurias hoelzro: also that one was a draft and this is the submitted version for which community comments are gathered before it's voted on ;) 15:26
El_Che perl6 -Ilib bin/certmigration.p6 --mail_interval=3 # say $mail_interval.WHAT; => (IntStr) 15:35
that's new :)
hoelzro pmurias: ah, ok! I'll give this another look, then! 15:36
lizmat El_Che : yes, allomorphs, added by ShimmerFairy if I remember correctly 15:37
they're basically like Perl 5 scalars :-) 15:38
m: my $a = IntStr.new("a",42); say +$a; say ~$a
camelia rakudo-moar 57ecc7: OUTPUT«Type check failed in binding $i; expected Int but got Str␤ in block <unit> at /tmp/aFRhQMuFxS line 1␤␤»
xenu pmurias: how js backend is supposed to work? i mean, it compiles p6 code to js as i understand, but is some kind of runtime library needed too?
moritz sure 15:39
lizmat m: my $a = IntStr.new(42,"a"); say +$a; say ~$a
camelia rakudo-moar 57ecc7: OUTPUT«42␤a␤»
lizmat
.oO( dualvars! :-)
gfldex xenu: most of Perl6 is implemented in Perl6. So getting hold of those runtime libs aint that hard.
dalek kudo/nom: 15ec392 | lizmat++ | src/core/Hash.pm:
Make Hash<a> about 10% faster
15:40
timotimo you turn Str into Str:D? didn't that use to make stuff slower?
xenu gfldex: wonder how it would fare performance-wise. while js vms are really fast, when you add libraries like jquery it slows down a lot 15:44
and you want to keep thing quick in the browser
xenu tings* 15:45
things*
anyway, it's a freakin cool idea to be able to write frontend in perl 15:46
xenu hope that pmurias will get the grant 15:47
timotimo me, too
moritz is in a grumpy mood, and thinks that frontend programming will still suck, even with Perl 6 in the browser
though probably less than with p6
xenu it can't be worse than it is now :) 15:51
lizmat timotimo: Str:D is correcter, and doesn't make a difference for methods, apparently
timotimo oh, huh. 15:52
timotimo perhaps only for the invocant? 15:52
lizmat m: my %h; say %h{Str}
camelia rakudo-moar 15ec39: OUTPUT«Use of uninitialized value of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at /tmp/iDmv2cb70F line 1␤(Any)␤»
MadcapJake wrt js backend, one thing i'd be worried about is JS errors 15:53
yoleaux 12:05Z <ZoffixWin> MadcapJake: because I wanted to be cool and popular!
12:06Z <ZoffixWin> MadcapJake: but it's my understanding META6.json is what the file should be called now and META.info is the old name so *shrug*
lizmat timotimo: that used to die
timotimo oh, ah
lizmat with unable to unbox type object
timotimo ugh, yes. ugly error message, definitely 15:53
lizmat afk for a few hours&
MadcapJake .tell ZoffixWin oh! I had thought it the other way around, didn't realize META6.json was the new standard. 15:55
yoleaux MadcapJake: I'll pass your message to ZoffixWin.
pmurias xenu: it will compile to js (and currently does for most of NQP) 15:57
MadcapJake: JS errors?
RabidGravy MadcapJake, META6.json is what is specified in S22 I think, most tools have supported both META.info and META6.json customarily 15:59
mscha m: 1..100 ==> grep *.is-prime ==> my @primes; say @primes; 16:00
camelia rakudo-moar 15ec39: OUTPUT«[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97]␤»
pmurias MadcapJake: you mean actuall bugs in javascript implementations? or how will stack traces work?
mscha Are feeds documented anywhere? Can't find on doc.perl6.org.
MadcapJake pmurias, i've done some programming in compile-2-js languages and anytime an error passes through to the JS error reporting, it's usually complete garbledygook, unless you plan on transpiling to pretty JS ala coffeescript
though sourcemaps are great as long as they are mapped really well 16:01
RabidGravy, is META.info some vestige of it being written in another format besides JSON? 16:02
pmurias MadcapJake: nqp-js has sourcemap support
RabidGravy MadcapJake, haven't the faintest idea when it crept in or why 16:03
MadcapJake pmurias, do the sourcemaps map really granularly? I know I've used some that just stick the point at the beginning of more complicated blocks
timotimo granu-gnarly
pmurias MadcapJake: I don't think there is a granularlity limit, I think it's just the compiler not doing it granularly enough 16:07
pmurias MadcapJake: for nqp-js some attention to detail will be required to make them work really way (and a part of the grant schedule is to work on such things as part of "user experience") 16:09
MadcapJake pmurias, agreed that it's always the compiler, sourcemaps could map down to the character. Well-made sourcemaps would make debugging in browser dev tools really nifty 16:11
timotimo doesn't seem like today saw any uploads of fosdem videos 16:12
MadcapJake :(
who's got the raw footage?
pmurias MadcapJake: in nqp-js the source maps are built in as a core part of emitting javascript (not hacked on a statement level or something) so it's a matter of "just" making sure they are correctly attachted everywhere when code is emitted 16:14
MadcapJake pmurias, nice! 16:14
pmurias got to go& 16:15
MadcapJake anyone have advice on writing a search algorithm for my issue submitter? I'd like to let users write their whole subject line and the backend will try to find closely related tickets 16:27
timotimo deep learning/neuronal nets, obviously 16:28
DrForr Sure, bring on the Singularity. 16:30
moritz ääääÄÄÄÄÄÄÄäää 16:33
+ee
perlpilot "In other news today ... it appears that a search engine for Perl 6 modules has accidentally created Skynet ... "
MadcapJake my current naive thinking is, take out all pronouns, prepositions, articles, and run the rest of the words through a search of rt.perl.org, then give points for any shared results, then take larger words and break off varying portions of them, run more searchs, give more points 16:34
perl6newbee hi all
perlpilot MadcapJake: sounds reasonable to me. 16:34
perl6newbee: greetings
llfourn MadcapJake: have you considered using a database that does this already? 16:35
MadcapJake llfourn, how do you mean?
perlpilot If it could also search with related words (rather than just stems) that would be neat
llfourn MadcapJake: like elasticsearch has a tokenizer which removes stopwords and gives decent weighted search results 16:36
if you like to implement search algorithms though be my guest :D
MadcapJake llfourn, does it cost money though? 16:37
llfourn MadcapJake: nope
also mongodb has a less flexible but decent one: docs.mongodb.org/manual/core/index-text/
MadcapJake oh i see, you mean place all the tickets in a database 16:38
llfourn oh isn't that what you're doing?
MadcapJake well my current plan was to just use a bunch of calls to the `rt` command line tool :D
but that would probably be easier and would potentially save me from getting banned from all the queries this app would do :P 16:39
perl6newbee the bit riot thursday blog post by Zoffix intrigued me to use IO::Prompt and/or Tree--Simple to increas my Perl6 foo. Which is very limited. It is recommend for an newbie?
llfourn sure I don't even know abou this rt command. You can already do text-indexed searchs on RT? 16:40
I mean I know the web based search but it seems to suck a bit
MadcapJake yep, rt command line tool, hoelzro told me about
llfourn MadcapJake++ interested to see what you come up with :)
hoelzro MadcapJake: I think that an RT REST client wouldn't be a bad addition to the ecosystem either ;)
llfourn does RT have a REST API? 16:41
hoelzro mhmm
MadcapJake hoelzro, well i could wrap this cli up in a module
hoelzro that's how the CLI works
llfourn where is the documentation for this?
MadcapJake yeah i can't find that link you sent me either :P
hoelzro MadcapJake: that works too! I have a script I've been working on that wraps the RT CLI client
MadcapJake llfourn, requesttracker.wikia.com/wiki/REST 16:43
llfourn MadcapJake: cheers
MadcapJake here's my current issue submitter server for anyone interested hastebin.com/asunozejef.pl6 16:48
stmuk_ MadcapJake: I have used compression to measure how similar text is 16:49
MadcapJake stmuk_, how would you do that? 16:50
stmuk_ MadcapJake: if A & B appended compress well they are similar text
MadcapJake how do you measure "compress well"
stmuk_ compression ratio
MadcapJake ohh i see 16:51
that's a really nifty idea
llfourn I guess you could *try* and narrow down the search results like that 16:52
hoelzro that's really cool 16:53
you could probably use cosine or jaccard similarity, or a bag of words model 16:54
but I think that bag of words may be difficult
MadcapJake llfourn, i'm actually in the midst of installing elastisearch, will give it a go, I like the idea of only running one request every few minutes for new tickets rather than ~10 requests per search via the cli method
llfourn buys guns and ammo for the impending skynet
moritz perlpunks.de/paste/show/56b4d3cf.64f.9d is this idiomatic code for workings blocklingly consuming for a queue? 16:55
hoelzro MadcapJake: careful with that say $output; on line 21; some servers will use STDOUT for the response body
hoelzro I'm sure it's just for debugging, but it would probably be better to use note 16:56
MadcapJake hoelzro, what's note?
llfourn MadcapJake: me too. From what I remember it gives pretty natural search results.
hoelzro say for standard error
MadcapJake woah, didn't. even. know.
hoelzro also, $output.split("\n") is probably written better as $output.lines
MadcapJake oh yeah! thanks for the tweaks! 16:57
is there a better way to write L19? seems like there should be a convenience method for this
hoelzro if you used run, you could say my $p = run(..., :out); my $output = $p.out.slurp-rest;
llfourn MadcapJake: what would be cool is if we could figure out a way to find the error message in the RT or if the web interface submitter had a field for error message so that could be indexed and weighted specially.
hoelzro also, if you use that tap, you probably should do ~=, not = 16:58
otherwise, if you have a lot of results, the first chunks will get clobbered
MadcapJake hoelzro, yeah that's happened to me before, it seemed like rt was printing it all out in one go though, but better safe than sorry! 16:59
hoelzro MadcapJake: it does, but you can't guarantee the chunk size with stdout.tap, iirc
MadcapJake oh ok, good to know!
hoelzro it's *probably* the stdlib buffer size, but I'm not sure
Skarsnik Hello 17:02
AlexDaniel o/
hoelzro hi Skarsnik! 17:03
Skarsnik I was wondering is there some plan for the Google Summer of Code about Perl 6 ?
perlpilot TPF would have to get accepted as an organization first 17:05
(I recall a couple of years ago that they did not)
[Coke] yup. not up to the perl 6 devs. it's up to the org, and in the past when tpf was accepted, there were p6 projects. 17:06
[Coke] and after being passed over for new orgs recently, I would be surprised if someone tried agian. 17:06
moritz well, the Perl 6 devs could apply as a separate project, no? 17:10
or does one need to be a legal entity somehow?
perlpilot developers.google.com/open-source/gsoc/rules scroll down to section 3. Organizations 17:13
Skarsnik Well there is a concrete release now, it probably have more chance 17:17
moritz doesn't sounds like it needs to be a legal entity
[Coke] moritz: you need to be an org of some kind and be able to handle $$ 17:19
[Coke] It's a lot of work. unless we have someone who is SUPER dedicated to it, it's probably not worth it. 17:19
if we can glom onto an existing org, awesome, let's do that. 17:20
moritz [Coke]: iirc SPI or some other non-profit can handle the money transfer stuff
[Coke]: but you're right that it's quite much work 17:21
perlpilot The gosc faq also says: "The project does not need to be a legally incorporated entity."
TimToady "the project" is usually a student, I'd think 17:23
yoleaux 1 Feb 2016 13:41Z <gfldex> TimToady: please have a look at irclog.perlgeek.de/perl6/2016-02-01#i_11972281
TimToady well, maybe it's an intermediate layer...
RabidGravy I was involved in a GSoC with the TPF ages ago and it turned out to be a massive PITA and IIRC everyone involved at the time vowed never again 17:26
moritz I've been involved in at least three GSoC projects as mentor or backup mentor, and found that it worked rather well 17:27
perlpilot developers.google.com/open-source/.../faq?hl=en very bottom of the page 17:29
mspo I was the admin last year and didn't get selected, it was a bummer 17:30
(for netbsd gsoc)
moritz they seem to have thrown out quite a few established orgs last year 17:31
mscha m: 1..100 ==> grep *.is-prime ==> my @primes; say @primes; # are feeds documented? Can't find at doc.perl6.org... 17:32
camelia rakudo-moar 15ec39: OUTPUT«[2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97]␤»
moritz mscha: probably not 17:34
azawawi atom.io/packages/atom-perl6-editor-tools # v0.8.0 - Perl 6 syntax checker lint support and POD-theme friendly viewer 17:35
geekosaur feeds are still rather speculative 17:37
Hotkeys I should probably start using 'sum' for golf instead of '[+]' 17:44
same number of characters and more readable
mscha Hotkeys: isn't that a bad thing in golf? 17:45
Hotkeys lol
only if you're writing in pyth or cjam
nemo grr. why does ↑ not do anything in the perl6 shell. I'm used to being able to access old commands 17:47
I'm on 2015.11
mscha nemo: panda install Linenoise 17:48
[Coke] nemo: you need to install a module.
nemo ah.
mscha Not sure that works on 2015.11, but you should upgrade to 2016.01 anyway.
hoelzro Linenoise *may* not work on 2015.11
[Coke] also, you should be on 2016.01
nemo mscha: I was trying to stick to the distro perl6 here
[Coke] heh. I am clearly 10 seconds behind mscha today. :) 17:49
nemo which probably means I'll just put up w/ not having that stuff
[Coke] nemo: at least get to 2015.12
mst nemo: 2015.11 isn't a perl6 install, the spec wasn't finalised until 2015.12
nemo hm
mst nemo: just don't bother with it, you'll just buy yourself pain
nemo odd. I thought Locutus was trying to package the upstream debian of stable
nemo pokes him
mst it's entirely possible the debian package is obsolete as well
nemo oh. he's not around. later I guess
[Coke] mst is not technically correct, but he's pretty correct. :)
mst yeah. "isn't a perl6 install" for any useful-as-of-today-values-of-perl6-install is what I meant 17:50
nemo mst: ok. so the thing is. perl6 is barely on our radar here, but I probably should stick to things other people would actually have on their computers
mst: it's kinda like "X is only in latest nightly of rust"
although luckily that's not really too much of a problem anymore with rust
mst nemo: the distro package story currently sucks somewhat 17:51
there's a gentoo overlay that gets you a sensible one ;)
nemo hm... 17:52
nemo checks to see if this machine has the ppa at least 17:52
dalek href="https://perl6.org:">perl6.org: ad3e873 | (Zoffix Znet)++ | source/index.html:
Fit announcement box on one line
18:01
nine -win 36 18:10
dupa hey how perl6 Struct can handle callback? 18:17
DrForr dupa: As happens github.com/drforr/perl6-Inline-Scheme-Guile has an example of that. 18:19
dupa DrForr, but where?;s 18:21
DrForr Wait, do you mean CStruct?
dupa DrForr CStruct representation only handles int, num, CArray, CPointer, CStruct, CPPStruct and CUnion 18:22
dupa and I need smh like &callback (Str --> in32) 18:22
AlexDaniel I've never liked that 「map」 requires a code block first. Most of the time I want it to be 「map」 → list → block, exactly in this order. So here is what I came up with: 18:23
m: say map |(<4 8 15 16> R, { $_ + 3 });
camelia rakudo-moar 15ec39: OUTPUT«(7 11 18 19)␤»
[Coke] btw, the way to get rid of spam tickets in the RT queue is to click the red S in the upper right hand side. 18:23
llfourn AlexDaniel: isn't that what for is for
[Coke] presumably this helps train the system to better catch future spam. 18:24
DrForr dupa: I use Str inside CStruct just fine, it's just a pointer to C.
dupa I don't understand
AlexDaniel llfourn: you mean that I can use list comprehension instead of map in this case? 18:25
llfourn: I don't think that I like that
DrForr dupa: Time for a pastebin or gist so I can see your code. 18:26
llfourn AlexDaniel: what is R?
TimToady m: say map <4 8 15 16>: { $_ + 3 }
camelia rakudo-moar 15ec39: OUTPUT«(7 11 18 19)␤»
[Coke] reverse metaop
m: say 3 R- 4
camelia rakudo-moar 15ec39: OUTPUT«1␤»
AlexDaniel TimToady: what, how does that work?
TimToady that's the invocant colon 18:27
dupa DrForr, I am trying to port wiki.libsdl.org/SDL_RWops
AlexDaniel TimToady: okay, that's much better 18:28
dupa so in Struct I should place &.size(Pointer[SDL_RWops] --> Sint64)
TimToady m: say do for <4 8 15 16> { $_ + 3 } 18:29
camelia rakudo-moar 15ec39: OUTPUT«(7 11 18 19)␤»
TimToady m: say (for <4 8 15 16> { $_ + 3 })
camelia rakudo-moar 15ec39: OUTPUT«(7 11 18 19)␤»
TimToady TMTOWTDI 18:30
RabidGravy dupa that doesn't work right now 18:31
dupa RabidGravy, so SDL porting need to be stop ;s
DrForr dupa: Ah, got it.
RabidGravy You're the second person to ask about this in so many days, or you're the same person asking the same question again 18:32
dupa I asked again ;D
cause I didn't get
last time 18:33
[Coke] how can I tell what version of panda I'm running? 18:33
DrForr dupa: You're welcome to try to add it yourself. Have you filed a request? 18:34
dupa I don't know how
:<
[Coke] updates panda jic 18:35
DrForr How to file a request? [email@hidden.address] IIRC.
RabidGravy the long answer is: at the current time rakudo NativeCall does not allow for structs with pointers to functions, if you really need to deal with such an interface then the easiest way would be to make a small wrapper library that exposes the functions as normal ones that the NativeCall can handle
dupa RabidGravy, no I don't want to make wrapper 18:36
DrForr Which is something of what Inline-Scheme-Guile does.
AlexDaniel TimToady: cool 18:36
dupa where to find implementation of perl6 native calls? 18:38
DrForr dupa: What that's saying is you don't want to work around or fix the problem, so I guess you ... get to wait with the rest of us?
dupa: If you're using rakudobrew, in .rakudobrew/ somewhere in NativeCall.nqp? 18:39
dupa raked is perl implementation? 18:40
I use rakudo star
RabidGravy yeah, but all the important parts for this particular case are in moar, I looked the other day having concluded it was doable but got lost in the moar code 18:41
DrForr dupa: I don't use R* so I can't tell you where to look. If that's a precompiled binary you'll have to look in the github repo. 18:42
dupa I am looking for right now ;-)
DrForr, what are you using?
DrForr rakudobrew, as I just mentioned :) 18:43
dupa what is nqp? 18:58
DrForr Not Quite Perl, the language on top of MoarVM/JVM/Whatever. 18:59
dupa DrForr, is it like Perl6 language definition
AlexDaniel it's more like a subset of Perl 6 19:00
[Coke] it's not exactly that, either, but that's close. 19:01
dupa Id rather won't look to it ;D 19:04
I found NativeTypes.nqp
but no Struct there
AlexDaniel m: my $hello = ‘foo’ ~ * ~ ‘bar’; say $hello(25) # why bother with sprintf 19:21
camelia rakudo-moar 15ec39: OUTPUT«foo25bar␤»
DrForr Wow, something today caused a major speedup... 19:23
AlexDaniel DrForr: how much?
DrForr dupa: grep for CStruct in the code? When in doubt, RTFS.
AlexDaniel: Not sure, I haven't been benchmarking. Just my gut instinct. 19:24
DrForr I'm pretty sure it wasn't the C refactoring I've been doing :) 19:24
RabidGravy drupa, there's a directory in the moar source called 'repr' or something similar, the CStruct representation is in there 19:26
DrForr, is this since yesterday? lizmat++ did something to hash keyed access 19:27
DrForr I remember seeing that, probably that though my code doesn't rely too much on that. 19:28
DrForr lizmat++ # just on general principles, really... but yeah, for hashes too. 19:30
lizmat DrForr: glad to hear it! 19:31
colomon just chopped up the cheese he bought during the Swiss Perl Workshop… 19:33
DrForr What variety?
perigrin Swiss Cheese ... duh. 19:34
moritz The Swiss Cheese 19:34
I'm sure there can only be one... The Swiss Highlander Cheese :-)
RabidGravy :) 19:35
most often found melted and mixed with kirsch and stuff
DrForr Of course, gruyere.
RabidGravy haven't had a proper swiss fondue for years
kyclark Silent error on l. 3 here: lpaste.net/151744 19:36
stmuk_ was impressed with the range of penknives in the Zurich Airport
kyclark Why is that?
RabidGravy stmuk_, yeah, right before security
stmuk_ oddly this was *after* security 19:37
moritz I've had such a thing for new year's eve: en.wikipedia.org/wiki/Raclette#Dish
ZoffixW I recall someone dropping a link to a list with a whole bunch of fancy Unicode ops proposed to be added to Perl 6.... AlexDaniel was it you? I need that link
moritz well, Switzerland is know for high quality knifes, they won't let pesky security concerns stop them from selleing them
AlexDaniel ZoffixW: yeah
ZoffixW: type “Save me from Texas” in your browser and you'll get it :D 19:38
ZoffixW lmao
DrForr I managed to sneak in a raclette between my train to Lyon and getting it into Zurich.
AlexDaniel gist.github.com/AlexDaniel/c89bd2786f9b63f31e4c
flussence «Stage parse : 108.309» ...yowch.
ZoffixW AlexDaniel++ thanks
AlexDaniel ZoffixW: I keep adding thing to this list 19:39
things*
moritz AlexDaniel: we also have <-> for lambdas with rw-Signatures 19:41
I'm sure you'll find a good Unicode arrow for that :-)
AlexDaniel sure
perigrin moritz: welcome to american cheese sophistication ... "swiss cheese" is a type here ... noteable becasue it has holes that Jerry can often hide from Tom in. 19:42
moritz perigrin: like "German bread" :-) 19:43
perigrin italian ... german beer.
kyclark Guys, cheese or code? It bothers me that P6 silently drops my ".push" :-)
moritz kyclark: what a question. Cheese *and* code. Where's yours? 19:44
code, I mean :-)
kyclark Up above. lpaste.net/151744
DrForr I have some St. Moritz in the frid...oh, code.
AlexDaniel moritz: oh, almost forgot that I have that on my keyboard… ↔
ZoffixW m: my @list = (John => 10, Jack => 43); @list.push(Jeff => 50); say @list
camelia rakudo-moar 15ec39: OUTPUT«[John => 10 Jack => 43]␤»
ZoffixW dafuq
moritz kyclark: ah. you're passing Jeff => 50 as a named argument to push, which it ignores (as do all methods with extra named) 19:45
ZoffixW Ah
AlexDaniel m: my @list = (John => 10, Jack => 43); @list.push((Jeff => 50)); say @list
camelia rakudo-moar 15ec39: OUTPUT«[John => 10 Jack => 43 Jeff => 50]␤»
moritz if you write it as .push("Jeff" => 50) or .push((Jeff => 50)) it works
kyclark I feel like that's a bad surprise
moritz yes, I know. Sadly the alternative brings differnt gotchas with it 19:45
for every DWIM you pay with a WAT
ZoffixW :D 19:46
kyclark It happens when I declare "my Pair @list"," too. I would expect the extra type checking to catch this. 19:47
ZoffixW kyclark, FWIW, perhaps one of a Hash, Bag, BagHash, Set, SetHash types would be more suited for your purpose than an Array?
moritz kyclark: that type check only stops you from pushing wrong things; it doesn't stop you from not pushing anything :-) 19:48
kyclark True. I was just sitting in a class on R this morning and wanted to replicated some of the indexing operations. I tried this bit of code to add a Pair to my list and saw it never made it AND I never got an error.
ZoffixW kyclark, what's happening is you're giving .push a named argument :Jeff with value 50. So it ignores it 19:48
moritz fwiw the subroutine form is safe against that 19:48
moritz m: my @a; push @a, Jeff => 52; say @a.perl 19:49
camelia rakudo-moar 15ec39: OUTPUT«[]␤»
moritz huh?
moritz now I'm seriously surprised 19:49
FROGGS m: say &push.signature
camelia rakudo-moar 15ec39: OUTPUT«(\a, |elems is raw)␤»
AlexDaniel perhaps will start a list of WATs in Perl 6
moritz sub push (\a, |elems) { a.push: |elems }
that explains a lot... and is LTA, IMHO 19:50
AlexDaniel ah
nah…
ZoffixW m: sub foo ( :$Jeff = 42 ) { say "$Jeff" }; foo Jeff => 50; foo Mike => 342;
camelia rakudo-moar 15ec39: OUTPUT«50␤Unexpected named parameter 'Mike' passed␤ in sub foo at /tmp/ScNjY0gSTh line 1␤ in block <unit> at /tmp/ScNjY0gSTh line 1␤␤»
AlexDaniel I thought that .append will work better
ZoffixW Oh. Never knew that happens.
m: class Foo { method foo ( :$Jeff = 42 ) { say "$Jeff" }; }; Foo.foo: Jeff => 50; Foo.foo: Mike => 342; 19:51
camelia rakudo-moar 15ec39: OUTPUT«50␤42␤»
moritz you can't inherit and override subs like you do with methods, which is why subs don't need to take care to preservice interface consistency
ZoffixW ky[TAB] ^ this is what's happening
Came across LTA error IMO: 19:52
m: class Foo { methid foo ( :$Jeff = 42 ) { } }
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/04aNqHJq78␤Variable '$Jeff' is not declared␤at /tmp/04aNqHJq78:1␤------> 3class Foo { methid foo ( :7⏏5$Jeff = 42 ) { } }␤»
ZoffixW m: class Foo { not-really-a-method-go-away foo ( :$Jeff = 42 ) { ... } }
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/i2kY5bUuno␤Variable '$Jeff' is not declared␤at /tmp/i2kY5bUuno:1␤------> 3oo { not-really-a-method-go-away foo ( :7⏏5$Jeff = 42 ) { ... } }␤»
ZoffixW ^_^
moritz I don't know if we can even generate better error messages for a misspelled declarator
ZoffixW Oh well :) 19:53
moritz m: ours $x = 42; # hey, I'm declaring it right here...
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GEjU7UsfIA␤Variable '$x' is not declared␤at /tmp/GEjU7UsfIA:1␤------> 3ours 7⏏5$x = 42; # hey, I'm declaring it right h␤»
uruwi Does `$_ = $_.clone;` do the same thing as what `$_ = CompUnit::Repository.new($_);` used to do? 19:54
geekosaur in theory it would be possible to mark specific blocks (e.g. class Foo BLOCKHERE) as expecting a declarator as the first thing
ZoffixW m: not-really-mine not-really-a-class Foo { not-really-a-method foo ( :$WAT = 42 ) { ... } }
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ePdLtMK4Q0␤Variable '$WAT' is not declared␤at /tmp/ePdLtMK4Q0:1␤------> 3-class Foo { not-really-a-method foo ( :7⏏5$WAT = 42 ) { ... } }␤»
flussence aiui, it fails that way because those could be post-declared subs 19:56
'sub' and 'method' are more magic-y language construct things that indicate the next thing is a signature though 19:57
moritz geekosaur: you can put arbitrary code in a class block, not just declarations
uruwi m: say $*REPO.files("ho"); 19:58
camelia rakudo-moar 15ec39: OUTPUT«Cannot unbox a type object␤ in block <unit> at /tmp/IXdS5nP6VS line 1␤␤»
geekosaur yep. hence "in other"; there's a common form but not a mandatory one... would be good for a bunch of WATs
uruwi Is CompUnit::Repository#files broken?
geekosaur er "in theory:
geekosaur wonders where "other" came from there
uruwi CompUnit::Repository.new($*REPO)
m: say CompUnit::Repository.new($*REPO)
camelia rakudo-moar 15ec39: OUTPUT«Method 'id' must be implemented by CompUnit::Repository because it is required by a role␤ in any compose_method_table at gen/moar/m-Metamodel.nqp line 2801␤ in any apply at gen/moar/m-Metamodel.nqp line 2811␤ in any compose at gen/moar/m-Metamodel…»
moritz m: say CompUnit::Repository.HOW.^name 19:59
camelia rakudo-moar 15ec39: OUTPUT«Perl6::Metamodel::ParametricRoleGroupHOW␤»
moritz ah, it's a role
AlexDaniel ZoffixW: by the way, why did you need it? :)
moritz m: say $*REPO.new($*REPO)
camelia rakudo-moar 15ec39: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/LdzTKY9_lF line 1␤␤»
uruwi m: say $*REPO.what.new($*REPO) 20:00
camelia rakudo-moar 15ec39: OUTPUT«Method 'what' not found for invocant of class 'CompUnit::Repository::Installation'␤ in block <unit> at /tmp/CP39hnd6qc line 1␤␤»
uruwi m: say $*REPO.WHAT.new($*REPO)
camelia rakudo-moar 15ec39: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤ in block <unit> at /tmp/M47M8Bu5CM line 1␤␤»
uruwi m: say $*REPO.clone # same as the past CompUnit::Repository.new($*REPO)? 20:01
camelia rakudo-moar 15ec39: OUTPUT«inst#/home/camelia/.perl6/2015.12-247-g15ec392␤»
uruwi m: say $*VERSION
camelia rakudo-moar 15ec39: OUTPUT«Dynamic variable $*VERSION not found␤ in block <unit> at /tmp/VjpmyxG1tD line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/VjpmyxG1tD line 1␤␤»
ZoffixW m: What's in a name that which we call a rose␤By any other name would smell as sweet␤␤␤␤␤␤␤␤␤␤$WAT
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/D5Xw8rL1_y␤Variable '$WAT' is not declared␤at /tmp/D5Xw8rL1_y:12␤------> 3<BOL>7⏏5$WAT␤»
ZoffixW thinks of a funny tweet
geekosaur would need something horrid like "if we're in a place where we could reasonably expect a declarator and then fail because of an undefined variable, ask if the first word-like token could have been a declarator, ideally doing Levenshtein against known declarators" 20:02
could be done but ick
AlexDaniel .u ⌁ 20:04
yoleaux U+2301 ELECTRIC ARROW [So] (⌁)
AlexDaniel electric arrow, hmmm
uruwi So in conclusion, CompUnit::Repository#files isn't broken only on Windows.
ZoffixW ^_^ twitter.com/zoffix/status/695699729712197632 20:05
AlexDaniel, I'm writing a blog post about WhateverStar and I wanted a mention that some people proposed using something other than an asterisk for it. 20:06
uruwi How is it parsed anyway? 20:06
AlexDaniel ZoffixW: I love your blog posts, by the way 20:07
ZoffixW uruwi, what's the breakage?
AlexDaniel, thanks
uruwi From the example of your poetic source code? 20:08
colomon DrForr: one was a Gruyère and the other a Parmigiano-like local variety whose name I forget.
ZoffixW uruwi, hm? You said this and I'm wondering what exactly is broken? <uruwi> So in conclusion, CompUnit::Repository#files isn't broken only on Windows. 20:09
uruwi No, I was talking about the tweet you linked. twitter.com/zoffix/status/695699729712197632 20:11
But the method is complaining about unboxing a type object. 20:12
jferrero m: my (@a, @b) = f(); sub f { my @x = <A B C>; my @y = 1, 2, 3; return @x, @y; } dd @a; dd @b; 20:16
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fLYNII7Syf␤Strange text after block (missing semicolon or comma?)␤at /tmp/fLYNII7Syf:1␤------> 3 B C>; my @y = 1, 2, 3; return @x, @y; }7⏏5 dd @a; dd @b;␤ expecting any of:␤ infix␤ …»
geekosaur also notes that older perl had poetry mode for quite a long time >.> 20:17
ZoffixW m: my (@a, @b) = f(); sub f { my @x = <A B C>; my @y = 1, 2, 3; return @x, @y; }; dd @a; dd @b;
camelia rakudo-moar 15ec39: OUTPUT«Array @a = [["A", "B", "C"], [1, 2, 3]]␤Array @b = []␤»
geekosaur still has not been able to load the tweet. notwork is extremely not
jferrero yes...
geekosaur (local issue) 20:18
ZoffixW m: my ($a, $b) = f(); sub f { my @x = <A B C>; my @y = 1, 2, 3; return @x, @y; }; dd $a; dd $b;
camelia rakudo-moar 15ec39: OUTPUT«Array $a = $["A", "B", "C"]␤Array $b = $[1, 2, 3]␤»
jferrero It is possible to return two arrays?
ZoffixW jferrero, ^ . I think the @array stuff slurps everything up
or something like that
moritz m: my (@a, @b) .= f(); sub f { my @x = <A B C>; my @y = 1, 2, 3; return @x, @y; }; dd @a; dd @b; 20:19
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/BzLcU_SFkK␤Cannot use .= initializer with a list of declarations␤at /tmp/BzLcU_SFkK:1␤------> 3my (@a, @b) .= f()7⏏5; sub f { my @x = <A B C>; my @y = 1, 2,␤»
moritz m: my (@a, @b) := f(); sub f { my @x = <A B C>; my @y = 1, 2, 3; return @x, @y; }; dd @a; dd @b;
camelia rakudo-moar 15ec39: OUTPUT«Array @x = ["A", "B", "C"]␤Array @y = [1, 2, 3]␤»
ZoffixW :o
moritz jferrero: ^^ works when you use binding instead of assignment
DrForr colomon: Yum. 20:21
colomon DrForr: that’s the idea. we’ve been saving them for when I got a chance to make a pizza, and today’s the day! dough is now rising. 20:22
ZoffixW m: my $x = *.say; say $x 20:23
camelia rakudo-moar 15ec39: OUTPUT«WhateverCode.new␤»
ZoffixW m: my $x = **.say; say $x
camelia rakudo-moar 15ec39: OUTPUT«sub (*@_) { #`(Sub|66971072) ... }␤»
ZoffixW m: my $x = *****.say; say $x 20:24
camelia rakudo-moar 15ec39: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZBOcvWRKAe␤Multiple HyperWhatevers and Whatevers may not be used together␤at /tmp/ZBOcvWRKAe:1␤------> 3my $x = *****.say7⏏5; say $x␤»
ZoffixW camelia, eh... whatever then 20:25
^_^
AlexDaniel m: my $x = *×*×*.say; say $x 20:28
camelia rakudo-moar 15ec39: OUTPUT«WhateverCode.new␤»
raiph #perl6: please point out mistakes, things you don't like, omissions, re: my draft of a p6doc performance page: gist.github.com/raiph/6fc40c34377efe2f74fb Also, please suggest examples for the "Using native types (speed)" section. 20:35
yoleaux 07:27Z <nine> raiph: I'm not on reddit, but would be happy to discuss these things on #perl6-toolchain.
[Coke] wilwheaton.tumblr.com/post/13874099...matics-the # Furbonacci sequence 20:43
TimToady someone could point out that p6 behaves properly with stackoverflow.com/questions/116951...ntax-error 20:56
jnthn [Coke]: Wow, cat pictures *and* a pun :) 20:57
moritz willdo
DrForr Was it someone here asking me about the P6 talk at FOSDEM? 21:00
moritz stackoverflow.com/questions/1169511...7#35233397
dalek kudo/nom: ac9abb9 | lizmat++ | src/core/Compiler.pm:
Micro opt for Compiler.id
21:04
tlvb is it possible to unload modules (or at least reload them), so that a perl program can have components updated without having to restart the main process? 21:06
moritz tlvb: I don't think so 21:08
moritz though it would be a worthwhile extension 21:08
ugexe besides clone, is there a way to change a bunch of attribute values in a class (assuming they are rw) like `.new(|%hash)`? 21:16
hoelzro blog.acolyer.org/2016/02/05/is-soun...ping-dead/
could make for an interesting read
moritz Perl 6 doesn't even pretend to have "sound" gradual typing, whatever that is :-) 21:17
hoelzro yeah, that choice of terminology tripped me up a bit 21:19
azawawi moritz: im integrating now atom-build with my Perl 6 editor tools 21:21
moritz: what do you think is a good build sequence in Perl 6 projects?
azawawi moritz: perl Makefile && make && make test... etc 21:22
pmurias moritz: a sound type system is an actual technical term
moritz pmurias: I know, but I don't see how it transfers to gradual typing
azawawi: dunno; maybe ask in #perl6-toolchain 21:23
pmurias moritz: that no type errors happen in the statically typed part 21:24
azawawi moritz: thx 21:25
moritz pmurias: that presumes there's a clear boundary between statically and dynamically typed code
pmurias moritz: there is one in gradually typed languages 21:26
Skarsnik Perl 6 only not check type on routine/method call?
moritz pmurias: what's the boundary in Perl 6?
pmurias I wouldn't call Perl 6 a gradually typed language 21:27
moritz pmurias: please elaborate
pmurias Perl 6 doesn't have a statically type part
gradually typed languages (at least the ones that paper was concerned about) consist of both a dynamic and a static part 21:28
when things go from the dynamic part to the static part they are typed checked 21:29
Perl 6 lacks the static part
Skarsnik compile does not fix type?
jnthn Uh, natives are very clearly static.
pmurias that's a point 21:30
pmurias but we still lack a full static type system (I suspect that in the future modules will change that) 21:32
pmurias one selling point of gradual type systems is that you can gradually add type declarations to a dynamically typed program and turn it into a statically typed checked one 21:33
DrForr Inline::Scheme::Guile now supports the full numeric stack including num/denom and complex numbers, I've still got +/-INF and maybe a few oddball representations. 21:34
Skarsnik Nice DrForr 21:35
what was your issue?
DrForr Well, it *still* doesn't like 0, that bug still needs to be worked out. 21:36
DrForr The original issue is that the predicates for null_p and false_p both trigger on null, so I was getting .. er, false positives. 21:37
moritz false null_p? :-) 21:38
DrForr It was obviously something of a oversight on the API designers, as there's a #define for _false_and_not_null_p(x). 21:39
Skarsnik lol 21:42
moritz I'm looking for German-speaking folks to proof-read an article on Perl 6 21:47
dalek kudo/nom: 91a5d11 | lizmat++ | src/core/Capture.pm:
Some Capture streamlining
moritz and give me some feedback
moritz I guess I'll ask again when more central Europe is more awake :-) 21:51
grondilu ls 21:52
oops ignore that^
ugexe his password is ls! 21:53
moritz who would have guessed? :-) 21:53
pmurias what happened to the irc log? 21:54
pmurias it's back up 21:55
moritz my monitoring didn't report any downtime 22:02
hoelzro moritz: I'll read it, but my German is a little rusty 22:04
reading should help that ;)
ZoffixWin pets the robot 22:05
yoleaux 15:55Z <MadcapJake> ZoffixWin: oh! I had thought it the other way around, didn't realize META6.json was the new standard.
moritz hoelzro: sent by email 22:13
hoelzro moritz: thanks! I'll probably have it read by tomorrow morning your time =) 22:14
ZoffixWin Tried Go today for the first time... I think it's pretty good: xtatik.org/tmp/go-lang-hello.html 22:18
Skarsnik huhu 22:18
Kristien Go is great for most things that has to do lots of I/O, networking, concurrency 22:19
ely-se oh I clicked the link just now :( 22:19
ZoffixWin :D 22:25
b2gills m: my &code = ->\c,\m{for ^c {.[+*]=[+] .[*X-1,2]for m;m[+*]=[m[*-2;*] »+«m[*-1]]};m}; say code(3,[[1,1,1],[2,3,4]]).perl 22:41
camelia rakudo-moar 91a5d1: OUTPUT«[[1, 1, 1, 2, 3, 5], [2, 3, 4, 7, 11, 18], [3, 4, 5, 9, 14, 23], [5, 7, 9, 16, 25, 41], [8, 11, 14, 25, 39, 64]]␤»
AlexDaniel b2gills: great, link? 22:53
azawawi github.com/azawawi/atom-perl6-edit...ld-support # v0.8.4 => build support in Perl 6 (atom editor)... Enjoy :) 23:02
lizmat azawawi++ 23:05
RabidGravy nice 23:05
azawawi now give me build tasks :) 23:05
azawawi im so sleepy 23:06
:)
good night
and ty for making perl6
RabidGravy :-* 23:07
b2gills AlexDaniel: Actually it was to give someone else a link showing that the code worked codegolf.stackexchange.com/a/71157/1147 23:08
AlexDaniel b2gills: you can make it shorter by replacing »+« with Z+ 23:17
AlexDaniel oh wait, it doesn't work with the short version 23:18
b2gills AlexDaniel: it does if you put the `;*` back in that I removed, so it isn't quite as big a win, but it is still 2 bytes shorter 23:21
AlexDaniel b2gills: right 23:22
oh
b2gills: interestingly you don't even need any whitespace before Z in this case 23:23
so yeah, same character count but less bytes
dalek kudo/nom: ec543e9 | lizmat++ | src/core/ (2 files):
Streamline phaser handling

Should make a lot of iterables a bit faster, and use less memory because of a new "has-phaser' method that returns a bool instead of a list that needs to be counted.
23:31
Skarsnik lizmat++ with the speedup commit :) 23:32
AlexDaniel m: say ()[;0] 23:33
camelia rakudo-moar 91a5d1: OUTPUT«Non ast passed to WANTED: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Weird node in analyze: BOOTInt␤===SORRY!===␤Unknown QAST node type BOOTInt␤»
AlexDaniel camelia: bleeougrhhh!
lizmat good night, #perl6! 23:34
AlexDaniel m: say [;] # a bit shorter, but the output is less impressive
camelia rakudo-moar 91a5d1: OUTPUT«Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Weird node in analyze: BOOTInt␤===SORRY!===␤Unknown QAST node type BOOTInt␤»
ZoffixWin lizmat++ night and thanks for all those optimizations you've been pushing :)
AlexDaniel m: [;]
camelia rakudo-moar 91a5d1: OUTPUT«Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Weird node in analyze: BOOTInt␤===SORRY!===␤Unknown QAST node type BOOTInt␤»
AlexDaniel woooooooooow 23:35
m: (;)
camelia rakudo-moar 91a5d1: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTInt␤Weird node visited: BOOTInt␤Resultchild 0 can't returns! BOOTInt␤- QAST::Stmts :BY<comp_unit ua u> :context<sink> (;)␤ - QAST::Stmt :BY<comp_unit ua u u> :context<sink> :final (;)␤ - 0␤␤Non-QAST …»
AlexDaniel try that in command line
AlexDaniel did I open some door to matrix or something? 23:35
ZoffixWin fmt.Println(add 42, 13 ) prog.go:10: syntax error: unexpected literal 42, expecting ) 23:37
And thus ends my escapade into Go Lang :) Perl spoiled me
I do like their Tour thing though: tour.golang.org/welcome/1 23:38
alpha123 Go has got to be the most boring and utterly useless language of the last 8 years 23:39
ZoffixWin AlexDaniel, :o that looks to be the wormhole to the 5th dimension! 23:40
ZoffixWin "Resultchild 0 can't returns!" looks like two typos in that error message. Missing space and "returns" -> "return" 23:43
AlexDaniel ZoffixWin: and that's the only thing that bothers you? 23:45
no, I'm not going to tag it as LTA :D
ZoffixWin :)
AlexDaniel anyway: rt.perl.org/Public/Bug/Display.html?id=127473 23:46
yeah, coming up with meaningful titles is hard. One reason is that I have no idea what is going on there at all 23:47