»ö« 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.
AlexDaniel DrForr: don't forget to document s{oo} = ‘öö’ please :) 00:00
RabidGravy toodles people 00:03
timotimo toodles 00:07
hoelzro ok, changing CUR::Locally to a class fixes the JVM issue as well 00:20
so it *is* role bodies, or something about role parameterization 00:21
ingy tinita and I just started github.com/ingydotnet/yamlish-pm/tree/master 00:33
porting Perl 6 to Perl 5 :D
using leont++'s yamlish.pm6
ingy porting p6 rules to pegex is mostly just removing crufty syntax! 00:34
ingy ducks
Hotkeys Pegex? 00:37
dalek c: 756833a | (Daniel Perrett)++ | doc/Language/operators.pod:
Index operators
00:47
c: c5feb80 | (Brock Wilcox)++ | doc/Language/operators.pod:
Merge pull request #373 from pdl/pr-index-operators

Index operators
Herby_ Evening, everyone! 01:03
o/
Herby_ Wow. I'm that bad? 01:05
Herby_ Question: How would I download an image from a URL, with Perl 6? 01:05
AlexDaniel huggable: curl 01:06
huggable AlexDaniel, nothing found 01:06
AlexDaniel huggable: wget 01:06
huggable AlexDaniel, nothing found
AlexDaniel Herby_: try HTTP::UserAgent
AlexDaniel Herby_: I'm not sure how well it is going to work with binary stuff though 01:07
Herby_ AlexDaniel : I'll give it a whirl and let you know how it works. Thanks!
AlexDaniel Herby_: HTTP::UserAgent.new(:useragent<firefox_linux>); $c.get(‘somelink.org/test.png’); # that's a good start 01:09
whoops
Herby_: my $c = HTTP::UserAgent.new(:useragent<firefox_linux>); $c.get(‘somelink.org/test.png’); # that's a good start
Herby_ Thanks for the head start, let me give it a try 01:10
flussence prefers HTTP::Tiny, mostly because if it breaks it's more likely to get fixed
Herby_ is HTTP::Tiny more active? 01:11
in regards to improvements/fixes etc?
AlexDaniel 434 commits vs 19. I'd say no ( if HTTP::Tinyish is what you've meant ) 01:12
ingy Hotkeys: Pegex is p6rules... for the rest of us 01:12
AlexDaniel it also has no tests
flussence: or did you mean P5 HTTP::Tiny? 01:13
flussence oh my bad, Net::HTTP is the right name
AlexDaniel okay
flussence: what do you mean by “it's more likely to get fixed”? 01:15
by the way, I'm pissed off by HTTP::Tinyish tests: github.com/shoichikaji/perl6-HTTP-...01-basic.t 01:16
Herby_ AlexDaniel, there is something is doesn't like about .png files 01:19
getting some errors centered around <Problem decoding content>
flussence AlexDaniel: by that I mean, the author's easier to get a hold of here (and they're usually one of the first to complain if upstream code breaks everything :) 01:20
AlexDaniel .seen sergot
yoleaux I saw sergot 12 Jan 2016 14:22Z in #perl6: <sergot> moritz++
Herby_ .seen ugexe 01:21
yoleaux I saw ugexe 29 Jan 2016 19:54Z in #perl6: <ugexe> does p6doc still need a 'p6doc.bat'? CU::R::I should handle that now 01:21
Herby_ That's a neat little feature
AlexDaniel Herby_: see these tests: github.com/sergot/http-useragent/b...-content.t 01:22
AlexDaniel Herby_: hm, it does not look like these tests actually pass 01:23
skids Looks like some of them require a live connection, too. 01:24
yoleaux 29 Jan 2016 22:20Z <ZoffixWin> skids: koalatee is this: github.com/perl6/modules.perl6.org...tee.pm#L21 it was never really finished, 'cause we decided to have MetaCPAN-like thing for modules instead of the current thing
Herby_ that would do it. I made my example resemble the test, and it still fails with "problem decoding content"
AlexDaniel Herby_: yup, eh. Perhaps create an issue and move on to another alternative :) 01:26
Herby_ i'm even worse at github then I am at perl 6
but i'll see if i can find a way :)
AlexDaniel github.com/sergot/http-useragent/issues/new
here
Herby_ Hmm. Net::HTTP::GET is running without an error, but I don't see it saving the actual file anywhere... 01:31
maybe I need to spurt the response to a file? 01:32
ugexe say Net::HTTP::GET($url, :%header).content (or .body for the raw buf) 01:33
timotimo sounds likely
Herby_ "Don't know how to decode this content..." 01:34
timotimo probably just need to .decode("the-right-coding") 01:35
ugexe .body.decode(whatever) then yeah
Herby_ speak of the devil, and he appears :) 01:36
for testing purpose, trying to use Net::HTTP::GET on this 'imgs.xkcd.com//comics//woodpecker.png'
timotimo oh
Herby_ from what I can gather, he allows the getting of images, has an api etc
timotimo that's not something you'd want to decode
Herby_ yeah, kind of stumped
timotimo it's a binary file that you'll just want to output directly into a file
so you'll want the .body rather than the .content 01:37
skids if it's a png probably $some-io.write(.body)
Herby_ k, spurting is no good for this?
skids Not sure. Never looked into that.
timotimo hm, does spurting have a :raw or something? 01:38
Herby_ yall are some miracle workers :) 01:39
got it working
spurt "test.png", $response.body, :bin
timotimo apparently spurt only wants :enc 01:39
Herby_ actually, I didn't even need :bin. looks like it wanted the .body like you said 01:40
progress!
timotimo in the test file called "spurt", only slurp with :bin is tested 01:42
oh
it seems like you just spurt with a Buf
spurt does in fact take a :bin 01:45
doc.perl6.org/routine/spurt - it'd be nice if someone could add that to the docs here 01:46
AlexDaniel how can I get all Enum values?
timotimo YourEnum.keys
well, actually
YourEnum.values, since you want the values
actually, perhaps YourEnum::.values
AlexDaniel m: enum Animal <Cat Dog Monkey>; .say for Animal.keys 01:47
camelia ( no output )
AlexDaniel m: enum Animal <Cat Dog Monkey>; .say for Animal.values
camelia ( no output )
AlexDaniel what am I doing wrong?
timotimo m: enum Animal <Cat Dog Monkey>; .say for Animal::.values 01:48
camelia rakudo-moar 780192: OUTPUT«Dog␤Cat␤Monkey␤»
AlexDaniel ah, ::
right, makes sense
m: enum Animal <Cat Dog Monkey>; .say for Animal::.keys 01:49
camelia rakudo-moar 780192: OUTPUT«Dog␤Cat␤Monkey␤»
AlexDaniel m: enum Animal <Cat Dog Monkey>; say Animal::.keys.perl
camelia rakudo-moar 780192: OUTPUT«("Dog", "Cat", "Monkey").Seq␤»
AlexDaniel m: enum Animal <Cat Dog Monkey>; say Animal::.values.perl
camelia rakudo-moar 780192: OUTPUT«(Animal::Dog, Animal::Cat, Animal::Monkey).Seq␤»
AlexDaniel ok
skids m: enum Animal <Cat Dog Monkey>; Animal::{ }.perl.say; Animal.perl.say; 01:56
camelia rakudo-moar 780192: OUTPUT«{:Cat(Animal::Cat), :Dog(Animal::Dog), :Monkey(Animal::Monkey)}␤Animal␤»
zostay m: my %x = z => 'a', y => [1, 2, 3]; class { has Str $.z; has Int @.y; }.new(|%x); 04:09
camelia rakudo-moar 780192: OUTPUT«Type check failed in assignment to @!y; expected Int but got Array␤ in block <unit> at /tmp/HQ0XMWd2nx line 1␤␤»
zostay is there a way to pass in a :@foo param using a variable like |whatever? 04:10
m: my $x = \(z => 'a', y => [1,2,3]); class { has Str $.z; has Int @.y; }.new(|$x); 04:16
camelia ( no output )
zostay captures > hashes
Herby_ m: "foobarrklubsuggdug".comb(10)>>.say 04:22
camelia rakudo-moar 780192: OUTPUT«foobarrklu␤bsuggdug␤»
Herby_ if I want to dip my toes into databases, is DBIsh my best choice? 04:28
was thinking about creating a small sqlite db
hankache o/ #perl6 05:07
Herby_ \o 05:09
\o/ 05:10
AlexDaniel what “batch” and “degree” actually mean in 「hyper」? 05:13
let's say I want 4 parallel workers. So I set degree to 4 and I only get 1 worker 05:14
so I set both to 4
ah, right, now I get 4 05:15
nevermind
hankache degree = workers
hankache batch = how many values 05:16
AlexDaniel hankache: how many values what?
hankache AlexDaniel process X values together 05:17
Herby_ m: say <a b c d e f>.rotor(3) 05:18
camelia rakudo-moar 780192: OUTPUT«((a b c) (d e f))␤»
Herby_ m: say <a b c d e f g h>.rotor(3, :partial)
camelia rakudo-moar 780192: OUTPUT«((a b c) (d e f) (g h))␤»
AlexDaniel like, queue X values?
this is also not documented, by the way 05:19
hankache .race(batch => 10) 05:20
processing the pipeline on batches of 10 items at a time.
AlexDaniel www.jnthn.net/papers/2015-spw-concurrency.pdf 05:21
AlexDaniel I've seen that, it didn't really help. Perhaps I'm stupid
skids You use batch because sometimes it is not efficient to start a thread for each value. 05:22
hankache i wish there was accurate doc on it
AlexDaniel skids: “start a thread for each value”? Didn't I already specify with “degree” that I have 4 parallel workers (possibly threads) 05:23
AlexDaniel or are these not reused? 05:23
skids OK, sorry -- have threads pull values one by one. 05:24
e.g. for memory/cache locality.
And as far as whether they workers get reused it may be up to the implementation.
AlexDaniel ok so the worker will fetch X (batch) values when it starts. Then, once it is finished with those, it will fetch another X (batch) values? 05:26
skids Yes (or another worker that fetches X will replace it, who knows). So if you have 4 threads all popping off a list, they have to syncronize memory accesses at each pop. If they each pop 10 at a time, there are less syncronization points. 05:27
AlexDaniel okay
thanks 05:28
“work in batches of 64 values at a time” this does not really describe it though. Or am I the only one having a hard time to read that sentence in a right way? 05:30
skids It might be clearer to say that "each worker works on a batch of 64 values at a time" 05:32
(Assuming that is actually what is meant.) 05:34
AlexDaniel I'm not the language guy but “each worker fetches a batch of 64 values at a time” would have made it crystal clear to me
skids Yeah it could be interpreted as batch => 64 degree=> 4 meaning 4 workers each with 16 values. 05:36
AlexDaniel not only that but it also escapes me how a worker can work on a batch of 64 values (given our specific context) when it is supposed to work on only one. But again, I'm not a native speaker so I'm probably reading it incorrectly 05:39
ugexe maybe its like rotor and runs the worker over the sub list 05:42
skids "batch" has connotations that usually prevent it from being interpreted as "in-parallel"
skids (and actually in computing, too, e.g. batch files and database batch jobs) 05:43
skids Though I guess the culinary form of the term does imply parallelism 05:48
skids chalks it up to the same semantic drift that brought us "native" meaning code not in the native language being spoken. 05:51
azawawi hi 07:27
masak morning, #perl6 08:38
dalek c: d81cbd2 | moritz++ | doc/Type/List.pod:
Link to Zoffix's blog post on .rotor
08:42
nine .tell llfourn thanks for working on the require/import stuff :) 08:51
yoleaux nine: I'll pass your message to llfourn.
dalek kudo/nom: f658d4c | donaldh++ | src/core/CompUnit/Repository/Locally.pm:
Resolve / work around "Missing serialize function for REPR ContextRef" on JVM.
08:54
kudo/nom: ccd2bcc | niner++ | src/core/CompUnit/Repository/Locally.pm:
Merge pull request #697 from donaldh/precomp

