»ö« 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.
00:06 skids joined 00:07 cibs left 00:09 cibs joined 00:14 perlawhirl left 00:21 labster left, b2gills left 00:33 pierre_ joined 00:34 b2gills joined 00:42 Derperperd joined 00:47 jercos joined 00:48 bisectable6 joined 00:56 Actualeyes left 01:02 timotimo joined
timotimo moritz: seems like the server i was ircing from until now has gone belly-up. i think i might want to move over to irc.p6c.org, but i don't think i have an account there; could you make one for me with the same authorized_keys as on hack? 01:02
01:03 ccakes joined
timotimo also, i wonder why the weechat version on hack is 1.0.1 when there's already one with a much higher version number available 01:05
there have been 7 releases since 1.0.1, the latest of which was on the 2nd of october: version 1.6 01:06
01:06 yqt left 01:07 seatek left
timotimo - remove "freenode" server from default config - :\ 01:09
01:10 Herby__ left 01:11 nadim left
timotimo seems like the server's back 01:12
01:12 timotimo is now known as timo_hack, kentnl is now known as kent\n 01:13 timotimo joined 01:16 zakharyas joined
MasterDuke timotimo: would you know anything about this nqp-j error: "Flattening named argument must have VMHash REPR"? 01:16
01:17 Herby__ joined, ccakes left
timotimo hm, are you calling |%foo with something that's actually NQPMu? 01:18
MasterDuke it's happening somewhere in tools/build/install-core-dist.pl, during make install 01:19
timotimo hm, so it's actually perl6-j?
it could help if you'd output the actual REPR that you get for this error message
MasterDuke yeah, but the error is in nqp/src/vm/jvm/runtime/org/perl6/nqp/runtime/CallSiteDescriptor.java
i added a .getClass().getName(), it was '__P6opaque__74' 01:20
timotimo is that how we get the debugname of things on the jvm?
MasterDuke no idea
timotimo i'd have expected something more helpful there
01:20 ccakes joined
timotimo that script i was running in the background is now at 167 megabytes (35 minutes of cpu time on the main thread) 01:21
Herby__ if i'm on Windows, and wanting to do some basic HTML parsing, is there a recommended module?
or am I destined to use regex?
i browsed through the module library but didnt see anything that stood out 01:22
timotimo there's modules for you
i think HTML::Parser::XML isn't bad. Gumbo isn't bad either.
Herby__ my eyes passed right over HTML::Parser::XML, let me give it a whirl 01:23
01:27 cooper_ left, pierre_ left 01:28 cooper_ joined, cooper_ left, cooper_ joined, pierre_ joined 01:31 ggoebel joined 01:44 Actualeyes joined
Herby__ couple of basic basic questions incoming... 01:44
following the last example here (github.com/tony-o/perl6-html-parser-xml), I now have an xmldoc 01:45
01:45 ilbot3 left
Herby__ how do I print that out in a coherent manner so I can see what my data looks like? 01:45
github.com/supernovus/exemel/#xmld...nt-xmlnode
01:47 ilbot3 joined 01:52 zacts left 01:56 timo_hack left 01:59 seatek joined 02:47 noganex joined 02:49 noganex_ left 02:53 maybekoo2 left, wamba joined 02:56 pierre_ left 03:03 pierre_ joined 03:08 pierre_ left 03:10 skids left 03:12 Actualeyes left 03:14 rgrinberg left 03:16 pierre_ joined 03:23 khw left 03:36 geraud left 03:39 geraud joined 03:43 canopus left 03:47 BenGoldberg left 03:48 canopus joined 04:03 wamba left, cyphase_eviltwin left 04:08 cyphase joined 04:13 _slade_ left 04:19 seatek left 04:26 _slade_ joined 04:44 pierre_ left 04:45 Cabanossi left, AlexDaniel left 04:46 pierre_ joined, Herby__ left, Cabanossi joined 04:47 pierre_ left 04:55 pierre_ joined 04:59 pierre_ left 05:04 cgfbee left, cgfbee joined 05:08 cgfbee left 05:09 cgfbee joined 05:14 Actualeyes joined 05:15 Possum left 05:16 dwarring left 05:34 dataf4l joined
dataf4l hey guys 05:34
I just have a quick question
05:35 domidumont joined
dataf4l I generated a moar file using perl6 —target=mbc —output=mine.mbc mine.p6 05:35
after generating the file, I’d like to run the mbc file wihout the p6 file
you know, for science
I have no idea on how to do that, and I feel the docs aren’t clear.
timotimo at the moment, you have to pretend it's a module and run an empty script
dataf4l any pointers?
timotimo perl6 -Mmine -e '' 05:36
dataf4l so run an empty p6 file and use the -m option?
let me try
timotimo at least it was like that the last time i looked ... last year maybe?
dataf4l Felipes-MacBook-Pro:backend2 a$ perl -Mguess.mbc -e "" 05:37
syntax error at -e line 0, near "use guess."
my codeI’m afraid your suggestion was not effective, but in any case I’d like to give you thanks, I feel you tried to help, and I value that a lot. 05:38
timotimo no, not "guess.mbc"
05:39 domidumont left
dataf4l perl6 --target=mbc --output=guess.mbc guess.p6 05:39
what is the correct extension for mbc target?
timotimo -M is equivalent to a use statement; you don't put filename extensios into use statements
dataf4l so a pm then?
05:40 domidumont joined
timotimo well, then it'll use a precompilation repository for you 05:40
oh, and also the extension it'll look for is .moar, not .mbc 05:41
dataf4l what the expletiv is a precompilation repository! if you pardon my ignorance
ok I’ll try moar
timotimo actually, i can't get it to load the .moar file locally 05:42
if you -Ilib for example, rakudo-moar will create a .precomp folder in lib/ and .moar files go there
dataf4l -llib at the compilation step? 05:43
I’m trying this: 05:44
perl6 -I. -Mguess -e ""
===SORRY!===
Could not find guess at line 1 in:
/Users/a/Desktop/ab/htdocs/gis/backend2
/Users/a/.perl6
/usr/local/Cellar/rakudo-star/2016.07/share/perl6/site
/usr/local/Cellar/rakudo-star/2016.07/share/perl6/vendor
/usr/local/Cellar/rakudo-star/2016.07/share/perl6
CompUnit::Repository::AbsolutePath<140231686028672>
CompUnit::Repository::NQP<140231681566512>
CompUnit::Repository::Perl5<140231681566552>
Felipes-MacBook-Pro:backend2 a$ ls
05:45 dataf4l left
timotimo yeah, it'll want a guess.pm6 or guess.pm 05:45
whoops, now he's gone
05:47 dataf4l joined 05:56 pierre_ joined
timotimo hey dataf4l 05:57
dataf4l hi
timotimo it'll want to find a guess.pm6 if you -Mguess
dataf4l ok
I have a .moar file
no idea on how to load that one
timotimo well, in theory moar eats moar files
so just "moar guess.moar" 05:58
but i don't think it'll actually do what you want
05:58 MasterDuke left
dataf4l Felipes-MacBook-Pro:backend2 a$ moar guess.moarvm 05:58
Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory
at <unknown>:1 (guess.moarvm:<dependencies+deserialize>)
no workie
Oh well, it can wait a day
06:00 telex left, Actualeyes left, domidumont left 06:01 pierre_ left, dataf4l left 06:02 telex joined, Actualeyes joined 06:03 ponbiki joined, ponbiki is now known as Guest89610 06:04 FROGGS joined 06:05 dataf4l joined, neuraload joined 06:06 mohae_ left 06:09 FROGGS left, dataf4l left
moritz timotimo: ssh [email@hidden.address] # enjoy! 06:09
06:12 abraxxa joined 06:15 baest joined 06:18 domidumont joined 06:19 zacts joined 06:20 pierre_ joined 06:24 domidumont left, domidumont joined 06:27 firstdayonthejob joined 06:32 [particle]1 joined, darutoko joined, [particle] left 06:34 Guest89610 left 06:37 firstdayonthejob left, nebuchadnezzar joined 06:38 Possum joined 06:40 wamba joined, girafe joined 06:41 ponbiki_ joined 06:44 Derperperd left 06:46 MARTIMM joined 07:02 ilbot3 left, ilbot3 joined 07:03 wamba left 07:05 wamba joined 07:13 KotH left 07:16 brillenfux joined 07:20 KotH joined 07:25 neuraload left 07:31 RabidGravy joined, neuraload joined 07:37 CIAvash joined, CIAvash left 07:51 erez joined 07:53 bjz joined 08:07 dakkar joined 08:14 flexibeast joined 08:15 bjz left 08:19 girafe left
DrForr Mornin'. 08:19
08:20 domidumont left 08:21 domidumont joined 08:28 Actualeyes left 08:30 pdcawley left 08:31 bjz joined 08:36 _slade_ left 08:37 rpeter joined 08:44 titsuki left 08:45 pierre_ left, wamba left 08:47 pierre_ joined 08:55 nadim joined 08:58 gregf_ joined 09:01 nadim left, nadim joined 09:05 erez left 09:13 ponbiki_ left 09:17 TeamBlast left, hobbs left, clkao left, SmokeMachine____ left, olinkl left, notbenh_ left, mephinet left, p3rln00b left, mindos left, jnap_ left, DrParis left, committable6 left, solarbunny left, darutoko left, jercos left, jervo left, gregf_ left, harmil_wk left, domidumont left, matt| left, bjz left, nebuchadnezzar left, Cabanossi left, andrewalker_ left, jargan left, Xliff_ left, TEttinger left, cognominal left, Sgeo__ left, andrzejku_ left, Timbus_ left, sjn left, decent_ left, mniip left, raydiak left, neuraload left, canopus left, ccakes left 09:18 Guest18866 left, Matthew[m] left, Matias[m] left, SourceBaby_ left, huggable_ left, dalek left, dylanwh_ left, amalia_ left, Celelibi left, edenc left, dataangel left, timeless left, peteretep left, stigo left, ilmari left, stmuk_ left, hanekomu left, silug__ left, lco left, kst left, psch left, kenh83 left, jcallen left, mattp_ left 09:19 KotH left, ilbot3 left, cyphase left, ilmari[m] left, JimmyZ left, kent\n left, BinGOs left, khisanth_ left, xfix left, w4and0er96 left, awwaiid left, Spot__ left, huf_ left, xiaomiao left, smash left, geekosaur left, akiym left, nadim left, brillenfux left, MARTIMM left, noganex left, b2gills left 09:20 geraud left, cibs left, perlpilot_ left, perlpilot_ joined, geraud joined, cibs joined, m0ltar left, samcv left, dalek joined, cpage_ left, pierrot left 09:21 emdashcomma left 09:22 erdic left, MilkmanDan left 09:23 MilkmanDan joined 09:24 pierre_ left 09:33 SmokeMachine____ joined 09:41 wamba joined 10:00 pierre joined 10:02 bjz joined 10:03 labster joined 10:06 domidumont joined, matt| joined 10:07 tomaw joined, pierrot joined, cpage_ joined, darutoko joined, jercos joined, jervo joined 10:09 BuildTheRobots joined, Actualeyes joined, nadim joined, brillenfux joined, MARTIMM joined, noganex joined, b2gills joined, perigrin joined, protium joined, BooK joined, hahainternet joined, literal joined, gypsydave5 joined, chansen_ joined, ssm_ joined, jsimonet joined, domm1 joined, nemo joined, tbrowder joined, zostay joined, chris2 joined, ugexe joined, Peter_R joined, damnlie_ joined, mithaldu_ joined, hoelzro joined, robinsmidsrod joined, go|dfish joined, Hotkeys joined, Util joined 10:10 TeamBlast joined 10:12 ggherdov joined, peteretep joined, olinkl joined, erdic joined, ponbiki joined, KotH joined, ilbot3 joined, cyphase joined, ilmari[m] joined, JimmyZ joined, kent\n joined, BinGOs joined, khisanth_ joined, xfix joined, w4and0er96 joined, awwaiid joined, huf_ joined, xiaomiao joined, smash joined, akiym joined, yossarian joined, SHODAN joined, dg joined, d^_^b joined, vike joined, mrsolo joined, kipd joined, notbenh joined, bhm joined, DarthGandalf joined, adrusi joined, roguelazer joined, esh joined, jdv79 joined, ranguard_ joined 10:13 pierre is now known as 64MAAE53O, hobbs joined 10:14 clkao joined, notbenh_ joined, mephinet joined, p3rln00b joined, mindos joined, jnap_ joined, committable6 joined, solarbunny joined, hobbs left, clkao left, notbenh_ left, mephinet left, p3rln00b left, mindos left, jnap_ left, committable6 left, solarbunny left, ggherdov left, peteretep left, olinkl left, erdic left, ponbiki left, KotH left, ilbot3 left, cyphase left 10:15 ilmari[m] left, JimmyZ left, kent\n left, BinGOs left, khisanth_ left, xfix left, w4and0er96 left, awwaiid left, huf_ left, xiaomiao left, smash left, akiym left, yossarian left, SHODAN left, dg left, d^_^b left, vike left, mrsolo left, kipd left, notbenh left, bhm left, DarthGandalf left, adrusi left, roguelazer left, esh left, jdv79 left, ranguard_ left, TeamBlast left, BuildTheRobots left, Actualeyes left, nadim left, brillenfux left, MARTIMM left, noganex left, b2gills left, perigrin left, protium left, BooK left, hahainternet left, gypsydave5 left, literal left, chansen_ left, ssm_ left, jsimonet left, domm1 left, nemo left, tbrowder left, zostay left, ugexe left, chris2 left, Peter_R left, damnlie_ left, mithaldu_ left 10:16 hoelzro left, robinsmidsrod left, go|dfish left, Hotkeys left, Util left, tomaw left, cpage_ left, pierrot left, darutoko left, jercos left, jervo left, domidumont left, matt| left
RabidGravy Boom! 10:16
lizmat
.oO( so much for dropping a pin :-)
RabidGravy why has github no longer got Artist licence as an option in the project templates?
DrForr lizmat: It was previously residing in a grenade.
lizmat :-)
DrForr As we used to say in roleplaying sessions, "Once you pull the pin, Mr. Hand Grenade is no longer your friend."
10:17 ggherdov joined 10:25 zakharyas left 10:27 domidumont joined, matt| joined 10:28 kipd joined, Actualeyes joined, nadim joined, brillenfux joined, MARTIMM joined, noganex joined, b2gills joined, perigrin joined, protium joined, BooK joined, hahainternet joined, literal joined, gypsydave5 joined, chansen_ joined, ssm_ joined, jsimonet joined, domm1 joined, nemo joined, tbrowder joined, zostay joined, chris2 joined, ugexe joined, Peter_R joined, damnlie_ joined, mithaldu_ joined, hoelzro joined, robinsmidsrod joined, go|dfish joined, Hotkeys joined, Util joined 10:30 xiaomiao joined, hobbs joined, clkao joined, notbenh_ joined, mephinet joined, p3rln00b joined, mindos joined, jnap_ joined, committable6 joined, solarbunny joined 10:31 camelia joined, tomaw joined, pierrot joined, cpage_ joined, darutoko joined, jercos joined, jervo joined 10:32 TeamBlast joined, xiaomiao left 10:33 harmil_wk joined, bioduds joined 10:34 olinkl joined, BuildTheRobots joined, peteretep joined, erdic joined, ponbiki joined, KotH joined, ilbot3 joined, cyphase joined, ilmari[m] joined, JimmyZ joined, kent\n joined, BinGOs joined, khisanth_ joined, xfix joined, w4and0er96 joined, awwaiid joined, huf_ joined, smash joined, akiym joined, yossarian joined, SHODAN joined, dg joined, d^_^b joined, vike joined, mrsolo joined, notbenh joined, bhm joined, DarthGandalf joined, adrusi joined, roguelazer joined, esh joined, jdv79 joined, ranguard joined 10:35 ggherdov left 10:36 m0ltar joined, nebuchadnezzar joined, andrewalker_ joined, jargan joined, Xliff_ joined, TEttinger joined, cognominal joined, Sgeo__ joined, andrzejku_ joined, Timbus_ joined, sjn joined, decent_ joined, F1AAC5YX joined, raydiak joined, sammers joined, ilbelkyr joined, alnewkir1 joined, f3ew joined, sivoais joined, freeze joined, ingy joined, dsp_ joined, wtw joined, yoleaux joined, weber.freenode.net sets mode: +v yoleaux 10:38 user9 joined, PotatoGim joined, Spot__ joined, geekosaur joined, DrParis joined, psch joined, neuraload joined, canopus joined, ccakes joined, Guest18866 joined, Matthew[m] joined, Matias[m] joined, SourceBaby_ joined, huggable_ joined, dylanwh_ joined, amalia_ joined, Celelibi joined, edenc joined, dataangel joined, timeless joined, stigo joined, ilmari joined, stmuk_ joined, lco joined, hanekomu joined, silug__ joined, kst joined, jcallen joined, mattp_ joined, gensym joined, kmwallio joined, TheDir_ joined, Kaffe_ joined, ITAAAY8T joined, [Coke] joined, sergot joined, arnsholt joined, apejens joined, ambs joined, moritz joined, gabiruh joined, daxim_ joined, felher joined, Upasaka joined, sjohnsen joined, integral joined, weber.freenode.net sets mode: +v 7ITAAAY8T 10:40 m0ltar left, ilbelkyr left, BuildTheRobots left, cyphase left, m0ltar joined
RabidGravy THEY'RE TALKING DOWN THE GLOBAL ECONOMY! 10:40
;-)
10:41 TEttinger left
DrForr In a netsplit, noone can hear you /say. 10:42
10:42 peteretep left, erdic left, erdic joined, timeless left, pierrot is now known as Guest16699, ponbiki is now known as Guest11718, DrParis is now known as Guest48505, ChanServ sets mode: +v dalek, labster left, labster joined, samcv joined, cyphase joined, Guest7479 joined, Cabanossi joined, emdashcomma joined, sivoais left, Brad_ joined, SmokeMachine____ left, SmokeMachine____ joined, kipd left, kipd joined, sivoais joined, ilbelkyr joined, Guest16699 left, Guest16699 joined, olinkl left, olinkl joined, Guest7479 left, Guest7479 joined, Brad_ left, Brad_ joined, Brad_ left, peteretep joined, Actualeyes left 10:43 rindolf joined 10:44 wamba left 10:45 timeless joined 10:47 BuildTheRobots joined 10:48 ggherdov joined 10:53 xiaomiao joined
samcv hopefully people survived Frexit ;) 11:02
11:05 labster left
masak what, even Freenode has left the EU? :P 11:06
11:08 ocbtec joined 11:15 ggherdov left 11:16 ggherdov joined, ggherdov left 11:17 ggherdov joined 11:20 64MAAE53O left 11:35 mr-foobar left 11:37 mr-foobar joined 11:45 AlexDaniel joined 11:56 erdic left, ShimmerFairy joined 11:57 erdic joined 12:01 rudolfochrist joined 12:13 SourceBaby_ left, SourceBaby joined, Undercover joined 12:14 huggable_ left 12:17 NeuralAnomaly joined 12:18 huggable joined, buggable joined 12:20 grondilu joined
grondilu hello, in the polynomial a0 + a1*x + ... an*x^n, how do you call the coefficient an? 12:20
oh sorry, wrong chan 12:21
moritz redundant :-)
12:24 g4 joined
p3rln00b grondilu: leading? 12:25
12:26 pierre_ joined
p3rln00b It's kinda weird that the only way we have to contruct a proper Mix is using a postfix coersion method call. 12:32
m: my $m = (butter => 0.22, sugar => 0.1, flour => 0.275, sugar => 0.02).Mix; dd $m
camelia rakudo-moar a8221e: OUTPUT«Mix $m = ("flour"=>0.275,"butter"=>0.22,"sugar"=>0.12).Mix␤»
p3rln00b m: my $m = Mix.new-from-pairs: 'butter' => 0.22, 'sugar' => 0.1, 'sugar' => 0.02; dd $m 12:35
camelia rakudo-moar a8221e: OUTPUT«Mix $m = ("butter"=>0.22,"sugar"=>0.12).Mix␤»
p3rln00b Never mind :}
12:38 canopus left
masak .oO( how to quickly disprove your own language complaint ) :P 12:38
12:38 pmurias joined 12:39 nicq20 joined 12:40 grondilu left
dalek c: d7257a0 | (Zoffix Znet)++ | doc/Type/Baggy.pod6:
Document Baggy.new-from-pairs
12:40
12:43 canopus joined
nicq20 \help 12:47
oops. Wrong slash
p3rln00b ∖help 12:51
m: say <a b c> ∖ <b x y>
camelia rakudo-moar a8221e: OUTPUT«set(a, c)␤»
p3rln00b hehe
m: say <a b c> \ <b x y> 12:52
camelia rakudo-moar a8221e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unsupported use of y///; in Perl 6 please use tr///␤at <tmp>:1␤------> 3say <a b c> \ <b x y7⏏5>␤»
nicq20 p3rln00b: Wait, how does that work? 12:53
p3rln00b nicq20: magic :)
nicq20: Also, fancy pants Unicode set operators :) 12:54
docs.perl6.org/routine/%E2%88%96
nicq20 p3rln00b: Oh! So that only *looks* like a regular backslash. 12:55
p3rln00b yeah.
m: '∖\'.uninames.say
camelia rakudo-moar a8221e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in single quotes; couldn't find final "'" ␤at <tmp>:1␤------> 3'∖\'.uninames.say7⏏5<EOL>␤ expecting any of:␤ single quotes␤ term␤»
p3rln00b m: '\∖'.uninames.say
camelia rakudo-moar a8221e: OUTPUT«(REVERSE SOLIDUS SET MINUS)␤»
p3rln00b m: role Foo { has $!x; }; role Bar does Foo { method foo { $!x } }; 12:57
camelia rakudo-moar a8221e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Attribute $!x not declared in role Bar␤at <tmp>:1␤------> 3role Bar does Foo { method foo { $!x } }7⏏5;␤ expecting any of:␤ horizontal whitespace␤ postfix␤ statement…»
p3rln00b m: role Foo { has $!x; }; class Bar does Foo { method foo { $!x } };
camelia ( no output )
p3rln00b Bug? 12:58
m: role Foo { has $!x; }; role Bar does Foo { method foo { $!x } }; class Meow does Bar {}
camelia rakudo-moar a8221e: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Attribute $!x not declared in role Bar␤at <tmp>:1␤------> 3role Bar does Foo { method foo { $!x } }7⏏5; class Meow does Bar {}␤ expecting any of:␤ horizontal whitespace␤ post…»
p3rln00b kinda annoying
I guess it's some composing thing that's causing this and it ain't a bug :} 13:00
jnthn "It's complicated" 13:04
p3rln00b :D
jnthn So roles are generic and parametric
13:05 cdg joined
jnthn And thus a "does Foo" is not in general resolvable until we are actually finally composing into the target class 13:05
The solution we take for classes is to put of attribute decl checks until after roles are composed
So we know what we've got and what, if anything, is missing
13:06 domidumont left
jnthn *put off 13:06
That's rather harder for roles themselves though
p3rln00b I see.
13:07 eliasr joined, rgrinberg joined
DrForr Well, there's some activity here now; I'll toss this out to the channel. 13:09
I got an email last night from brian d foy asking me if I'd like to co-author Learning Perl 6.
13:10 iH2O joined
p3rln00b Does brian d foy even use Perl 6? Never seen him here 13:10
iH2O he should, using it is adopting it 13:11
DrForr He's getting more interested in it, certainly. Plus you don't have to be on this channel in order to use perl6 :)
p3rln00b still remembers being chasticed by bdfoy over a module name
iH2O not sure, esp if u a beginner 13:12
jnthn Not everyone does IRC :)
iH2O they do facebook?
reddit?
DrForr Uh, he wrote "Learning Perl" :) I don't think he needs help with presence :) 13:13
13:13 skids joined
iH2O this room is a must to produce intricate regex expressions 13:15
on one line
p3rln00b Well, I guess that was one of my points. Is he writing Learning Perl 6 because he likes the language and knows a lot about it or just because he wrote Learning Perl and knows people will buy Learning Perl 6 just 'cause it got his name on it :)
DrForr It can't be both? 13:16
iH2O theres a shortage of good up-to-date perl6 book anyway 13:17
*books
im not sure theres any
DrForr Shortage as in "there are none." (not counting Laurent's work, as it's still being reviewed.)
iH2O :(
p3rln00b DrForr: So was there more to bdfoy asked you to write a book? Or is that the entire news item? :)
DrForr No, asked if I'd like to join him. That's ... pretty much it. Sorry you're underwhelmed. 13:18
moritz and Laurent's book is Learning to think likea programmer, using Perl 6 to teach that
it's not about teaching Perl 6
so for an experienced programmer, it's probably a bit long-winded
p3rln00b DrForr: heh. Well, it's just I already found that out yesterday, so yeah... underwheliming :) 13:19
DrForr: did you tell him you'd love to join him?
DrForr Yes, I do know I've mentioned it elsewhere.
Well, of course. Why wouldn't I?
p3rln00b :)
moritz \o/ 13:20
the more books, the merrier
iH2O theres none for now
DrForr We talked about this in person a few months back when he was in Cluj. 13:21
p3rln00b DrForr: when will the book be finished? 13:24
I recall Damian also promising a book "in a year" when he was in Toronto a few months ago
DrForr No idea; he's the one working on financing. All I really know is he's interested in doing the book and is setting up a Kickstarter project and looking at funding. 13:25
p3rln00b cool 13:26
perlpilot_ DrForr: nice! Would merlyn be coauthor too or just you and bdf? 13:29
DrForr I don't know whom else he's talked to, but either way I'm happy to share credits. 13:30
13:30 perlpilot_ is now known as perlpilot
DrForr Basically he's wanting to kick around some ideas, so I'm going to take some time this weekend to brainstorm some notions and send them his way. 13:31
dalek c: 2c0a31b | coke++ | doc/Language/5to6-perlop.pod6:
fix typo
13:32
c: 025a6cd | coke++ | doc/Language/5to6-perlop.pod6:
prefer starting point
13:36
13:36 zakharyas joined 13:37 cooper_ left 13:38 cooper_ joined, dalek left 13:39 ocbtec left 13:40 dalek joined, ChanServ sets mode: +v dalek 13:43 nicq20 left
dalek c: c33a4cc | coke++ | doc/ (5 files):
fix typos
13:49
c: 4a84f3a | coke++ | doc/Type/IO/Notification.pod6:
fix typo
13:52
c/spellcheck: d7257a0 | (Zoffix Znet)++ | doc/Type/Baggy.pod6:
Document Baggy.new-from-pairs
doc/spellcheck: ff4f4b8 | coke++ | doc/Type/Baggy.pod6:
doc/spellcheck: Merge branch 'master' into spellcheck
13:52 dalek left, sufrostico joined 13:53 dalek joined, ChanServ sets mode: +v dalek
[Coke] ooh, did I kill dalek? oops 13:53
13:53 bjz left
p3rln00b Murderer! 13:54
[Coke] so, still only able to run 250 of the 290 files, but only 133 of those are failing spelling checks now. (up from all of them.)
er, down
14:03 brillenfux left 14:06 domidumont joined 14:16 zakharyas left 14:18 iH2O left
samcv hi p3rln00b i am getting Cannot look up attributes in a type object in method irc-privmsg-channel at ./perlbot.pl6 line 47 14:20
here's a copy of the code vpaste.net/ZrXff 14:21
14:21 ptolemarch joined 14:23 baest left
p3rln00b Well, I see one mistake already: gist.github.com/zoffixznet/8185822...-p6-p6-L15 14:23
You're calling .channels on Proc::Async object. My version last night had channels in a variable
dalek c: 50e1f10 | coke++ | doc/Type/Signature.pod6:
improve readability of diag output in example
14:25
c: 0bd5849 | coke++ | doc/ (7 files):
fix typos
samcv oh crap
ha
p3rln00b samcv: as for your error, you need to instantiate the plugin, so change :plugins(said2) to :plugins(said2.new) 14:26
dalek c/spellcheck: f2752d4 | coke++ | xt/.aspell.pws:
more words
c/spellcheck: 50e1f10 | coke++ | doc/Type/Signature.pod6:
improve readability of diag output in example
c/spellcheck: 0bd5849 | coke++ | doc/ (7 files):
fix typos
samcv can i call it on $irc?
dalek c/spellcheck: a0c737b | coke++ | doc/ (8 files):
Merge branch 'master' into spellcheck
samcv hm
ok. how do i dump all methods of an object?
p3rln00b m: say 42.^methods».name.say
camelia rakudo-moar 2d5a2c: OUTPUT«(Int Num Rat FatRat abs Bridge chr sqrt base polymod expmod is-prime floor ceiling round lsb msb narrow Range sign sin tan cotan acosech conj atan2 cosec pred asec acotan cosh acos acosec sech unpolar log10 atanh log exp acosh truncate sinh tanh acotanh Re…»
samcv nice
p3rln00b samcv: using $.irc ... um... it's a bit more involved, since the client is multi-server. You need to know what server to ask for channels for. 14:27
p3rln00b glances at the docs
samcv yeah
14:28 rudolfochrist left
p3rln00b samcv: you can just use the variable and tell the client to join channels in that variable and loop over that same variable: gist.github.com/zoffixznet/213f910...e-p6-p6-L6 14:28
14:28 baest joined
samcv ah ok i thought about doing that 14:28
p3rln00b samcv: this is a "proper" way to loop over all connected servers and channels: github.com/zoffixznet/perl6-IRC-Cl....p6#L7-L15 14:29
There's a blog post for that module FWIW: perl6.party/post/IRC-Client-Perl-6-...IRC-Module
samcv yeah it's a good post 14:30
oh did not see that part
p3rln00b The guy who wrote it is a genius.
samcv , we loop over all of the connected channels and use $.irc.send method to send a message to that particular channel and server, unless the server and channel are the same as where the message originated.
p3rln00b I want him to have my babies :}
samcv it's a lot better than perl5's BasicBot :P 14:31
i hate that thing
i mean it's not 'that' bad. but
it's nowhere as good as IRC::Client
p3rln00b samcv: ah, right. That's just for the forwarder. For yours, you'd just get rid of this line to send to *all* channels: github.com/zoffixznet/perl6-IRC-Cl...rder.p6#L9
14:32 user9 left 14:34 ocbtec joined, user9 joined 14:35 user9 left, user9 joined 14:38 domidumont1 joined, domidumont left
dalek c: d5f5ce7 | (Zoffix Znet)++ | doc/Type/Mix.pod6:
Document Mix.Bag/.BagHash
14:44
c: c24aeb5 | (Zoffix Znet)++ | doc/Type/MixHash.pod6:
Document MixHash.Bag/.BagHash
14:45
14:47 iH2O joined 14:51 Actualeyes joined 14:52 sufrostico left 14:54 nicq20 joined 14:59 abraxxa left 15:00 neuraload left 15:07 Derperperd joined, khw joined 15:12 MARTIMM left
samcv i want a perl6 book :( i wish there was one 15:14
someday
p3rln00b Why do people want books so badly? :) 15:15
iH2O the official documentation is deficient
samcv because i wanna read
p3rln00b deficient! Bah
15:15 Guest11718 is now known as ponbiki
iH2O for beginners, or intermediate users its deficient 15:15
samcv documentation is documentation :)
mst p3rln00b: because you didn't figure out how to script conversion of docs.perl6.org to an ebook instead
samcv yeah what iH2O
if you already know perl6 you can see the docs and say, yes that is true and correctly documented
iH2O i agree 100% 15:16
samcv otherwise you're like but. what does that mean for me as a programmer :)
p3rln00b mst: actually we have. gfldex++ made it generate one giant HTML file that can be converted to an ebook :P
mst p3rln00b: WHY IS THERE NOT A LINK TO THAT ON THE FRONT PAGE
p3rln00b mst: dunno. I personally found it a bit unmanagable.
15:16 domidumont1 left
p3rln00b It's like 500 pages long 15:17
samcv link to it anyway :P
will be good to ctrl + f it
mst that would've been fine. I read through all the individual pages, one at a time, in pubs
some of them had medicore wifi
samcv googling perl6 "$!" turns up nothing because google ignores it :) found what it is, for attributes on the perl6 sigil page
mst so I'd have to stand up, walk to the other side of the room where the signal was better, load the next three pages, then go back to my beer
samcv but doesn't talk all that much about it
mst an ebook would have removed this impediment to my alcohol consumption 15:18
p3rln00b I think this is it:
docs.perl6.org/perl6.xhtml
DrForr duckduckgo is better about the "special" variables.
samcv nice
sometimes *_* sometimes not
mst p3rln00b: yeah, I meant an ebook conversion of it
chrome would've lost my place I'm sure
samcv i will sell you that printed out for 50 dollars
p3rln00b there's probably html2epub somewhere 15:19
samcv it would look bad tho
p3rln00b If not, print as HTML and I know calibri can convert to epub from pdf
*print as PDF
samcv wew
duckduckgo $! perl6 and
stockflare.com/stocks/$perl6 get this page
for stocks of perl6 15:20
p3rln00b Considering duckduckgo has special bells and whistles for Perl 5 and Python docs, I'm sure they would be open to add same feature for Perl 6 :)
mst p3rln00b: waah. the point I'm making is a conversion on the front page would be nice.
p3rln00b mst: wasn't it you who were telling tbrowder awhile back that when someone says "would be nice" it means they want someone else to do it? :P 15:21
15:21 dataf4l joined
p3rln00b You got a commit bit, don't you? :) 15:21
mst p3rln00b: I believe I was talking about "should"
p3rln00b Ah, right.
mst I use "would be nice" specifically to avoid that effect 15:22
15:22 iH2O left
p3rln00b samcv: as for the book. I know currently of two that are in production, with a third one that was kinda-sorta "promised" to be done "in a year" a few month ago. 15:22
mst cuz what I'm saying is "I haven't written a patch that, but currently you're being so dismissive of the idea I don't see why I'd bother"
Xliff_ zoffix: Nice blog post on IRC::Client
samcv p3rln00b, please send me the proof copies :P 15:23
mst also, honestly, also "I'm lazy, riba's insane, and I need to cpan my ::EU stuff more than I need to fix this"
15:23 FROGGS joined
p3rln00b samcv: as for the docs. You would be in the best position to improve them. Those who know Perl 6 well can fill in the missing pieces and it's hard to know which stuff is missing. 15:23
mst: I didn't mean to be dismissive. 15:24
samcv i am glad to help howerever i can
p3rln00b samcv: what's the email address? I can sub you to a mailing list that should be put up soon. For the other book, ask DrForr
samcv ok
sent pm
p3rln00b got it.
FROGGS o/ 15:25
15:25 mohae joined
DrForr For the other book I don't know much more than bdf right now. 15:25
samcv oh btw p3rln00b the sigil page should have a link to docs.perl6.org/language/objects.html#Attributes
when it talks about the $! sigil
mst samcv: github.com/perl6/doc/issues/
samcv: please throw problems you spot into there
samcv oo ok. just open an issue?
ok :)
that makes me happy 15:26
p3rln00b samcv: better yet, submit a PR
mst samcv: yeah. I opened them at quite a rate as I was working through the docs and people were happy about that
but I was usually going "I don't know what the right thing is, but I think this is wrong"
15:29 lostinfog joined
samcv who was usually right? 15:31
mst I'm sorry? 15:32
there were quite a few people who figured out the various fixes and tweaks and etc. for those
p3rln00b Oh crap. 15:33
p3rln00b just did a "It's a small fix. Push it to production because testing is a pain"
And now I broke something :P Lesson: Always test on dev server first 15:34
15:35 user9 left
mst p3rln00b: the only time it's valid not to is if production is already down 15:39
15:40 domidumont joined
nicq20 Anyone happen to know where in the Rakudo repo the 'once' block is defined? I was trying to find it using CoreHackers::Sourcery, but was having troubel. 15:40
*trouble
p3rln00b nicq20: Grammar/Actions likely 15:41
It's a statement modifier, not a Callable, so sourcery won't find it
[Coke] src/Perl6/Grammar.nqp
1659: token statement_prefix:sym<once> { <sym><.kok> <blorst> }
samcv p3rln00b, unit tests :) 15:42
p3rln00b nicq20: here are some places to check out: fpaste.scsys.co.uk/535960
samcv: mabby... it's a JS front end running on uber hackish system though. 15:43
samcv i make sure i don't break things with my bot by having a ton of unit tests, at least with the script that processes all the text to channel
nicq20 p3rln00b: Thank you! This seems to be it: github.com/rakudo/rakudo/blob/nom/....nqp#L2034
samcv before i push it to the server
atm it opens the script every time somebody says something, but i have a version that reads stdin and responds to it. eventually hope to replace it with 15:44
[Coke] *tap tap* is this thing on ? 15:45
p3rln00b Afirmative. 15:46
samcv oh p3rln00b vpaste.net/QMJSj i am geting Variable $!proc used where no 'self' is available line 25
p3rln00b samcv: I already told you the answer for it. 15:47
samcv oh
my bad
let me scroll up
$!proc
p3rln00b samcv: 14:26 p3rln00b samcv: as for your error, you need to instantiate the plugin, so change :plugins(said2) to :plugins(said2.new) 15:48
You haven't done that, so that's why you may be experiencing the error.
samcv oh i did that
it gives the error
sorry i tried switching it back :P and that was in the version i copied
here is it repasted vpaste.net/uLn4n 15:49
p3rln00b samcv: and dunno why you're dumping methods like that. They're all documented: github.com/zoffixznet/perl6-IRC-Cl...-ircclient
samcv well it didn't work anyway :)
was more for my education to see what it'd spit out 15:50
15:50 rgrinberg left
p3rln00b I see nothing but a brace on line 25... What's the real error message? 15:50
samcv Variable $!proc used where no 'self' is available did i miss a brace? 15:51
p3rln00b What's the full error message 15:52
samcv that is the full one. but i have an extra brace you are right
15:52 dataf4l left
p3rln00b That can't be the full one 15:52
m: $!proc
camelia rakudo-moar bf7945: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable $!proc used where no 'self' is available␤at <tmp>:1␤------> 3$!proc7⏏5<EOL>␤»
samcv ==SORRY!=== Error while compiling /home/samantha/proj/perlbot/./perlbot.pl6 Variable $!proc used where no 'self' is available at /home/samantha/proj/perlbot/./perlbot.pl6:25------> $!proc⏏ = $_; 15:53
15:53 dataf4l joined
samcv that is the full message 15:53
p3rln00b That paste looks really messed up. Are you using tabs for indentation? :) 15:54
moritz seems like you use $!proc outside of a method
p3rln00b One too many braces.
samcv ok i fixed the problem by fixing the braces. yes i am
there were two actually
moritz which happens if you close too many parenthesis before using it, for example 15:55
samcv no my braces were just all messed up in reality p3rln00b
p3rln00b Ah yeah
moritz fix that first
no wonder you're losing overview
p3rln00b samcv: really? Weird. When I paste from that pastebin to Atom, it shows all the braces aligned just fine.
Well, other than the two extra ones :)
samcv well they are aligned 'fine'
but not correctly
so maybe it did mess it up
yeah i copied in stuff without tabs in it 15:56
geekosaur atom likely treatng hard tabs as 4 spaces, pastebin as the usual-for-unixes 8
samcv yeah that messes things up
well the browser does that geekosaur
it just has the literal tab character on the page
moritz method irc-connected ends before the "await .start" line
which is likely not what you want
15:56 pierre_ left
moritz so, too many closing curlies 15:56
samcv usually it converts them when i paste things it but i guess it didn't work this time. yeah moritz it was not good 15:57
geekosaur yes. technically it's the browser rendering. you still won't find anything to tell every browser everywhere to render them as 4 spaces; they always use 8
samcv yeah
geekosaur (and if there were one it'd be different for every freaking browser /o\ )
16:00 AlexDaniel left
p3rln00b Clearly the correct answer is to use spaces for indent :P 16:01
samcv in python 3 i hear you can't even use tabs for indent 16:02
idk i use tabs for indenting code blocks and spaces for aligning things to the current block 16:03
say what you will!
maybe i'm totally insane :)
mst samcv: tabs for indentation and spaces for aligment is actually the objectively superior system in theorty 16:04
samcv yeah
mst however, in practice it seems to involve dipping your genitals into a bag of rusty razor blades
samcv hahah 16:05
16:05 dataf4l left
pmurias having tools to take care of indenting code seems more important then the exact details of the way used 16:07
16:09 g4 left
mst my main reason for using spaces is that I hate every re-indenter I've ever worked with 16:09
so I'd rather do everything the hard way, because at least then it does what I expect 16:10
16:11 dataf4l joined 16:19 rgrinberg joined 16:24 wamba joined
jonadab Tabs for indentation work in word processing, when you want to indent by some number of inches while using a proportional font. Though even there, setting paragraph indent is usually better. 16:26
Tabs in source code are evil and must be destroyed. 16:27
p3rln00b :D
mspo mm tabs 16:32
16:32 mxco86 joined
mspo I think .eu prefers tabs but .us tends to prefer spaces 16:32
.uk indents in something called "whitz" ;) 16:33
jonadab Tabs don't work for indenting source because A) nobody can agree how wide they are and B) no matter what width you say they are, it's wrong for a lot of use cases and C) the correct level of indentation relative to the line above will not always be a multiple of any number higher than 1 in the first place. 16:36
p3rln00b fight fight! 16:37
jonadab You can make it work for stuff like indenting the body of a loop, but it falls over very badly when you have things like conditions wrapping onto more than one line.
16:41 dakkar left
p3rln00b Well, for all of those points there's an equal number of counterpoints :) 16:41
The Tabs vs. Spaces is the biggest bikeshed of the galaxy.
16:43 dataf4l left
timotimo um, indent with tabs, align with spaces. problem solved. 16:45
[Coke] timotimo: um, indent with spaces, align with spaces. problem solved. 16:46
m: "\t" and die;
camelia rakudo-moar bf7945: OUTPUT«Died␤ in block <unit> at <tmp> line 1␤␤»
16:47 rmusial left 16:48 Gothmog_ joined, rmusial joined 16:50 wamba left, dataf4l joined
p3rln00b ident with by pressing tab that your editor converts to spaces, align with spaces, problem solved. 16:51
16:51 dataf4l left
timotimo perfect 16:53
well, if the tabs would remain in the source file, you'd have a proper encoding of your intent in the file
geekosaur but that's exactly the problem. tabs are not semantic markup 16:54
p3rln00b My intent is to indent, not to insert tabs
geekosaur people want them to be, but they aren't
16:54 nicq20 left 16:55 dataf4l joined
geekosaur nor can you somehow combine them with spaces so you get both the semantic markup and the physical representation that compilers and editors insist on using 16:55
16:58 ribasushi joined 17:04 iH2O joined
mspo use   17:05
m: say uniname(" ") 17:08
camelia rakudo-moar bf7945: OUTPUT«HAIR SPACE␤»
p3rln00b m: say "42"
camelia rakudo-moar bf7945: OUTPUT«42␤»
p3rln00b :o
m: say uniname(" ")
camelia rakudo-moar bf7945: OUTPUT«HAIR SPACE␤»
p3rln00b wow. It actually works as a delimiter :)
mspo m: say Ⅳ + ⅷ 17:09
camelia rakudo-moar bf7945: OUTPUT«12␤»
p3rln00b That doesn't impress me anymore :)
m: "say\x[180E]42".EVAL 17:10
camelia rakudo-moar bf7945: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5᠎42␤Bogus postfix␤at /home/camelia/EVAL_0:1␤------> 3say7⏏5᠎42␤ expecting any of:␤ infix␤ infix stopper…»
p3rln00b m: "say\x[2008]42".EVAL
camelia rakudo-moar bf7945: OUTPUT«42␤»
17:11 firstdayonthejob joined
p3rln00b m: dd "\x[180E]\x[2008]".comb».uniprop 17:11
camelia rakudo-moar bf7945: OUTPUT«("Cf", "Zs")␤»
p3rln00b m: (^0xFFFFF).grep(*.uniprop eq 'Zs').say 17:12
m: (^0xFFFFF).grep(*.uniprop eq 'Zs')»base(16).say
m: (^0xFFFFF).grep(*.uniprop eq 'Zs')».base(16).say
Work, robot!
p3rln00b cracks the eWhip 17:13
camelia rakudo-moar bf7945: OUTPUT«(32 160 5760 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8239 8287 12288)␤»
rakudo-moar bf7945: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing dot on method call␤at <tmp>:1␤------> 3(^0xFFFFF).grep(*.uniprop eq 'Zs')»7⏏5base(16).say␤ expecting any of:␤ postfix␤»
rakudo-moar bf7945: OUTPUT«(20 A0 1680 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 200A 202F 205F 3000)␤»
p3rln00b m: say join " ", <this is hilarious because it works> 17:15
camelia rakudo-moar bf7945: OUTPUT«this is hilarious because it works␤»
p3rln00b say 'Perl' , 6 , 'Rocks' , 'Your'   , 'Socks'; 17:17
m: say 'Perl' , 6 , 'Rocks' , 'Your'   , 'Socks';
camelia rakudo-moar bf7945: OUTPUT«Perl6RocksYourSocks␤»
p3rln00b say 'Perl' , 6 , 'Rocks' , 'Your'   , 'Socks'    .List;
m: say 'Perl' , 6 , 'Rocks' , 'Your'   , 'Socks'    .List;
camelia rakudo-moar bf7945: OUTPUT«Perl6RocksYour(Socks)␤»
17:18 rgrinberg left
p3rln00b m: say     ('Perl' , 6 , 'Rocks' , 'Your'   , 'Socks')       .List; 17:18
camelia rakudo-moar bf7945: OUTPUT«(Perl 6 Rocks Your Socks)␤»
p3rln00b That's it. I found my perfect indentation character :D
lucs In Perl 6's relatively recent past, did 「$x = @foo」 work like Perl 5's? (that is, because of scalar context, assign the number of elements of @foo to $x) 17:19
17:19 _slade_ joined
p3rln00b commitable: 2015.07 my @foo = <a b c>; my $x = @foo; dd $x 17:20
committable6 p3rln00b, ¦«2015.07»: $x = ["a", "b", "c"]
p3rln00b commitable: 2014.05 my @foo = <a b c>; my $x = @foo; dd $x
committable6 p3rln00b, ¦«2014.05»: ===SORRY!=== Error while compiling /tmp/pCKVOTFDn6␤Undeclared routine:␤ dd used at line 1␤ «exit code = 1»
timotimo lucs: never
p3rln00b commitable: 2014.05 my @foo = <a b c>; my $x = @foo; say $x
committable6 p3rln00b, ¦«2014.05»: a b c
17:21 dataf4l left
timotimo lucs: at least not at any point in the last 3 or 4 years 17:22
lucs timotimo: Weird. github.com/colomon/perl6-Testing/b...esting.pm, line 73, expects this Perl5ish behaviour (and of course breaks).
geekosaur pugs: my @foo = <a b c>; my $x = @foo; say $x
camelia pugs: OUTPUT«sh: /home/camelia/.cabal/bin/pugs: No such file or directory␤»
geekosaur bah
17:23 dataf4l joined
timotimo lucs: it could expect the splice method to convert its second argument to Int 17:23
though i think the actual problem with this is that classes don't actually close over lexicals
if i'm not mistaken?
p3rln00b They do
timotimo OK 17:24
lucs Well, splice complains, and the code's intention seems to be to assign the number of elements.
timotimo m: my @test = 1, 2, 3; say @test.splice(0, "123")
camelia rakudo-moar bf7945: OUTPUT«Cannot resolve caller splice(Array: Int, Str); none of these signatures match:␤ (Array:D \SELF: *%_)␤ (Array:D $: Whatever, *%_)␤ (Array:D $: Callable:D $offset, *%_)␤ (Array:D $: Int:D $offset, *%_)␤ (Array:D $: Whatever, Whatever…»
p3rln00b Buggable does it: github.com/zoffixznet/perl6-buggab...er.pm6#L24
timotimo bisectable: my @test = 1, 2, 3; say @test.splice(0, "123")
bisectable6 timotimo, Bisecting by exit code (old=2015.12 new=bf7945e). Old exit code: 0
geekosaur considered using ... that
timotimo :)
geekosaur possibly splice's signature changed
timotimo that's my thought
geekosaur and some kind of autocoerce was happening
timotimo yeah, like Int() in the signature instead of Int 17:25
p3rln00b Current candidates can only be Int:D|Whatever|Callable
bisectable6 timotimo, bisect log: gist.github.com/3b7a683d584da79662...2ea0a15007
timotimo, (2016-10-01) github.com/rakudo/rakudo/commit/28...61fd0eac14
lucs Still, I wonder why Testing's code doesn't just say what it means :(
... $limit = @lines.elems 17:26
geekosaur quick port from p5 that happened to work because of an inaccurate signature?
oh
p3rln00b lucs: the $limit = * works too and shortrter
17:27 dataf4l left
p3rln00b m: 55296.uniname.say 17:31
camelia rakudo-moar bf7945: OUTPUT«<Non Private Use High Surrogate>␤»
p3rln00b m: 55296.chr.say
camelia rakudo-moar bf7945: OUTPUT«Error encoding UTF-8 string: could not encode codepoint 55296␤ in block <unit> at <tmp> line 1␤␤»
17:35 dogbert17 joined 17:38 rgrinberg joined 17:40 domidumont1 joined, domidumont left, Guest16699 is now known as pierrot 17:41 pierrot left, pierrot joined, pierrot left, pierrot joined
timotimo yeah, can't encode a high surrogate with out a low surrogate ... or something? 17:54
p3rln00b ah 17:55
timotimo not sure how surrogates work exactly 17:57
18:07 iH2O left
TimToady
.oO(poorly)
18:14
p3rln00b hopes TimToady will know the answer to the AT-KEY mystery. 18:16
As in, why SELF.defined is significant here: github.com/rakudo/rakudo/blob/bf79...ny.pm#L364
If I remove it, autovivification tests start to fail. 18:17
*even if I move it to be called on a previous line* they start to fail :S
18:18 cygx joined
cygx o/ 18:18
timotimo p3rln00b: the whence is executed when you assign to the thing
p3rln00b Oh damn
Mystery solved
That's a good half hour wasted :D
timotimo i wish i had looked at the code earlier :(
p3rln00b I guess I should read the code around the thing I'm changing ^_^ 18:19
timotimo could help sometime 18:20
sometimes*
cygx timotimo: re surrogates, the Unicode codepoint range is 0x0..0xD7FF u 0xE000..0x10FFFF 18:23
the whole in the middle is reserved for UTF-16 surrogates
timotimo m: say 0xe000 - 0xd7ff
camelia rakudo-moar bf7945: OUTPUT«2049␤»
cygx however, UTF-8 can encode 0x0..0x1FFFFF without problem (and even more than that if you do not restrict yourself to 4 bytes)
but encoded surrogates in UTF-8 are techinically Forbidden 18:24
*hole
18:24 cyphase left 18:25 Actualeyes left
jonadab You have to assume broken software is going at some point to send your software invalid data. 18:26
You want to be able to detect that situation, but you don't want it to cause explosions.
timotimo right
p3rln00b m: 55296.chr.say; CATCH { default { .^name.say } }; "No explosion".say 18:27
camelia rakudo-moar bf7945: OUTPUT«X::AdHoc␤»
timotimo we have upcoming changes to how stuff reacts to encoding issues
p3rln00b m: {55296.chr.say; CATCH { default { .^name.say } }}; "No explosion".say
camelia rakudo-moar bf7945: OUTPUT«X::AdHoc␤No explosion␤»
18:28 cdg left 18:29 cyphase joined 18:32 adu joined 18:33 canopus left
harmil_wk Using the parameter-type-conversion syntax (A(B) $c) with MAIN seems to not work. Is this how I should have expected it to work? gist.github.com/ajs/80ceb7fe672cfe...40ecf93e69 18:35
18:36 nowan_ joined
p3rln00b harmil_wk: what does "not work" mean? 18:36
18:36 canopus joined
geekosaur I think that's known and expected because anything handed to MAIN is intrinsically string-y 18:36
timotimo right, you get IntStr and such there 18:37
harmil_wk p3rln00b: It fails to convert from Str, and just gives usage
18:37 cyphase left
timotimo those will already match Int and Str 18:38
well, did you give Str a .Filename method?
18:39 nowan left
harmil_wk geekosaur: But Foo(Str) :$foo should take a Str and ugprade it shouldn't it? 18:39
geekosaur as timotimo said, only if there is a coercer already
p3rln00b m: class Filename {}; sub (Filename() :$foo) {dd $foo}()
camelia rakudo-moar bf7945: OUTPUT«No such method 'Filename' for invocant of type 'Any'␤ in sub at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
geekosaur you can't tell it "coerce these" unless it knows how to coerce, which means a .Filename method in Str
p3rln00b harmil_wk: ^ that's your problem. I guess sub MAIN just doesn't actually throw that error and instead prints usage
geekosaur yes, I think it catches exceptions and prints usage instead 18:40
timotimo yeah
geekosaur not MAIN itself but the harness that invokes it
harmil_wk alal:
m: sub f(IO(Str) $file) { say $file.basename }; f("/tmp")
camelia rakudo-moar bf7945: OUTPUT«tmp␤»
p3rln00b harmil_wk: that's because Str has IO method
s: "/tmp", 'IO'
SourceBaby p3rln00b, Sauce is at github.com/rakudo/rakudo/blob/bf79...ol.pm#L221
harmil_wk Is it? That's not what that syntax is supposed to be
geekosaur [13 18:39:45] <geekosaur> you can't tell it "coerce these" unless it knows how to coerce, which means a .Filename method in Str 18:41
p3rln00b harmil_wk: syntax for what?
harmil_wk Hold up... I'm confused. So, if I want to have a type that can be coerced to from Str, I have to monkey-patch Str to know about it? Isn't that backwards? 18:42
timotimo it's sub-optimal, but all solutions to this particular problem are 18:43
geekosaur what timotimo just said
p3rln00b harmil_wk: but how else would a type know how to coerce to your custom type?
timotimo subs are lexical, for example, so the knowledge of how to coerce would be limited to where you're calling from
timotimo AFK 18:44
harmil_wk p3rln00b: I don't think that's what anyone should want. What we should want is to have my custom type know how to coerce FROM a given type. That's what I assumed the A(B) $c signature syntax was doing...
If my custom type can be coerced to from Int, Str, Complex and IO, I don't think that it makes sense to go modifying all of those, does it? 18:45
18:45 rindolf left, wamba joined
p3rln00b harmil_wk: Feels dirty. You're not coercing anthing "from". You're proposing a mechanism that would set attributes or create a new object when a particular routine is called. 18:46
harmil_wk Well, coercing is, of course, creating a new object. It's not polymorphism. 18:47
p3rln00b Which I'm pretty can be done with a subset anyway
harmil_wk how?
lucs Looking at some old code that has 「sub foo(:d(:$default) as Str = "", …)」, which complains of 「Malformed parameter at ⋯ ------> :d(:$default)⏏ as Str = ""」 when compiled today.
dalek c: 6bfa9b4 | coke++ | doc/ (9 files):
fix typos, grammar, and prefer writable
lucs How should that be written now?
dalek c/spellcheck: d5f5ce7 | (Zoffix Znet)++ | doc/Type/Mix.pod6:
Document Mix.Bag/.BagHash
18:48
c/spellcheck: c24aeb5 | (Zoffix Znet)++ | doc/Type/MixHash.pod6:
Document MixHash.Bag/.BagHash
c/spellcheck: 3acd7bc | coke++ | doc/Type/Mix (2 files):
Merge branch 'master' into spellcheck
c/spellcheck: 9b5ad6b | coke++ | xt/.aspell.pws:
more words
c/spellcheck: 6bfa9b4 | coke++ | doc/ (9 files):
fix typos, grammar, and prefer writable
c/spellcheck: 74eb7bf | coke++ | doc/ (9 files):
Merge branch 'master' into spellcheck
p3rln00b lucs: maybe foo(Str :d(:$default) = "")
lucs p3rln00b: I'll try that, thanks.
p3rln00b No idea what as Str is
mspo m: say Str.what 18:49
camelia rakudo-moar bf7945: OUTPUT«No such method 'what' for invocant of type 'Str'␤ in block <unit> at <tmp> line 1␤␤»
mspo oh well
geekosaur m: say Str.WHAT
camelia rakudo-moar bf7945: OUTPUT«(Str)␤»
p3rln00b harmil_wk: or maybe not. If there is, you'd need an is rw anyway, so it won't work with MAIN anyway 18:52
18:52 rindolf joined
timotimo "as Str" is an arcane coercion syntax 18:53
perlpilot timotimo++ you beat me by mere seconds
timotimo so what you really wanted there was Str() :d($default) = "") (and i tthink you have to drop the : before $default)
p3rln00b m: class Foo { has $.x }; sub foo ($x is rw where { $x = Foo.new: :$x } ) { dd $x }($ = 42)
camelia rakudo-moar bf7945: OUTPUT«Foo $ = Foo.new(x => 42)␤»
p3rln00b harmil_wk: ^ (but as I've said, requires is rw
)
harmil_wk why not is copy?
lucs Just removing the 「as Str」 appears to have fixed it. 18:54
p3rln00b harmil_wk: ah, right, is copy works too
18:57 bstamour joined 18:59 cyphase joined
harmil_wk So, using the "is copy where" syntax works, but has a drawback. It doesn't allow me to use the typename in MAIN's automatic USAGE generation (so I get "--foo=<Any>" in the usage) 19:01
Here's the two ways that work: gist.github.com/ajs/079f1f9c7d0cf5...ed745beb30
19:01 adu left
p3rln00b m: BEGIN @*ARGS = '--foo=42'; class Filename { has $.v; method FromStr ($v) { self.new: :$v } }; multi MAIN (Str :$foo) { samewith :foo(Filename.FromStr: $foo) }; multi MAIN (Filename :$foo) { dd "Got $foo.v()" } 19:04
camelia rakudo-moar bf7945: OUTPUT«"Got 42"␤»
p3rln00b m: BEGIN @*ARGS = '--fdsdssoo=42'; class Filename { has $.v; method FromStr ($v) { self.new: :$v } }; multi MAIN (Str :$foo) { samewith :foo(Filename.FromStr: $foo) }; multi MAIN (Filename :$foo) { dd "Got $foo.v()" }
camelia rakudo-moar bf7945: OUTPUT«Usage:␤ <tmp> [--foo=<Str>] ␤ <tmp> [--foo=<Filename>] ␤»
19:05 domidumont1 left
harmil_wk p3rln00b: That's ... interesting 19:06
Looks like it iterates over the instances of MAIN?
p3rln00b m: gist.github.com/zoffixznet/3605a2f...8768276071 19:07
camelia rakudo-moar bf7945: OUTPUT«Usage:␤ <tmp> [--foo=<Filename>] ␤ ␤ --foo=<Filename> A filename argument.␤»
p3rln00b harmil_wk: ^
harmil_wk: it's just using multi dispatch. The usage is LTA though, as it lists both multies
Oh wait. The last example probably doesn't work 19:08
Weird
I wonder why 19:09
19:09 cyphase left
p3rln00b m: class Filename is Str {}; sub foo (Filename $x) { dd $x }("foo") 19:09
camelia rakudo-moar bf7945: OUTPUT«Type check failed in binding to $x; expected Filename but got Str ("foo")␤ in sub foo at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
p3rln00b but... Filename is Str :|
Oh. I got it the wrong way around. A Str will take a Filename, but not the other way 19:10
harmil_wk p3rln00b: thanks
Oh, so not so much.... anyway, have other $work to focus on, was just curious since this is a fairly standard usage pattern in Python's argparse, and I've gotten used to it. 19:11
p3rln00b Well, Perl 6 is very maleable. There's probably a way to do your CoerceFrom thing with a user-space module 19:12
m: BEGIN @*ARGS = '--fdsdssoo=42'; sub MAIN (IO(Str) :$foo) { dd $foo }
camelia rakudo-moar bf7945: OUTPUT«Use of uninitialized value of type Str in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in sub MAIN at <tmp> line 1␤Must specify something as a path: did you mean '.' for the current dire…»
p3rln00b intrestring 19:13
m: BEGIN @*ARGS = '--foo=42'; sub MAIN (IO(Str) :$foo) { dd $foo }
camelia rakudo-moar bf7945: OUTPUT«IntStr.new(42, "42").IO(:SPEC(IO::Spec::Unix),:CWD("/home/camelia"))␤»
p3rln00b m: Str.IO
camelia rakudo-moar bf7945: OUTPUT«Use of uninitialized value of type Str in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤ in block <unit> at <tmp> line 1␤Must specify something as a path: did you mean '.' for the current …»
p3rln00b I see
19:14 cyphase joined
lucs How does this syntax work?: some_sub 「arg1」, …, -> Str $i { 「code block」 }; 19:14
p3rln00b lucs: … is a sequence operator and you give it some args and you call some_sub on the generated sequence 19:15
erm, except for that extra comma. But it might be a relic from the past (today it warns I think)
lucs Oh, that … should have been 「…」, it was just a placeholder for other args. 19:16
So maybe instead:
19:16 darutoko left
p3rln00b lucs: heh, so what's the actual code instead of something you invented? You *are* asking to interpret what the syntax means 19:16
lucs How does this syntax work?: some_sub 「arg1」, 「arg2」, 「arg3」 -> Str $i { 「code block」 }; 19:17
p3rln00b -> Str $i {...} is just a code block that takes one Str argument
hmm
With a for loop, that'd feed the args to the block. Not sure what arbitrary sub does
geekosaur by itself it's just another way to write an anonymous sub 19:18
FROGGS m: sub foo { say @_».map(*.^name) }; foo 1, 2, 3, -> { }
camelia rakudo-moar bf7945: OUTPUT«((Int) (Int) (Int) (Block))␤»
lucs Oh, wait, I missed a comma:
p3rln00b FROGGS: but there's no comma
lucs How does this syntax work?: some_sub 「arg1」, 「arg2」, 「arg3」, -> Str $i { 「code block」 };
p3rln00b *sigh*
lucs: like I explained earlier then. You call the sub with 4 args, last one of which is a code block
FROGGS lucs: so you pass a callback to that sub
lucs Ah, I see.
Thanks.
geekosaur m: (-> Str $i { $i.say })("hi") 19:19
camelia rakudo-moar bf7945: OUTPUT«hi␤»
p3rln00b m: sub foo (*@) {}; foo 1, 2, 3 -> Str $i {}
camelia rakudo-moar bf7945: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unexpected block in infix position (missing statement control word before the expression?)␤at <tmp>:1␤------> 3sub foo (*@) {}; foo 1, 2, 37⏏5 -> Str $i {}␤ expecting any of:␤ infix…»
19:19 bioduds_ joined
bioduds_ hi, friends. 19:19
Anyone interested in mining bitcoins using Perl6??? 19:20
19:20 sjoshi joined
arnsholt Note that there's a difference between -> {} and sub {} in how return works 19:21
cygx m: sub coerce(Any:U \Type, \obj) { my $m; $m = obj.can(Type.^name).first(*.cando(\(obj))); return $m(obj) if $m; $m = Type.can("new").first(*.cando(\(Type, obj))); return $m(Type, obj) if $m; obj }; class Foo { method new(Int) { self.bless } }; sub foo($x is copy where { $x = coerce Foo, $x }) { say $x }; foo 42 19:22
camelia rakudo-moar bf7945: OUTPUT«Foo.new␤»
19:22 Guest48505 is now known as parisba
arnsholt m: sub foo($x) { $x(); return 42 }; say foo(-> { return 1 }) 19:23
camelia rakudo-moar bf7945: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
bioduds_ I'm asking because of what Damian Conway raises in prospect of cryptography breaking capabilities with Perl6 on this talk here www.youtube.com/watch?v=Nq2HkAYbG5o
19:23 cyphase left
bioduds_ made me wonder... 19:23
bstamour you would still need a quantum computer to break the crypto in a reasonable amount of time 19:24
maybe we can start porting perl 6 to the d-wave?
p3rln00b bioduds_: you weren't paying attention to that talk. At one point he does say there's no hardware currently in existence for his quantum stuff code to actually do it
(or at least did in person; I attented the "longer version" of that talk; didn't watch the vid :P) 19:25
19:25 sjoshi left
bioduds_ p3rln00b : oh, okeydokey. thanks a lot :) 19:26
what is d-wave?
p3rln00b bioduds_: and aren't bitcoins minded with purpose-made hardware these days anyway? And isn't bitcoin dead 'cause they reached the limit or whatever the hell happened last year there? :)
bioduds_: en.wikipedia.org/wiki/D-Wave_Systems 19:27
moritz bitcoins are mined with ASICs, yes
bioduds_ blockchain is real, I guess even though I don't really know the status of bitcoins in that matter
p3rln00b "128-qubit superconducting adiabatic quantum optimization processor"... oh, that sounds so sexy
moritz there are other coins with algorithms designed to not be easily approachable with specialized hardware
19:27 labster joined 19:28 cyphase joined
moritz p3rln00b: to me, "adiabatic" means "boring" :-) 19:28
bstamour p3rln00b: I don't even know what half those words mean, but I want one :-)
bioduds_ adiabatic is a gaseous transformation if I recall correctly from physics classes
p3rln00b doesn't know what adiabatic is so it sounds exciting :D
bioduds_ that happens very fast 19:29
for instance, spraying out some substance makes the can become cool
due to adiabatic transformation, again, if I correctly recall it 19:30
moritz it just means that no heat exchange happens at the system border
19:30 rgrinberg left
bstamour They forgot to mention "mutilating your privacy" on their Applications page 19:30
19:32 wamba left 19:33 TEttinger joined
bioduds_ p3rln00b : please clarify me on that 'whatever happened', I didn't follow this 19:33
geekosaur there is an upper limit to the number of transactions representable on the blockchain 19:34
although I didn't think they had hit it yet, not that I pay that close attention
19:34 bstamour left
bioduds_ so basically what you're saying is that a blockchain is limited to a number of transactions? 19:35
p3rln00b bioduds_: I don't remember. One of the founders or someone "up there" with the bitcoin wrote a blog post that they reached the limit or something. All I recall is a giant blog post with a ton of charts and everyone on the net saying it's the end of bitcoin
19:36 cyphase left
bioduds_ therefore, making it impractical? 19:36
19:38 pecastro left, bstamour joined
mst no 19:39
bioduds_: if you google 'bitcoin block size problem' you will find out all about it 19:40
bioduds_ doing right now :)
19:43 cyphase joined 19:46 rgrinberg joined 19:47 itaipu joined
bioduds_ seems like mining is dead for mere mortals 19:48
19:48 zzzzzzzzz joined 19:55 pecastro joined 19:59 stevieb9 joined 20:02 PerlFireCAt joined, Derperperd left
samcv nice i'm on freen 20:04
oops sorry wrong room
ugh goddam popups
bioduds_ and looks like the network is "irrecuperably" jammed
thanks for the insight, gentlemen :) 20:05
stmuk_ damm! missed a talk this evening by Sophie Wilson (ARM designer) due to dental issue 20:07
I bet it was good
probably similar to www.youtube.com/watch?v=b5j_Y-ML3dg 20:10
20:17 cygx left 20:21 FROGGS left 20:26 cdg joined 20:35 dataf4l joined, bjz joined 20:39 Lucas_One left 20:45 bstamour left 20:53 canopus left 20:56 skids left 20:57 canopus joined 21:01 cdg_ joined 21:04 Technaton joined 21:05 cdg left 21:06 cdg_ left 21:08 rindolf left 21:12 lostinfog left, firstdayonthejob left 21:13 firstdayonthejob joined 21:15 rindolf joined 21:17 cdg joined
timotimo nothing better than watching a movie over SMB with a network cable that's missing its clip 21:31
when the laptop lies on the floor and the cat keeps walking against the cable
Technaton Just walking against, or playing with it? :) 21:34
21:34 bjz left 21:35 AlexDaniel joined 21:38 girafe joined 21:44 yqt joined, stevieb9 left 21:48 perlawhirl joined
AlexDaniel gfldex: hmmm… what about changing all of your answers to community wiki? (re: SO and its crap) 21:48
perlawhirl hi AlexDaniel 21:49
AlexDaniel not sure if it is possible, but sounds like an interesting idea
perlawhirl: hi
perlawhirl i'm not sure why that happens irclog.perlgeek.de/perl6/2016-10-10#i_13374587
but i suspect... the & forces function calling semantics 21:50
the .elems method parameter is an InterationBuffer... whatever that is ??
and the elems() function just takes a normal value
but i suspect before *.elems ever receives the arguments, it's being pushed though the function calling semantics of &() 21:51
so you end up with something akin to
m: say (<30 50 60>, <3 4 5 6>)».&elems
camelia rakudo-moar 7f16cb: OUTPUT«((1 1 1) (1 1 1 1))␤»
AlexDaniel m: say (<30 50 60>, <3 4 5 6>)».elems 21:52
camelia rakudo-moar 7f16cb: OUTPUT«(3 4)␤»
21:52 cpage_ left
perlawhirl one of the core dev's could probably answer, but i suspect IterationBuffer is some special type that buffers the values until the iteration ends, which allows ».elems to work 21:53
I could be wrong about all this... I'm just guessing
again, tho... ».&(*.elems) is an x/y problem
AlexDaniel well, the biggest question right now is how do we document this 21:54
for example, I created this issue: github.com/perl6/doc/issues/960
but we can also improve this: docs.perl6.org/language/operators#...ix_%C2%BB.
21:59 RabidGravy left
perlawhirl i agree the docs for » are lacking. i think part of that improvemnt is documenting the purpose of constructs like '@args».&()' really do. 22:01
my gut says that '».&()' syntax is geared towards mapping a function (ie, in subroutine context) for _each_ of a list of args
'».method' may behave differently because mainly because those methods behave differently from their function equivalents
take 'join' for instance... the method has a default $separator, the function does not 22:03
m: say <a b c>».join
camelia rakudo-moar 7f16cb: OUTPUT«(a b c)␤»
perlawhirl m: say <a b c>».&join
camelia rakudo-moar 7f16cb: OUTPUT«( )␤»
perlawhirl the point is... not all functions act like there method brethren 22:04
22:08 Juerd_ joined, canopus left 22:09 Juerd_ is now known as Juerd 22:11 perlawhirl left, perlawhirl joined 22:12 itaipu left 22:14 itaipu joined 22:16 perlawhirl left, perlawhirl joined 22:19 cdg left, canopus joined 22:22 perlawhirl left, perlawhirl joined 22:25 canopus left 22:31 dataf4l left 22:32 cpage_ joined
timotimo perlawhirl: the reason why it's different is because *.elems doesn't keep the "is nodal" from its thingie 22:33
22:33 girafe left
timotimo perlawhirl: with join, you're actually passing one letter as the separator in turn. but the list you're joining is empty, so you end up with three empty strings as the result 22:34
22:35 erdic left 22:42 ocbtec left 22:43 erdic joined
perlawhirl timotimo: yes, i figured out the join thing the other day, was just using it to illustrate the difference 22:44
timotimo ah 22:46
22:50 zzzzzzzzz left
perlawhirl timotimo: so what does "is nodal" mean/do? 22:50
timotimo exactly the difference between giving you 1 1 1, 1 1 and 3, 2 22:53
perlawhirl so in context... '< a b c >' is a "node" ?
timotimo yeah 22:55
22:55 pmurias left
geekosaur more or less, "nodal" indicates whether something should descend into structures or not 22:56
22:57 PerlFireCAt left 23:04 pecastro left
perlawhirl can functions do "is nodal", or only methods ? 23:04
23:04 pecastro joined 23:08 firstdayonthejob left 23:13 mephinet left
AlexDaniel m: sub foo is nodal {}; foo 23:15
camelia ( no output )
AlexDaniel huggable: dunno 23:16
huggable AlexDaniel, ¯\_(ツ)_/¯
23:16 itaipu left
perlawhirl AlexDaniel: in your case, my original comment stands. &() is a function, albeit an anonymous one 23:20
by the time that function recieves the arguments, it's not "nodal"
m: sub count { @_.elems }; say (<a b c>, <x y>).&count; say (<a b c>, <x y>)».&count
camelia rakudo-moar 7f16cb: OUTPUT«5␤((1 1 1) (1 1))␤»
perlawhirl ».&(*.elems) is the same as that last example ^^^ 23:21
23:23 Herby__ joined
Herby__ o/ 23:23
timotimo o/ 23:27
23:37 rindolf left 23:38 perlawhirl left 23:42 perlawhirl joined 23:46 skids joined 23:48 BenGoldberg joined 23:56 mephinet joined, perlawhirl left 23:57 perlawhirl joined