»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:00 salv0 left, alpha123 left, ggoebel15 left
AlexDaniel DrForr: don't forget to document s{oo} = ‘öö’ please :) 00:00
00:00 alpha123 joined, salv0 joined, ggoebel15 joined, edehont joined 00:03 eyck joined
RabidGravy toodles people 00:03
timotimo toodles 00:07
00:08 RabidGravy left 00:10 ely-se joined 00:14 laz78 left, bjz left 00:15 alpha123 left 00:16 bjz joined 00:18 bjz left 00:20 bjz joined
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
00:23 lichtkind left 00:26 koo7 left, tmtowtdi left 00:27 Fleurety left 00:31 bjz left, musiKk left, firstdayonthejob left
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
00:34 Fleurety joined
ingy porting p6 rules to pegex is mostly just removing crufty syntax! 00:34
ingy ducks
00:36 bjz joined
Hotkeys Pegex? 00:37
00:40 geraud left
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
00:49 lokien_ left, kanishka left 00:50 edehont left 00:54 pyrimidi_ joined 00:55 sQuEE` joined, Skarsnik left, [particle]1 joined 00:56 laz78 joined 00:57 advwp left, laz78 left 00:58 timo joined 00:59 timo is now known as Guest1746, apejens_ joined, El_Che_ joined, Psyche^_ joined, cxreg2 joined, notostraca joined, Roamer`_ joined, Lucas_One_ joined 01:01 caasih_ joined, olinkl_ joined 01:02 DrParis_ joined, robins joined, nchambers^ joined 01:03 Herby_ joined
Herby_ Evening, everyone! 01:03
o/
01:05 TEttinger left, pyrimidine left, Psyche^ left, autarch left, sQuEE left, nchambers left, [particle] left, daxim left, anshin left, timotimo left, Bucciarati left, cxreg left, El_Che left, DrParis left, robinsmidsrod left, Roamer` left, apejens left, olinkl left, Lucas_One left, caasih left
Herby_ Wow. I'm that bad? 01:05
01:05 Bucciarati joined
Herby_ Question: How would I download an image from a URL, with Perl 6? 01:05
01:05 daxim joined, olinkl_ is now known as olinkl, autarch joined, DrParis_ is now known as DrParis
AlexDaniel huggable: curl 01:06
01:06 yqt left
huggable AlexDaniel, nothing found 01:06
01:06 DrParis is now known as Guest89154
AlexDaniel huggable: wget 01:06
huggable AlexDaniel, nothing found
AlexDaniel Herby_: try HTTP::UserAgent
01:07 bjz left
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!
01:08 caasih_ is now known as caasih
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
01:10 anshin joined
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
01:10 raiph joined, bjz joined 01:11 notostraca is now known as TEttinger
Herby_ is HTTP::Tiny more active? 01:11
in regards to improvements/fixes etc?
01:11 advwp joined
AlexDaniel 434 commits vs 19. I'd say no ( if HTTP::Tinyish is what you've meant ) 01:12
01:12 labster left
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
01:21 gtodd1 left
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
01:23 addison left
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"
01:25 gtodd joined
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
01:28 Guest1746 is now known as timotimo, addison_ joined
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
01:33 bjz left 01:34 bjz joined
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.
01:37 labster joined
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
01:39 addison_ left
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!
01:41 ely-se left 01:42 abaugher_ left
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
01:54 edehont joined
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␤»
01:59 bjz left 02:00 somerandomguy left 02:01 edehont left 02:03 sufrostico left 02:08 Guest89154 is now known as DrParis__ 02:11 sftp left, labster left 02:12 xpen joined 02:13 labster joined 02:14 labster left 02:22 jeek joined 02:32 abaugher joined 02:42 molaf_ joined 02:44 rsiqueira joined 02:46 molaf left 02:50 jeek left 02:51 wamba left 02:55 rsiqueira left 03:00 bjz joined 03:10 jeek joined 03:13 cdg joined 03:19 cdg left 03:31 SCHAAP137 left 03:36 noganex_ joined 03:38 kaare_ joined 03:39 noganex left 03:40 bpmedley left
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
05:02 revhippie left 05:04 kid51 joined 05:05 hankache joined
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
05:16 xinming left
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
05:19 bjz left
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
05:23 kid51 left
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.
05:24 Herby_ left
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
05:35 raiph left
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"
05:42 Cabanossi left
skids (and actually in computing, too, e.g. batch files and database batch jobs) 05:43
05:44 Cabanossi joined 05:45 xinming joined
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
06:03 AlexDaniel left 06:08 davido joined 06:13 yurivish left 06:25 bpmedley joined 06:38 lokien_ joined 06:40 yurivish joined, xpen left 06:53 lizmat left 06:55 CIAvash joined 07:07 hankache left, edehont joined 07:17 domidumont joined 07:27 azawawi joined
azawawi hi 07:27
07:28 hankache joined 07:45 jeek left 07:46 edehont left 07:51 protium joined, davido left 07:52 sortiz left 07:57 wamba joined 08:06 domidumont left 08:17 RabidGravy joined, darutoko joined 08:27 alnewkirk joined 08:31 domidumont joined 08:36 domidumont left, domidumont joined
masak morning, #perl6 08:38
08:39 protium left
dalek c: d81cbd2 | moritz++ | doc/Type/List.pod:
Link to Zoffix's blog post on .rotor
08:42
08:44 hankache left 08:45 _ramix_ joined 08:49 lokien_ left
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
09:00 labster joined 09:03 fireartist joined 09:07 firstdayonthejob joined
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
09:07 hankache joined
azawawi pasteboard.co/1aYApl0P.png # is the output image of github.com/azawawi/perl6-magickwan...ffects.pl6 :) 09:12
09:19 pmurias joined 09:21 hankache left
RabidGravy kewl 09:31
looking good there matey 09:32
09:32 hankache joined
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
09:36 labster left
[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
09:44 labster joined
azawawi hankache: doc.perl6.org/language/functions#sub_MAIN 09:44
09:44 labster left
[Tux] gist.github.com/Tux/c5badf213eb68e803785 09:45
09:45 telex left
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?
09:46 telex joined
[Tux] nine: it does, I build with -Duselongdouble 09:46
hankache thanks azawawi
09:47 jast left, _ramix_ left, jast joined
azawawi hankache: np 09:47
[Tux] nine, does that explain enough or do you need more feedback? 09:49
09:51 johan left, nine left 09:52 nine joined 09:53 molaf_ left 09:58 pRiVi left, pRiVi joined
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
10:05 fireartist left
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 :)
10:36 rindolf joined
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
10:56 cognominal left
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.
11:00 kanishka joined
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
11:21 RabidGravy left
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 |:
11:23 zakharyas joined
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 :)
11:31 perlawhirl joined
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 :)
11:35 SCHAAP137 joined 11:36 musiKk joined 11:43 hankache left 11:45 vendethiel joined 11:46 Fiora_ joined
Fiora_ Is Perl6 a regular language? 11:46
11:47 spider-mario joined
timotimo what use is a regular language for programming? :\ 11:47
11:47 TEttinger left
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
11:51 robins is now known as robinsmidsrod
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
11:59 CIAvash left
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
12:01 johan joined
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
12:06 firstdayonthejob left
pmurias meant Fiora_: 12:06
vendethiel (definitely agreed) 12:07
12:07 uruwi joined
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
12:10 Skarsnik joined, leont joined
Skarsnik hello 12:10
12:14 ely-se joined, zakharyas left
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? :\
12:16 lnrdo_ joined
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
12:23 kent\n joined 12:24 firstdayonthejob joined
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
12:28 Fiora_ left
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
12:35 Actualeyes joined 12:36 dolmen joined 12:45 SCHAAP137 left
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?
12:48 pochi_ is now known as pochi
azawawi s/on a/of a/ 12:48
12:51 lnrdo_ left
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␤␤»
12:57 perlawhirl left 13:00 uruwi left 13:02 ely-se left
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
13:10 jeek joined
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
13:22 Begi joined
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
13:25 rindolf left
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 :)
13:28 lizmat joined
azawawi pasteboard.co/1bfuzcw5.png # all image composite operator that magickwand supports :) 13:30
timotimo++ 13:31
timotimo neat
13:31 uruwi joined
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
13:33 rindolf joined
azawawi github.com/azawawi/perl6-magickwan...s.pl6#L122 13:33
13:33 domidumont left
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
13:36 vendethiel left
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␤»
13:40 rindolf left
timotimo it's all right 13:40
13:48 kid51 joined, sftp joined 13:49 vendethiel joined
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
13:58 lizmat left
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
14:03 leont left
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
14:12 cpage_ left
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!)
14:20 SCHAAP137 joined, dolmen left
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!!
14:22 Zero_Dogg left, Zero_Dogg joined
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
14:25 Begi left
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 :(
14:28 lizmat joined, musiKk left
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
14:32 cdg joined 14:33 drforr1 joined
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.
14:38 lizmat left
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
14:40 dolmen joined 14:41 cpage_ joined, lokien_ joined 14:43 raiph joined 14:59 nowan left 15:02 nowan joined, zakharyas joined 15:07 zakharyas left 15:10 vendethiel left 15:12 nchambers^ is now known as nchambers 15:13 AlexDaniel joined 15:14 kentnl joined 15:15 kent\n left, kentnl left, kentnl joined, kentnl is now known as kent\n 15:23 vendethiel joined
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
15:34 rindolf joined 15:38 domidumont joined
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
15:45 vendethiel left
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
15:52 RabidGravy joined
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
15:57 khw joined 15:58 rindolf left, rindolf joined
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
16:04 Fleurety left
flussence proprietary or foss, every method of electronic communication I've ever used is crap in some way :) 16:05
16:06 musiKk joined 16:16 vendethiel joined
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
16:20 cognominal joined 16:23 khw left 16:24 khw joined
Skarsnik AlexDaniel, you need bots... 16:27
16:43 Fleurety joined
MadcapJake is sad that error messages print the mangled module names :( 16:43
16:44 Fleurety left 16:49 azawawi left
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
16:49 lokien_ left
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
16:51 Fleurety joined
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
16:52 lnrdo_ joined 16:54 Fleurety left 16:56 mr-foobar joined 17:01 Fleurety joined
AlexDaniel MadcapJake: that's an interesting idea actually 17:05
17:05 Fleurety left
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
17:08 Fleurety joined
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
17:09 Fleurety left, lnrdo_ left
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
17:25 mr-foobar left, ely-se joined, musiKk left
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
17:26 dolmen left, ely-se left
MadcapJake right but doesn't precomp only occur with modules? 17:27
17:27 mr-foobar joined
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
17:32 Fleurety joined
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␤»
17:32 Fleurety left
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?
17:35 dolmen joined
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
17:44 BenGoldberg joined
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
17:46 BenGoldberg left 17:47 BenGoldberg joined 17:49 kjs_ joined 17:55 dolmen left 17:59 kanishka left 18:03 lnrdo_ joined 18:15 Actualeyes left 18:16 sjoshi joined, BenGoldberg left
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.
18:19 yurivish_ joined 18:24 kjs_ left 18:28 lnrdo_ left 18:29 lnrdo_ joined, lnrdo_ left, lnrdo_ joined 18:38 azawawi joined
MadcapJake anyone know how to serve images with bailador? 18:41
18:45 hankache joined 18:48 lnrdo_ left, lnrdo_ joined
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
19:07 lnrdo_ left
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
19:07 kmel joined 19:08 lnrdo_ joined 19:09 mst left, mst joined
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
19:11 hankache left 19:12 kmel left, lnrdo_ left
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
19:15 kid51 left
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
19:23 lnrdo_ joined
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 :|
19:24 sjoshi left
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
19:34 yqt joined
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?
19:36 hankache joined
timotimo oh 19:36
actually it's supposed to be [ea?|u|i]
19:37 kid51 joined
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
19:40 Fleurety joined 19:41 Fleurety left 19:42 geekosaur left 19:45 nanis joined 19:46 Fleurety joined 19:47 kjs_ joined, geekosaur joined 19:49 nanis left
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)␤»
20:03 kjs_ left
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
20:09 Fleurety_ joined, rindolf left, Fleurety left, kjs_ joined
moritz
.oO( Vimvaldi )
20:11
AlexDaniel Juerd: other tricks like? 20:13
20:17 koo8 joined, kjs_ left
Juerd AlexDaniel: Sorry, too off topic here, and I think you can read it from the respective homepages. 20:19
AlexDaniel :)
20:21 Fleurety_ left, lnrdo_ left
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
20:25 darutoko left
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
20:34 kjs_ joined 20:37 kjs_ left 20:40 dolmen joined 20:45 jack_rabbit left 20:48 raiph left
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
20:49 hankache left
timotimo heh. 20:52
20:55 ely-se joined 20:56 kjs_ joined
MadcapJake AlexDaniel, tadzik: nvm about opening images with bailador (or http::easy::psgi), seems to just send a small white box... 20:56
20:57 revhippie joined
azawawi good night #perl6 20:58
20:58 musiKk joined 21:02 azawawi left 21:05 yurivish left 21:07 rindolf joined, dolmen left
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…»
21:19 yurivish_ left 21:20 lnrdo_ joined
RabidGravy adds an .at() to Chronic for convenience 21:25
moritz .u ᱒ 21:26
yoleaux U+1C52 OL CHIKI DIGIT TWO [Nd] (᱒)
21:31 jack_rabbit joined 21:33 kjs_ left 21:34 p_p_r joined 21:38 hankache joined 21:41 domidumont left 21:43 kjs_ joined 21:45 BenGoldberg joined 21:53 hankache left 21:54 koo8 left 21:56 ELBeavers joined, yurivish_ joined 21:57 rindolf left, wamba left, ELBeavers left
MadcapJake can any of the web modules serve images? 22:00
masak 'night, #perl6 22:11
22:13 kjs_ left 22:14 ELBeavers joined 22:17 TEttinger joined 22:18 kaare_ left
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
22:27 espadrine joined
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
22:40 LLamaRider joined, LLamaRider left
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
22:48 jack_rabbit left 22:50 lnrdo_ left 22:53 kjs_ joined 23:00 timka joined
timka hi 23:00
23:01 timka left 23:02 jack_rabbit joined 23:03 uruwi left
ingy say "{a: 42, b: 43}" 23:04
why is that an error?
{} are special in ""?
23:05 olinkl_ joined
cxreg2 m: <abc>.rotor: 1 => -2 23:06
23:06 cxreg2 is now known as cxreg
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
23:06 ZeroDogg joined
cxreg that makes a pretty impressive explosion in the repl 23:07
23:08 [particle] joined
Skarsnik ingy, {} in "" is to put code 23:08
23:08 Skarsnik left 23:10 xinming_ joined, olinkl left, Zero_Dogg left, Lucas_One_ left, ZeroDogg is now known as Zero_Dogg, [particle]1 left, xinming left, olinkl_ is now known as olinkl 23:11 Lucas_One_ joined 23:14 Fleurety joined, Fleurety left 23:16 kjs_ left 23:18 Fleurety joined, lokien_ joined 23:20 Fleurety left 23:28 Fleurety joined, kurahaupo joined 23:31 musiKk left, Fleurety left 23:35 lizmat joined, RabidGravy left, Fleurety joined, Fleurety left 23:36 leont joined
revhippie m: my $foo = 1; say "{ $foo++ }, {$foo++}, {$foo++}, $foo" 23:37
camelia rakudo-moar 2e1782: OUTPUT«1, 2, 3, 4␤»
23:43 woolfy joined 23:45 kurahaupo left, spider-mario left 23:46 kurahaupo joined 23:53 kurahaupo_ joined 23:54 p_p_r left 23:55 kurahaupo left 23:57 lonewolf28 joined 23:58 kurahaupo_ left