Resolve "Missing serialize function for REPR ContextRef on JVM
dalek kudo/query_repos: 1dd815a | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm:
Fixes for installing from outside a dists directory

Use the stable names instead of local file paths when generating file ids. This way those ids no longer depend on the current working directory. Previously we used the path like "./lib/Foo.pm6" for generating the id and would end up with a different id if installing the file by using e.g. "modules/Foo/lib/Foo.pm6".
Only affects newly installed dists.
09:07
azawawi pasteboard.co/1aYApl0P.png # is the output image of github.com/azawawi/perl6-magickwan...ffects.pl6 :) 09:12
RabidGravy kewl 09:31
looking good there matey 09:32
hankache anyone knows how to use the command line option parser? 09:32
moritz hankache: declare a sub MAIN with a signature that corresponds to to things you want 09:33
m: sub MAIN($input, Bool :$verbose) { }
camelia rakudo-moar ccd2bc: OUTPUT«Usage:␤ /tmp/YcKOJX_fuk [--verbose] <input> ␤»
hankache thanks moritz 09:34
[Tux] ===SORRY!=== Error while compiling /pro/3gl/CPAN/Text-CSV6/.panda-work/1454146926_2/lib/Inline/Perl5.pm6 09:42
An exception occurred while evaluating a BEGIN
at /pro/3gl/CPAN/Text-CSV6/.panda-work/1454146926_2/lib/Inline/Perl5.pm6:60
Exception details:
Cannot support 128 bit NVs yet.
in code at /pro/3gl/CPAN/Text-CSV6/.panda-work/1454146926_2/lib/Inline/Perl5.pm6 line 60
nine Wait...what?! 09:43
[Tux] rm -rf moar-nom;rakudowbrew build moar;rakudobrew build-panda;panda install Inline::Perl5 09:44
azawawi hankache: doc.perl6.org/language/functions#sub_MAIN 09:44
[Tux] gist.github.com/Tux/c5badf213eb68e803785 09:45
nine [Tux]: your Perl 5 seems to be claiming to use 128 bit floating point values 09:45
azawawi [Tux]: shouldnt `rakudobrew nuke moar` fix the problem?
[Tux] nine: it does, I build with -Duselongdouble 09:46
hankache thanks azawawi
azawawi hankache: np 09:47
[Tux] nine, does that explain enough or do you need more feedback? 09:49
nine [Tux]: yep, that's exactly why put this check in. Adding support for your perl would involve changes to MoarVM, NativeCall and then Inline::Perl5. 10:03
[Tux]: I'm actually a bit surprised. I thought longdouble would mean 80 bit, not the full 128. 10:04
Oh, but that's probably 128 bit storage size of which 80 bits are actually used
Still the same issue though as NativeCall currently only supports 32 and 64 bit floats 10:05
azawawi can semicolons be used instead of commas inside an `enum SomeType ( a => 1, b => 2 )` ? 10:14
moritz azawawi: try it and see? 10:24
and: why would you even want that?
azawawi moritz: because i just encountered a situation where putting a ; by mistake causes an enum is export { ... } to not be exported and complain only about undefined variable. :) 10:26
moritz: that's why i asked. i wanted to know if the behavior was right or wrong
hankache what was the syntax of use lib? 10:34
RabidGravy use lib 'lib' 10:35
azawawi RabidGravy: slow day :)
RabidGravy I'm struggling with motivation this morning 10:36
azawawi im converting www.imagemagick.org/script/examples.php to github.com/azawawi/perl6-magickwan...ffects.pl6 :) 10:38
all this work so far and only 1 github star :)
hankache thanks RabidGravy 10:41
RabidGravy azawawi, it's weird like that, I've got things that aren't even finished that have stars and things that are genuinely useful that have none 10:47
RabidGravy contemplates implementing .at() in Chronic 10:48
azawawi RabidGravy: ce la vie 10:50
RabidGravy ceci ce n'est pas une etoile
azawawi :) 10:53
hankache oh la la 10:54
azawawi RabidGravy: it is the target audience. If this was the python scientific community, OpenCV and ImageMagick are top priority
RabidGravy: that's why im going to talk with #PDL (Chris Marshal, Zaki Muggal, ...) 10:55
hankache say you have a variable $classname can you build an object like that: my $obj = module::$classname ? 10:56
RabidGravy ::("module::$classname").new 10:57
the ::($str) is runtime symbol lookup 10:58
hankache thanks mate 11:00
RabidGravy e.g.
RabidGravy m: my $d = 'DateTime'; say ::($d).now 11:01
camelia rakudo-moar ccd2bc: OUTPUT«2016-01-30T12:01:03.445102+01:00␤»
pmurias azawawi: opencv is something that I'm interested in using 11:04
azawawi pmurias: for?
pmurias processing scanned receipts 11:05
azawawi: I'm currently just directly using C++ but playing around in Perl 6 would be more fun 11:06
OTOH the actuall stuff that needs to use opencv is fairly limited so even writing it in C++ and then passing the OCR'ed text to a Perl 6 is fine 11:08
azawawi pmurias: great. If you can provide me with what modules are you currently interested then
pmurias: i can put them on my todo list 11:09
pmurias so far I have been using MSER/drawing points and stuff for debugging and doing things like converting to gray scale/cropping and saving parts of the image 11:12
azawawi pasteboard.co/1b6oQ17I.png # Image compose-ing is here... watch camelia on the far right of the image
well magickwand can do the cropping/grayscaling far faster and easier than opencv btw 11:13
and soon the drawing part
if it is image processing => imagemagick
if it is object detection => opencv
azawawi wishes github.com/timo/iperl6kernel would actually work 11:15
stuff like metacpan.org/pod/distribution/Deve...y_demo.pod is pretty useful to perl6 / opencv / magickwand 11:16
RabidGravy right off out to the seaside for a bit, hardly been out of the house all week
azawawi it is cold outside :) 11:19
RabidGravy: enjoy your time :)
timotimo azawawi: did you actually try it yet? 11:20
azawawi pmurias: what opencv version are you using btw?
timotimo: :)
timotimo i thought it could work a little bit
azawawi timotimo: it is not on the modules list btw 11:21
timotimo: modules.perl6.org/update.log
timotimo no surprise ... 11:22
pmurias azawawi: 3.1.0 11:23
azawawi timotimo: how do you run it?
timotimo haven't tried yet |:
timotimo maybe that's why arnsholt stopped working on it 11:23
azawawi pmurias: im wrapping 2.4.x atm 11:24
pmurias I don't think the api changed much 11:25
azawawi pmurias: let me check
pmurias I'm using 3.1.0 because I wanted to use some contrib modules that didn't work anyway
azawawi contrib seems to never work 11:29
i tried them also 11:30
contrib is a way for letting stuff die slowly :)
azawawi pmurias: this is the one you're using right? docs.opencv.org/2.4.11/modules/feat...=mser#MSER : public FeatureDetector 11:31
pmurias azawawi: yes 11:32
azawawi pmurias: cool... thanks 11:33
off to lunch ... fish & chips :)
Fiora_ Is Perl6 a regular language? 11:46
timotimo what use is a regular language for programming? :\ 11:47
timotimo if i couldn't nest parenthesis, i'd be pretty sad 11:47
pmurias timotimo: just imagine how fast the syntax highlighting would be!;) 11:49
vendethiel o/, #perl6
timotimo oh, yeah, it'd be ridiculously fast 11:50
pmurias vendethiel: \o
timotimo and it'd hardly take any memory
Fiora_ I'm trying to understand how regex is being used to parse Perl6. If Perl6 is not a regular language then how could that be possible? 11:51
timotimo well, "regex" hasn't meant "regular expression" in a very, very long while now 11:51
'perl6 "regexes"' are used to parse perl6
they allow for things like recursion, captures, and backreferences. that's the very least you'd want to have for a programming language, i think 11:52
Fiora_ can Perl6 regexes be used to parse HTML? 11:53
timotimo yeah
Fiora_ hmm, so is there a difference between Perl6 regexs and Perl5?
timotimo yeah, a bunch of changes
vendethiel timotimo: are you implying brainfuck isn't the perfect language?
timotimo for one, the syntax has been re-organized 11:54
vendethiel: yes
vendethiel Fiora_: tons of changes :P
timotimo: you make me sad :P
timotimo and perl6 regexes are much easier to compose from smaller pieces
and they are also extensible after their first declaration
you can derive new "grammars" from existing grammars
very much like a class can derive from another 11:55
pmurias vendethiel: it's not a regular language and as such can't be perfect
timotimo pmurias: well, is [+++]]]]] a valid program? 11:56
it'd give a run-time error, but does that mean it's not a valid brainfuck program?
vendethiel timotimo: my brainfuck interpreter just ignores that :>
Fiora_ so the accepted answer to this question is wrong? stackoverflow.com/questions/1732348...ained-tags 11:57
pmurias timotimo: aren't the square brackets required to match? (according to wikipedia)
timotimo Fiora_: perl6 regexes are actually quite usable to parse things like HTML and XML. perl5 regexes *can* do that, but it's super fiddly. i wouldn't know how to use perl5 regexes to parse HTML, actually 11:58
timotimo Fiora_: github.com/afiskon/p6-xml-parser-t...rammar.pm6 - have a look at this xml parser from the XML::Parser::Tiny module 12:00
vendethiel Fiora_: not wrong, they just only account for PCRE 12:01
timotimo vendethiel: but PCRE can recursively match
vendethiel timotimo: sssh, don't tell 'em
timotimo it's definitely a footgun, though
vendethiel to be fair, named groups in PCRE are really complex to get right, and totally inconsistent between languages 12:02
pmurias vendethiel: re wrong, there is a huge difference between what "regular expressions" as used in computer science and what actuall computer languages have as "regexes" 12:06
pmurias meant Fiora_: 12:06
vendethiel (definitely agreed) 12:07
uruwi hello 12:07
Does anyone know the difference between join and catpath for IO::Spec? 12:08
flussence join stringifies it
uruwi What about catpath?
I also find it unusual that they take 3 arguments, too.
oh, catpath returns a list? 12:09
Skarsnik hello 12:10
timotimo uruwi: it could very well be that IO::Spec got join from Any or something? 12:14
uruwi help, I can't find SeekType.
timotimo m: say IO::Spec.^can("join").candidates>>.perl 12:15
camelia rakudo-moar ccd2bc: OUTPUT«Method 'candidates' not found for invocant of class 'List'␤ in block <unit> at /tmp/VovEcP9OjX line 1␤␤»
timotimo m: say IO::Spec.^can("join")>>.candidates>>.perl
camelia rakudo-moar ccd2bc: OUTPUT«((Method+{<anon|52648288>}.new))␤»
timotimo m: say IO::Spec.^can("join")[0].candidates>>.signature>>.perl
camelia rakudo-moar ccd2bc: OUTPUT«(:($: $separator = { ... }, *%_))␤»
timotimo no invocant, eh? :\
flussence well it probably doesn't print it because it's a method on Any... 12:16
uruwi The documentation for the seek method for IO::Handle mentions a SeekType, but I don't see it anywhere else.
flussence m: say SeekType 12:17
camelia rakudo-moar ccd2bc: OUTPUT«(SeekType)␤»
flussence m: say SeekType.enums
camelia rakudo-moar ccd2bc: OUTPUT«SeekFromBeginning => 0, SeekFromCurrent => 1, SeekFromEnd => 2␤»
uruwi m: constant SeekFromBeginning = 0; 12:18
camelia ( no output )
Skarsnik huggable, SeekType
huggable Skarsnik, nothing found
uruwi Yeah, I have 2015.09 on Windows.
timotimo that's even before christmas 12:21
sadly we don't have a rakudo star .msi yet 12:22
for 2016.01 i mean
timotimo actually, the release isn't out yet it seems 12:25
uruwi How to write to a file that might not exist? 12:26
timotimo as long as you have a "write" mode set, it'll create it if needed 12:27
so, supply :w to open 12:28
uruwi Doesn't work; must be the old version. 12:29
Or is it because I'm trying to create a file in a nonexistent directory?
dalek kudo/nom: 218ce06 | (Salvador Ortiz)++ | src/core/Setty.pm:
Fix for RT#127402: Set.hash stringifies its objects
12:30
kudo/nom: 4f0c502 | timo++ | src/core/Setty.pm:
Merge pull request #698 from salortiz/setty_hash

