»ö« 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.
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
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
timotimo - remove "freenode" server from default config - :\ 01:09
timotimo seems like the server's back 01:12
MasterDuke timotimo: would you know anything about this nqp-j error: "Flattening named argument must have VMHash REPR"? 01:16
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
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
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
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
dataf4l hey guys 05:34
I just have a quick question
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"
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?
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
timotimo yeah, it'll want a guess.pm6 or guess.pm 05:45
whoops, now he's gone
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
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
moritz timotimo: ssh [email@hidden.address] # enjoy! 06:09
DrForr Mornin'. 08:19
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."
RabidGravy THEY'RE TALKING DOWN THE GLOBAL ECONOMY! 10:40
;-)
DrForr In a netsplit, noone can hear you /say. 10:42
samcv hopefully people survived Frexit ;) 11:02
masak what, even Freenode has left the EU? :P 11:06
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 :-)
p3rln00b grondilu: leading? 12:25
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 :}
masak .oO( how to quickly disprove your own language complaint ) :P 12:38
dalek c: d7257a0 | (Zoffix Znet)++ | doc/Type/Baggy.pod6:
Document Baggy.new-from-pairs
12:40
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
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
jnthn *put off 13:06
That's rather harder for roles themselves though
p3rln00b I see.
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.
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
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
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
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
[Coke] ooh, did I kill dalek? oops 13:53
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
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
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
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
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
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
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
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.
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
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
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"
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
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"
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
mst p3rln00b: the only time it's valid not to is if production is already down 15:39
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
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
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
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
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\ )
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
pmurias having tools to take care of indenting code seems more important then the exact details of the way used 16:07
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
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
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.
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.
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␤␤»
p3rln00b ident with by pressing tab that your editor converts to spaces, align with spaces, problem solved. 16:51
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
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
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␤»
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)␤»
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
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
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
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
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␤␤»
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
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
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
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␤»
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
p3rln00b harmil_wk: what does "not work" mean? 18:36
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
timotimo those will already match Int and Str 18:38
well, did you give Str a .Filename method?
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
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
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
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
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>] ␤»
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
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
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:
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…»
bioduds_ hi, friends. 19:19
Anyone interested in mining bitcoins using Perl6??? 19:20
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␤»
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
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
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
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
bstamour They forgot to mention "mutilating your privacy" on their Applications page 19:30
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
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
bioduds_ therefore, making it impractical? 19:36
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 :)
bioduds_ seems like mining is dead for mere mortals 19:48
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
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
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)␤»
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.
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
timotimo perlawhirl: the reason why it's different is because *.elems doesn't keep the "is nodal" from its thingie 22:33
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
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
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
geekosaur more or less, "nodal" indicates whether something should descend into structures or not 22:56
perlawhirl can functions do "is nodal", or only methods ? 23:04
AlexDaniel m: sub foo is nodal {}; foo 23:15
camelia ( no output )
AlexDaniel huggable: dunno 23:16
huggable AlexDaniel, ¯\_(ツ)_/¯
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
Herby__ o/ 23:23
timotimo o/ 23:27