Fix for RT#127402: Set.hash stringifies its objects
uruwi Oh. 12:31
timotimo yeah, we don't create folders for you 12:32
but what we should do is give a better error message
nine Still the same issue though as NativeCall currently only supports 32 and 64 bit floats 12:46
stmuk: gist.github.com/niner/06792102587a79940294 12:47
azawawi how do i iterate on the keys on a enum?
azawawi s/on a/of a/ 12:48
azawawi m: enum Foo <a b c>; for Foo.enums.keys -> $key { zz($key); }; sub zz(Foo $foo) { } 12:54
camelia rakudo-moar 4f0c50: OUTPUT«Type check failed in binding $foo; expected Foo but got Str␤ in sub zz at /tmp/UO5YJRkel3 line 1␤ in block <unit> at /tmp/UO5YJRkel3 line 1␤␤»
stmuk nine: ty 13:03
timotimo you want MyEnum::.keys 13:04
but actually you want .values, if you expect to get a Foo object 13:05
the .key is just a string
azawawi m: enum Foo <a b c>; for Foo.enums.keys -> $key { say $key ~ " => " ~ zz(Foo($key)); }; sub zz(Foo $foo) { return $foo.Int } 13:06
camelia rakudo-moar 4f0c50: OUTPUT«Use of uninitialized value of type Foo in numeric context in sub zz at /tmp/9dyfzNuDMn line 1␤a => 0␤Use of uninitialized value of type Foo in numeric context in sub zz at /tmp/9dyfzNuDMn line 1␤c => 0␤Use of uninitialized value of type Foo in nu…»
timotimo m: enum Foo <a b c>; .perl.say for Foo.enums
camelia rakudo-moar 4f0c50: OUTPUT«:a(0)␤:c(2)␤:b(1)␤»
timotimo m: enum Foo <a b c>; .perl.say for Foo::.values
camelia rakudo-moar 4f0c50: OUTPUT«Foo::a␤Foo::c␤Foo::b␤»
timotimo m: enum Foo <a b c>; .perl.say for Foo::.keys
camelia rakudo-moar 4f0c50: OUTPUT«"a"␤"c"␤"b"␤»
timotimo ^-
azawawi timotimo: cool but still didnt fix the above code :) 13:10
timotimo yeah, for that you want Foo::($key) instead of Foo($key) 13:10
azawawi timotimo: the problem is that it becomes Str and i need Foo
timotimo you can only Foo(1)
azawawi m: enum Foo <a b c>; zz(Foo::($_.key)) for Foo.enums; sub zz(Foo $foo) { return $foo.Int } 13:11
camelia rakudo-moar 4f0c50: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HhCbpQD_pQ␤Combination of indirect name lookup and call not supported␤at /tmp/HhCbpQD_pQ:1␤------> 3enum Foo <a b c>; zz(Foo::($_.key)7⏏5) for Foo.enums; sub zz(Foo $foo) { retu␤ expecting any …»
timotimo oh, what.
azawawi reads design.perl6.org/S12.html#The_Enumeration_Type
[Tux] test 22.341 13:12
test-t 12.189
csv-parser 0.223
azawawi timotimo: so it is not supported? 13:17
timotimo that looks like a bug 13:18
m: enum Foo <a b c>; zz(Foo::{$_.key}) for Foo.enums; sub zz(Foo $foo) { return $foo.Int } 13:21
camelia ( no output )
timotimo m: enum Foo <a b c>; zz(Foo::{$_.key}).say for Foo.enums; sub zz(Foo $foo) { return $foo.Int }
camelia rakudo-moar 4f0c50: OUTPUT«0␤2␤1␤»
timotimo no, not a bug, just the wrong synatx
Begi Hello ! I'm using a simple code with Perl 6 and Bailador : pastebin.com/eSPfTUMy How can I check $post_id is an Int ? 13:23
Skarsnik The shitty answer is a regex or trying .Int and see if that fail 13:24
timotimo tbh, i don't know if bailador will ever give you an Int object if the argument happens to be an Int
Skarsnik There should be a real a isNumber function/method somewhere x) 13:25
timotimo i think .Int + a check is totally acceptable 13:26
Skarsnik sub (Int $post_id) does not work?
not really
you need to use a mechanism for execptionnal case
timotimo that'd only work if bailador uses var or coerces for you
m: say ("1234".Int orelse "lol")
camelia rakudo-moar 4f0c50: OUTPUT«1234␤»
timotimo m: say ("abcde".Int orelse "lol")
camelia rakudo-moar 4f0c50: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5abcde' (indicated by ⏏)␤ in block <unit> at /tmp/ynKzDsKo3L line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/ynKzDsKo3L line 1␤␤»
timotimo mhm
m: say (try "abcde".Int orelse "lol")
camelia rakudo-moar 4f0c50: OUTPUT«Nil␤»
Skarsnik You need try
so yes it's bad
IMO 13:27
timotimo m: say try "abcde".Int // "lol"
camelia rakudo-moar 4f0c50: OUTPUT«Nil␤»
timotimo m: say (try "abcde".Int) // "lol"
camelia rakudo-moar 4f0c50: OUTPUT«lol␤»
Begi sub (Int $post_id) does not work? -> no, it doesn't
timotimo it's only bad because the precedence isn't the best
Begi: i suggest using Int() as the type
that'll try to coerce to Int for you
though i don't know what bailador will do if the coercion fails
Skarsnik It semanticly wrong for me. you use a mechanism for execption 13:28
not for 'normal' use
timotimo i'm willing to say you're just wrong :)
azawawi pasteboard.co/1bfuzcw5.png # all image composite operator that magickwand supports :) 13:30
timotimo++ 13:31
timotimo neat
timotimo did you know you can also MyEnum::.pairs and MyEnum::.kv? 13:31
that's potentially better than what your code does with .enums
azawawi github.com/azawawi/perl6-magickwan...s.pl6#L122 13:33
timotimo if you had used ::.something, you wouldn't need to CompositeOperator::{blah} 13:33
azawawi if i used a hash i wouldnt worry about all this :) 13:34
timotimo yeah, but still. why don't you just use ::.pairs or ::.kv? 13:35
azawawi i will try it
Begi Ok, I'm using this code, it works : pastebin.com/daVQYQs4 But it's maybe not the best way ? 13:37
azawawi m: enum Foo <a b c>; zz(::($_.key)).say for Foo.enums; sub zz(Foo $foo) { return $foo.Int } 13:38
camelia rakudo-moar 4f0c50: OUTPUT«0␤2␤1␤»
timotimo it's all right 13:40
dalek kudo/nom: 2e17820 | lizmat++ | src/core/Setty.pm:
Revert "Fix for RT#127402: Set.hash stringifies its objects"

This reverts commit 218ce063e943be669b08a7fa8dfa5659e91be223.
Since we don't know how we're going to handle bugfixes in 6.c just yet, the merging of this patch is a bit premature, I think. Furthermore we do have syntactic suger for creating a typed hash: my %e{Any}
13:51
Juerd Where do discussions about handling versioning and bugfixes take place, by the way? A mailing list? A hackathon? 13:52
I have no input but I'd love to lurk
azawawi pasteboard.co/1bgQcJXj.png # composite with annotated text for their names
timotimo ugh, thanks for catching that, lizmat 13:53
but i thought as long as the tests don't need changing and still pass, everything's fair game? :P
dalek osystem: af57645 | yowcow++ | META.list:
add meta
14:01
osystem: 7de5fda | sylvarant++ | META.list:
Merge pull request #141 from yowcow/add-webservice-sop

add WebService::SOP
nine Juerd: #perl6-release 14:03
Juerd Thanks. I joined :) 14:04
MadcapJake anyone interested in joining a perl6 slack team? message me your email 14:05
nine timotimo: we still don't really know where exactly to draw the line. jnthn++ is working on a document that's probably gonna be the base for the discussion
What is a perl6 slack team? 14:06
timotimo OK, sounds good
slack is some new irc alternative
Juerd MadcapJake: I think having that is a bad idea.
MadcapJake Juerd: I'm thinking it might draw some of the younger crowd in (apparently people think irc is too difficult and ugly)
Juerd Slack, being an invite-only and closed, proprietary thing, doesn't match the culture of Perl 6 imho.
nine Why would one want an alternative for IRC?
MadcapJake Juerd: I agree, I'm not really a fan of IRC, but I see it as a possible recruitment platform xD 14:07
Juerd MadcapJake: I think the solution might be writing a prettier web frontend
But I've seen how slack can split a community in two
Very few people will be on IRC *and* slack
MadcapJake slack is popular because no one's written a nice irc frontend, plus slack has channels, subteams, tons of integrations
moritz m: sub MAIN($input, Bool :$verbose) { }e like
camelia rakudo-moar 4f0c50: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zMW0w7PbVE␤Strange text after block (missing semicolon or comma?)␤at /tmp/zMW0w7PbVE:1␤------> 3sub MAIN($input, Bool :$verbose) { }7⏏5e like␤ expecting any of:␤ infix␤ infix …»
moritz huh 14:08
what did I write? :-)
timotimo nine: netsplits, for example
moritz nine: slack has integrated image sharing and the like, and server-side history
and nicer mobile clients, maybe
Juerd MadcapJake: I've also seen the very discussion about slack vs IRC derail into drama, and I won't go there again.
MadcapJake Juerd: I really do feel ya, I think it's about being open to anyone's preferred communication platform, rather than just requiring others to join what's already there
moritz I'd be fine with there being a Perl 6 slack or hipchat or whatever 14:09
MadcapJake I'm strongly in the pro-IRC camp, but as a way to promote the language, I think it's great.
moritz just like I'm fine with there being a Perl 6 facebook group, of which I'm no part of
timotimo what's hipchat?
MadcapJake atlassian's slack 14:10
timotimo oh
is that like campfire?
if we have a perl6 slack, someone ought to write a slack client library for perl6, too
nine timotimo: avoiding netsplit by relying on a single point of failure that is the proprietary vendor's server farm is kind of self defeating
timotimo is there an evalbot on that slack yet?
MadcapJake timotimo: totally! There's an irc bridge too! 14:11
timotimo nine: no, the thing is: servers running IRC are usually by Free Software Doods, who know nothing about stability and such. they are all amateurs!
slack, on the other hand, that's run by Professional Startup Hipsters out of Starbucks coffe shops
MadcapJake lol
timotimo everybody knows starbucks never crashes 14:12
moritz don't those big racks make starbucks a bit ugly?
not to mention the fan noise
timotimo no, that belongs to the Starbucks Hipster Startup Flair
BinGOs clouds don't make noise
MadcapJake The thing is, maybe it's not great, maybe it's bad in a free software way, in a user-power way, but that's not the reason to have a slack, it's because all the young hip crowd are doing it and don't we want to connect with them? I'm thinking in terms of adoption not in terms of principles :P 14:12
timotimo yeah, we do want to connect with them 14:13
moritz would we buy facebook ads for Perl 6 if we had cash to burn? 14:14
MadcapJake I'm in a slack for clojure, dart, atom, polymer that are all quite active
timotimo ads are annoying. i consider ads to be the opposite of helpful
MadcapJake Slacks are so popular that some you have to pay to get access to! that's just absurd to me but still, it's quite the phenomenon
timotimo that's absurd to me, too 14:15
nine MadcapJake: sounds like slack is popular with the hipster crowd ;)
timotimo but i suppose there's a use case for that
MadcapJake nine: exactly right :)
BinGOs my beef with 'slack' is they stole my favourite shorthand word for Slackware
MadcapJake BinGOs: xD
BinGOs a pox on them
timotimo just call slackware "slake" in the future
Skarsnik Slack is annoying x) 14:16
MadcapJake is slackware still even active?
BinGOs yes. there are updates and eveything.
MadcapJake hmm, website's last update is 2013
BinGOs but the packages are being updated etc. 14:17
MadcapJake ah i see
Skarsnik I am a debian stable hipster
BinGOs and there was an upsurge of interest I gather from the fact it doesn't use systemd
Skarsnik systemd kill my old dedicated server installation x) 14:18
MadcapJake BinGOs: haha nice, i still don't quite understand all the hate on systemd
timotimo how can i reach this perl6 slack thing?
BinGOs I am ambivalent about it. 14:19
MadcapJake timotimo: message me your email, i need to setup an invite site (still need to research what i need to do for this, might be a good opportunity to use perl6!)
timotimo there's a weechat plugin for slack 14:21
MadcapJake sweet!
nine systemd advanced Linux server administration more than the development of the three decades before it
timotimo nine: just now there's a bug about systemd not mounting the efivarsfs read-only by default, so that you can brick your motherboard by rm -rf /* ... some peanut gallery of "twitter infosec community" people are making quite a ruckus about it 14:22
so obviously systemd is actually terrible!!
nine of course 14:23
Skarsnik systemd kind of prevent me to update to the last debian stable on my old dedicated server. Since it needed something on a the kernel that was 3 years old
nine a 3 years old kernel?
Skarsnik I did not phrase that correctly, it needed something on a newer version of the 3 years old versio that was already here 14:24
moritz Skarsnik: I don't know how smooth the experience is, but I've read you can use Debian without systemd 14:25
Skarsnik It's not that bad. it make me change the server from a 1.2Ghz celeron to a 2.2Ghz I7 with 16gb ram for the same renting price x) 14:26
tony-o_ baller
BinGOs there always Debian-kFreeBSD which is systemd free
nine Skarsnik: that's like hosting camelia saves me 7 Euros per month since it made me migrate to a better server with a lower price :) 14:27
Skarsnik huhu
moritz nine: so, in some sense you're making money from Perl 6 :-)
BinGOs or Debian/Hurd for the really adventurerous
timotimo awesome
Skarsnik I tried debian hurd on virtual box, it booted once 14:28
and now it refuse to boot again :(
BinGOs indeed, milage does vary. 14:29
orbus ugh... systemd
yoleaux 26 Jan 2016 09:57Z <jnthn> orbus: .Supply on a Channel gives a Supply that will emit values that are sent on the Channel. The emit will be scheduled on the thread pool. If there are multiple active supplies on the Channel, or other readers, then they compete over the values.
orbus is really not a fan 14:30
timotimo i think systemd is pretty cool
i haven't done enough with it yet
orbus it has some nice features, but at the cost of massive added complexity - much of which was probably not needed to achieve those benefits 14:31
at least that's my take
nine Writing systemd unit files is so easy that I even have one for my irssi session running in screen on my server.
orbus I'm not necessarily suggesting the old init system was perfect mind 14:32
just that I resent how systemd has its fingers in everything now
timotimo systemd is at least a thousand times better than upstart :)
nine And we could throw out buggy deamonization code at work, because systemd does it better for us
timotimo systemd is actually very modular
Skarsnik It's my feeling on the 'new' display stack on linux. it look like a nightmare to understand or configure something now 14:33
it's freaking too complex x)
nine What's new about the display stack?
timotimo you know how you don't have an Xorg.conf any more? 14:34
that.
orbus I'll admit that's a big plus :p
nine That's just because X uses sensible defaults now
orbus Skarsnik: you mean xrandr?
Skarsnik When something does not work, it's like whatever now
BinGOs its no fun if you can't make your monitor explode.
orbus BinGOs: I think that kind of went out with the crt 14:35
BinGOs happy days
orbus worst you can do with an lcd is let the magic smoke out
drforr1 I might be inspired tonight to blog re: Inline::Scheme::Guile, a few at the conf have been interested. 14:36
orbus .tell jnthn okay - so if I create a Supply off a channel, and then I have two taps on that Supply, they'll compete over the values from the Channel? That seems to be how it behaves now. If so, I want to get that in the docs. I'll either open a ticket or do a pr 14:37
yoleaux orbus: I'll pass your message to jnthn.
MadcapJake I added a camelia emoji to the perl6 slack team :D 14:38
orbus we should press to get it included in unicode 14:39
MadcapJake orbus: definitely! though in the new Unicode 9, there's a butterfly emoji
orbus close 14:40
flussence reads scrollback, gets a good laugh from it, and quietly remounts efivarfs ro... 15:29
(turns out systemd isn't the only thing that screws that up) 15:32
azawawi what does this error message really mean "Native call expected return type with CArray representation, but got a P6opaque"? 15:43
timotimo of course not
azawawi CArray[num64] $kernel # is that a supported option for nativecall? 15:47
timotimo hm, should be
Skarsnik Not sure if it work well 15:49
CArray seems finicky
try to find the err msg?
timotimo that error probably happens inside moar? 15:50
AlexDaniel it looks like it is now popular to create proprietary alternatives to IRC
AlexDaniel doesn't see any logic behind this bullshit trend
there's also gitter and other stuff
Skarsnik hm IRC is quite limited 15:51
AlexDaniel Skarsnik: I'm not sure. I can configure my client any way I want
Skarsnik and it's not corporate enought
AlexDaniel so what limits are we talking about?
timotimo characters per line, obviously 15:52
AlexDaniel oh! What a big problem
what's the limit by the way?
I've never hit it
Skarsnik You can't edit a message
azawawi Skarsnik: github.com/azawawi/perl6-magickwan...e.pm6#L919 and github.com/azawawi/perl6-magickwan...d.pm6#L277
Skarsnik or be sure that your message is formated the same everywhere
azawawi Skarsnik: basically if i pass the actual CArray... that error occurs 15:53
Skarsnik CArray[num] is not valid x)
azawawi CArray[num64]?
dalek c: a107010 | (David Brunton)++ | doc/Type/Signature.pod:
wont -> won't

So it fails for the right reason.
15:54
c: 45fa33a | RabidGravy++ | doc/Type/Signature.pod:
Merge pull request #374 from dbrunton/patch-5

wont -> won't
Skarsnik well maybe it work, but you should not use num
you should have get a warning btw x)
m: say num.REPR
camelia rakudo-moar 2e1782: OUTPUT«P6num␤»
AlexDaniel I don't want to be sure that my message is formatted exactly the same everywhere. I respect user settings of other users 15:55
just like I don't expect the website to be rendered identically everywhere
because people custom css, text browsers, etc. 15:56
use*
ad blockers
flussence yup; too many people try to hammer HTML into a PDF-shaped hole these days, and the result is you need to buy extra DIMMs just to run a browser 16:00
AlexDaniel it's fine when people suggest alternatives to IRC, but when this alternative is some proprietary crap it's just ridiculous 16:03
flussence proprietary or foss, every method of electronic communication I've ever used is crap in some way :) 16:05
AlexDaniel it's also interesting how people say that these services have better integration with stuff. Hey, we have so many bots here – we are as integrated as possible. Server-side logs? Ok: irclog.perlgeek.de/perl6/today 16:19
azawawi Skarsnik: that error message means that you're passing @carray instead of passing $carray.... 16:20
Skarsnik AlexDaniel, you need bots... 16:27
MadcapJake is sad that error messages print the mangled module names :( 16:43
MadcapJake until a better solution arises, I really think stack traces should print "in method ... at <module>/<module_filename>.pm" rather than the actual filename on your computer 16:49
AlexDaniel MadcapJake: perhaps it would make sense to leave a comment here? rt.perl.org/Public/Bug/Display.html?id=126908 16:50
MadcapJake AlexDaniel: thanks, was wondering where best I could leave my thoughts
MadcapJake realizes he has no idea how to reply/comment on rt.perl.org 16:51
AlexDaniel MadcapJake: write an email… 16:52
MadcapJake how do i send it to that issue?
AlexDaniel MadcapJake: include [perl #126908] in your title
MadcapJake ok thanks!
AlexDaniel I mean, in the subject
MadcapJake right xD
AlexDaniel MadcapJake: that's an interesting idea actually 17:05
AlexDaniel perhaps we can also combine it with the path somehow? 17:05
MadcapJake I added a reply to that issue
AlexDaniel e.g. it could print /home/jrusso/.rakudobrew/moar-nom/install/share/perl6/site/sources once and after that use the module name 17:06
MadcapJake but the path is so long and incomprehensible, maybe if you put it on the line below
AlexDaniel MadcapJake: I see it :)
or above
MadcapJake sure, but it's still long enough to wrap
AlexDaniel by the way, any reason to use full hash A2E027789F0B4D3B6A5FCF168DAB702F10B504BF? Why not e.g. just a half of it 17:07
or just 10 characters
MadcapJake well then it's useless to even have it because you won't be able to find the file with it 17:08
AlexDaniel MadcapJake: yes but why the filename has to be so long?
MadcapJake oh i see, you mean in general
MadcapJake i wonder how many files the length allows 17:10
AlexDaniel MadcapJake: too many. But the question is whether it is enough not to start seeing collisions 17:11
lot's of places use just 7 first characters of the commit id in git, works just fine actually. But whether it is good enough or not – I don't know 17:12
MadcapJake m: [*] 2.."6FBB546BBE02E85FD75F4092B80DFBB2DA9640D3".chars 17:13
camelia ( no output )
MadcapJake m: say [*] 2.."6FBB546BBE02E85FD75F4092B80DFBB2DA9640D3".chars
camelia rakudo-moar 2e1782: OUTPUT«815915283247897734345611269596115894272000000000␤»
MadcapJake wait that's not it xD 17:14
it's even bigger isn't it because it's Hex
it's 1.4615016373e+48 possible combinations xD 17:19
that does seem highly unlikely to collide 17:20
like nigh impossible
10 chars gets you 1 trillion combinations 17:21
AlexDaniel Let's take rakudo source: git rev-list nom | perl -pe 's/(.{7}).*/$1/' | sort | uniq -dc | sort -n 17:23
no collisions, but change that to 6 and you'll see some
but what is going to happen in case of a collision? 17:24
MadcapJake i don't follow, what's that pipe doing?
AlexDaniel MadcapJake: it just finds duplicates for shortened commit ids
run that in rakudo source 17:25
MadcapJake ok i see, but what's this have to do with precomp? 17:26
AlexDaniel MadcapJake: well, we don't want to have collisions
MadcapJake right but doesn't precomp only occur with modules? 17:27
AlexDaniel MadcapJake: yes, but it's just a practical representation of what is going to happen if you get 21000 of something 17:28
sure enough you can use math to get the same result
MadcapJake m: say "That's {159272 * 200} possible filenames" # cpan has 159,272 modules, lets assume that each of those has 200 files 17:29
camelia rakudo-moar 2e1782: OUTPUT«That's 31854400 possible filenames␤»
MadcapJake m: say "That's {31854400 / 1000000000000} of the possible combinations at 10 Hex chars" 17:31
camelia rakudo-moar 2e1782: OUTPUT«That's 0.0000318544 of the possible combinations at 10 Hex chars␤»
Skarsnik x)
AlexDaniel MadcapJake: yeah but… birthday paradox 17:32
MadcapJake what's that? 17:32
AlexDaniel en.wikipedia.org/wiki/Birthday_problem
flussence m: say 0.0000318544 ** ½
camelia rakudo-moar 2e1782: OUTPUT«0.00564397023379819␤»
AlexDaniel MadcapJake: and this does not consider the fact that some people will attempt to create a collision on purpose 17:35
MadcapJake but precomp is done programmatically, so how could someone fudge it?
AlexDaniel MadcapJake: what's the input? 17:36
MadcapJake no idea actually, i'm guessing module name + filename?
orbus it's probably more than that 17:37
well
maybe not
AlexDaniel huggable: precomp
huggable AlexDaniel, nothing found
orbus I was thinking like size and modification time, but it might just check those to see if it needs to recompile
AlexDaniel hmm
details here: github.com/rakudo/rakudo/blob/nom/...agement.md 17:38
MadcapJake so the dist file is the main distribution, and then each source file is just an incremented sha1 of the dist sha? 17:45
MadcapJake .ask tadzik how do I pass :from and :extension to mustache renderer? It gives me a 'too many positionals' error 18:18
yoleaux MadcapJake: I'll pass your message to tadzik.
MadcapJake .tell tadzik that's for bailador, btw
yoleaux MadcapJake: I'll pass your message to tadzik.
MadcapJake anyone know how to serve images with bailador? 18:41
tadzik MadcapJake: no idea, I didn't write mustache 18:59
yoleaux 18:18Z <MadcapJake> tadzik: how do I pass :from and :extension to mustache renderer? It gives me a 'too many positionals' error
18:18Z <MadcapJake> tadzik: that's for bailador, btw
tadzik oh
if it says "too many positionals" then probably pass it as named :) 19:00
arnsholt And for reference, positional syntax looks like :from($whatever) or :$from (if the
*variable you want to pass happens to have the same name as the named) 19:01
timotimo um. that's named, not positional
arnsholt Derrrrrrrrp! >.< 19:02
s/positional/named/ of course
The point was good, if the wording was utterly broken 19:03
timotimo++ # noticing my brainfarts
MadcapJake tadzik: i tried that, it seems that named arguments arent slurped up by your template::Mustache class 19:06
MadcapJake tadzik: how would I serve an image via bailador? Doesn't PSGI let you pass file handles? How would I do that? `open('image.png')`? 19:07
AlexDaniel MadcapJake: I did not find any way to do that by the wya 19:09
way*
MadcapJake do what now? 19:10
AlexDaniel to serve an image via bailador
though I was trying to serve a pdf but it shouldn't really matter 19:11
MadcapJake yeah i tried `open("image.png", :bin)` and it says something about expecting 0 positional args and getting 1 arg
Skarsnik Still no session in Bailador? 19:12
MadcapJake it's weird because slurp works with css, but then it gives me a positional arg error with a binary file? I don't understand why that is 19:14
AlexDaniel MadcapJake: css file is still text 19:16
and .js too
raiph Do others agree with AlexDaniel that stackoverflow.com/a/35046178/1077672 could be added to p6doc as a "Performance" or somesuch article (removing the bits specific to `if` statements)? (To me it seems too context specific and too much "ask on #perl6" but it maybe it's better than nothing.)
MadcapJake yeah but why the positional arg, it's still returning something
i mean, either way something is returned, text or binary, so why would it give a positional argument error (0 got 1) 19:17
AlexDaniel raiph: it is a common question, so perhaps creating a new page here would make sense: doc.perl6.org/language.html 19:18
raiph: but you have to do that yourself because of the license :) 19:19
MadcapJake I think it's a good idea to add, people are going to wonder about it and having a canonical answer that is elaborate rather than a short irc answer, will be good. your response covers all the bases really well raiph 19:21
is there currently any place in the docs that mentions perl6 --profile or perl6-bench? 19:22
timotimo don't think so
raiph MadcapJake, AlexDaniel: OK. I'll add a revision of it in a couple days (giving time for comments). 19:23
MadcapJake then i think it's useful just for elaborating on those two tools alone
raiph timotimo: I'd very much appreciate any brief comments you have on the current SO answer too (assume I'll edit out the `if` specificity). 19:24
AlexDaniel MadcapJake: google says “no”
timotimo raiph: i just read it, and i liked it a bunch. however, using native arrays of int8 and friedns is currently not fast at all :|
AlexDaniel raiph: the answer is good as it is, we can improve it later 19:25
raiph timotimo: I wondered about that. :)
timotimo and your characterization of --profile is grossly exaggerated, IMO 19:26
i've had fairly complex scripts do fine
raiph timotimo: OK. I'll change that. 19:27
Skarsnik well the ouput is still a nightmare for a web browser x) 19:28
maybe you should mention tadzik Qt thing, maybe people will be interested to improve it x) 19:29
raiph Skarsnik: thanks, vaguely recall that, got a link? 19:30
tadzik MadcapJake: no idea 19:31
Skarsnik github.com/tadzik/p6profiler-qt
raiph (note to self: look at github account before asking such a question next time) 19:32
Skarsnik: thx
timotimo raiph: i'll look a bit more into the performance characteristics of the example from that post 19:35
um, is that regex actually correct? 19:36
shouldn't it be <[ea]>?<[ui]>? or something?
timotimo oh 19:36
actually it's supposed to be [ea?|u|i]
raiph timotimo: I think the questioner was mostly just curious (and perhaps negative) about Perl 6 and may have already moved on. I'd say only get in to it if you find it interesting to do so. 19:38
timotimo i find it interesting
raiph timotimo: although jotting down your thought process and the tools/techniques you use as you dig in to that would be very useful imo. 19:39
grondilu m: say ^1 X+ (^1 X* 1i); 19:54
camelia rakudo-moar 2e1782: OUTPUT«(0+0i)␤»
grondilu m: say ^2 X+ (^2 X* 1i);
camelia rakudo-moar 2e1782: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Uninstantiable)␤»
grondilu ^what am I doing wrong? 19:55
m: say ^2 X+ (0i, 1i) 19:56
camelia rakudo-moar 2e1782: OUTPUT«(0+0i 0+1i 1+0i 1+1i)␤»
grondilu m: say ^2 X+ ((0, 1) X* 1i)
camelia rakudo-moar 2e1782: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Uninstantiable)␤»
grondilu m: say (0, 1) X* 1i 19:57
camelia rakudo-moar 2e1782: OUTPUT«(0+0i 0+1i)␤»
grondilu m: say (0, 1) X+ ((0, 1) X* 1i)
camelia rakudo-moar 2e1782: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Uninstantiable)␤»
grondilu wth
m: say (0, 1) Z+ ((0, 1) X* 1i) 19:58
camelia rakudo-moar 2e1782: OUTPUT«(0+0i 1+1i)␤»
grondilu m: say (0, 1) X+ (2, 3) 19:59
camelia rakudo-moar 2e1782: OUTPUT«(2 3 3 4)␤»
MadcapJake kind of hates the 't' folder for how hard it is to click on github xD 20:01
grondilu oh I see. It's a Seq thing, isn't it? 20:02
you can't use a Seq in a cartesian product.
m: say ^2 X+ my @ = (^2 X* 1i); 20:03
camelia rakudo-moar 2e1782: OUTPUT«(0+0i 0+1i 1+0i 1+1i)␤»
uruwi m: say (0i .. 1i) 20:04
camelia rakudo-moar 2e1782: OUTPUT«Complex objects are not valid endpoints for Ranges␤ in block <unit> at /tmp/3hsIwAC748 line 1␤␤»
Juerd MadcapJake: I use Vimium for Chrome, and Pentadactyl for Firefox. "Clicking" links can then be done by hitting 'f' and entering the shortcode that appears next to the link
MadcapJake: Much faster, in general, but specifically, smaller sized links are much easier :) 20:05
MadcapJake AlexDaniel, tadzik: FYI, if your sub contains «content_type('image/png');open("path/to/images/$name.png", :bin);» it will send images!
Juerd MadcapJake: juerd.nl/i/65b54037c94aad73ff4f9b681985a1a6.png
MadcapJake Juerd: cool! 20:06
Juerd MadcapJake: (Mine's currently optimized for dvorak, by default it favors asdf/hjkl)
MadcapJake: 't' is hidden by the flag, but that's no issue because the flags don't appear until you hit 'f'
(It's HN in this screenshot, by the way)
AlexDaniel MadcapJake: nice!! 20:07
Juerd juerd.nl/i/a8c72bb0647c90e7cc39a802b05bd017.png
MadcapJake that's pretty cool!
Juerd Yes, I highly advise using one of these extensions 20:08
They have other tricks up their sleeves but this is the most important one imho
MadcapJake I wonder if vimium will work with vivaldi
moritz
.oO( Vimvaldi )
20:11
AlexDaniel Juerd: other tricks like? 20:13
Juerd AlexDaniel: Sorry, too off topic here, and I think you can read it from the respective homepages. 20:19
AlexDaniel :)
RabidGravy I just love Perl 6, I have a bunch of tests that have to sleep because they are going to wait for something to happen, but hey I can start them all in parallel and only take as long as the longest wait 20:21
AlexDaniel RabidGravy: 「prove」 can actually parallelize tests 20:24
RabidGravy I know
RabidGravy but making ten files just to have prove do that to the saving of a few starts and and await doesn't really make sense 20:26
AlexDaniel RabidGravy: oh right, it works on files! 20:31
RabidGravy: indeed, you're right
RabidGravy :) 20:33
azawawi pasteboard.co/1bI9E4SQ.png # Perl 6 image tiling fun with MagicWand :) 20:48
pasteboard.co/1bI9T6Vi.png # More fun with how wide can an image be :) 20:49
timotimo heh. 20:52
MadcapJake AlexDaniel, tadzik: nvm about opening images with bailador (or http::easy::psgi), seems to just send a small white box... 20:56
azawawi good night #perl6 20:58
moritz m: say "⅓" * 3 21:08
camelia rakudo-moar 2e1782: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5⅓' (indicated by ⏏)␤ in block <unit> at /tmp/zitwlKVrSP line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/zitwlKVrSP line 1␤␤»
moritz wasn't this supported at some point? 21:09
AlexDaniel m: say ⅓ * 3 21:10
camelia rakudo-moar 2e1782: OUTPUT«1␤»
AlexDaniel moritz: sure ↑
moritz why didn't mine work? 21:11
m: say ⅓ * 3
camelia rakudo-moar 2e1782: OUTPUT«1␤»
moritz seems string-to-number still doesn't use the same code as literal parsing :/
flussence m: say val("⅓") * 3 21:12
camelia rakudo-moar 2e1782: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5⅓' (indicated by ⏏)␤ in block <unit> at /tmp/uwXIqDjM5e line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/uwXIqDjM5e line 1␤␤»
AlexDaniel do we really want it to work?
flussence m: say unival("⅓") * 3
camelia rakudo-moar 2e1782: OUTPUT«1␤»
flussence are val() and unival() really supposed to be different there? 21:13
AlexDaniel m: say val(‘٧’) 21:15
camelia rakudo-moar 2e1782: OUTPUT«٧␤»
AlexDaniel there is a difference between Nd and other numerics 21:17
m: say ᱑᱒᱓᱔᱕᱖᱗᱘
camelia rakudo-moar 2e1782: OUTPUT«12345678␤»
AlexDaniel m: say ⅓⅓ 21:18
camelia rakudo-moar 2e1782: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Aijp88KESB␤Bogus postfix␤at /tmp/Aijp88KESB:1␤------> 3say ⅓7⏏5⅓␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end␤ statement mod…»
RabidGravy adds an .at() to Chronic for convenience 21:25
moritz .u ᱒ 21:26
yoleaux U+1C52 OL CHIKI DIGIT TWO [Nd] (᱒)
MadcapJake can any of the web modules serve images? 22:00
masak 'night, #perl6 22:11
gfldex do i understand S26 right that a numbered =item list is terminated by any POD-element that is not a numbered item? 22:19
skids
.oO(Camelia vs Godzilla)
22:25
flussence gfldex: «=item»s are just regular Pod6 with special behaviour for consecutive ones; if you want to put complicated stuff inside one you need =begin item/=end item syntax. Note that the first part applies to p5POD too, the second just isn't possible there 22:36
gfldex flussence: my problem is not writing the POD file, my problem is rendering it. So I need to know when to reset the counters. 22:38
gist.github.com/gfldex/8c27cbd4761955eb908b
that's how the data structure looks like 22:39
flussence .rotor(2,-1) it and reset the counter whenever a previous index isn't a Pod::Item? 22:40
RabidGravy MadcapJake, Crust has a Static middleware 22:44
timka hi 23:00
ingy say "{a: 42, b: 43}" 23:04
why is that an error?
{} are special in ""?
cxreg2 m: <abc>.rotor: 1 => -2 23:06
camelia rakudo-moar 2e1782: OUTPUT«(timeout)WARNING: unhandled Failure detected in DESTROY:␤Index out of range. Is: -110, should be in 0..Inf␤ in method sink-all at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤ in block <unit> at /tmp/ZfLOAJYyHg line …» 23:06
cxreg that makes a pretty impressive explosion in the repl 23:07
Skarsnik ingy, {} in "" is to put code 23:08
revhippie m: my $foo = 1; say "{ $foo++ }, {$foo++}, {$foo++}, $foo" 23:37
camelia rakudo-moar 2e1782: OUTPUT«1, 2, 3, 4␤»