Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-02-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 AlexDaniel joined #perl6
00:05 astj joined #perl6
00:09 Actualeyes joined #perl6
00:16 cale2 are the built ins for note and warn basically like a built in logger?
00:23 lizmat they write to $*STDERR, if that is what you mean ?
00:35 BenGoldberg joined #perl6
00:36 pmurias joined #perl6
00:37 milesrout joined #perl6
00:40 milesrout how's perl 6 going then
00:41 brokenchicken Going well.
00:48 cale2 https://medium.com/@squeaky_pl/million-re​quests-per-second-with-python-95c137af319#.yqa5k1am5
00:48 cale2 "All the techniques that were mentioned here are not really specific to Python. They could be probably employed in other languages like Ruby, JavaScript or PHP even."
00:56 aborazmeh joined #perl6
00:56 aborazmeh joined #perl6
01:07 pyrimidine joined #perl6
01:18 astj joined #perl6
01:22 labster joined #perl6
01:23 hartenfels joined #perl6
01:30 timotimo milesrout: any questions in particular? or just an overall status report?
01:40 samcv this is weird. i get Cannot pop from an empty Array, but i get the error message after i have already exited that sub
01:40 samcv the sub that pops the array
01:41 TimToady is it returning a Failure?
01:41 brokenchicken QAST::Var(lexical $x :decl(contvar))  ... is that :decl<contvar>? And it'd give a containerised var I could :op<assign> to?
01:42 * brokenchicken greps sauce
01:42 samcv this is what i get https://gist.github.com/samcv/e​98039bb5208d396dd014a073a0f45dd
01:42 brokenchicken No such uses :(
01:42 samcv i added a try on there and the error went away, but it is quite odd
01:43 TimToady just looks like it's returning a Failure through several layers before trying to use it
01:43 TimToady (or sinking it)
01:44 TimToady and try doesn't allow Failures to return through it
01:45 TimToady m: say try Failure.new
01:45 camelia rakudo-moar d69f37: OUTPUT«Nil␤»
01:47 samcv yeah so i guess just a weird error. i fixed the source of the failure
01:47 samcv and it went away
01:52 pyrimidine joined #perl6
01:53 brokenchicken ugh Unable to parse expression in blockoid; couldn't find final '}'  at line 7850
01:53 brokenchicken Yeah there ain't nothing wrong with that line, you stupid compiler!
01:53 * brokenchicken yells at the cloud and goes to bed
01:55 masak TimToady: oh! well, there were actually two separate questions, sort of: (1) should unquote-containing BEGINs invoke per expension? and (2) should non-unquote-containing BEGINs in quasis be deferred to expansion-time out of sympathy?
01:55 masak TimToady: for the time being, I'll take you as being in the "yes" camp for both, then.
01:56 masak and your "yes" stance on (2) ought to make arnsholt and vendethiel happy ;)
01:56 * masak .oO( Happiness-Driven Development )
02:02 TimToady sure...to the first approximation, quasies are sequences of generic symbols that only attain meaning when instantiated in context
02:02 TimToady if we eventally need a QUASIBEGIN phaser, well then...
02:03 hartenfels joined #perl6
02:04 TimToady outside of the quasi, of course, it's real code, and BEGIN should go off immediately
02:05 TimToady even if it ends up returning something quasi for later
02:06 kalkin- joined #perl6
02:07 BenGoldberg Is it possible to define macro ops?  Infix/suffix/etc?
02:08 timotimo should be, no?
02:09 * BenGoldberg remembers trying to, but got stumped by the syntax.
02:12 BenGoldberg m: macro infix:<plus>($a, $b) { return quasi { {{{$a}}} + {{{$b}}} } }; say 2 plus 3;
02:12 camelia rakudo-moar d69f37: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Use of macros is experimental; please 'use experimental :macros'␤at <tmp>:1␤------> 3macro7⏏5 infix:<plus>($a, $b) { return quasi { {␤»
02:13 BenGoldberg m: use experimental :macros; macro infix:<plus>($a, $b) { return quasi { {{{$a}}} + {{{$b}}} } }; say 2 plus 3;
02:13 camelia rakudo-moar d69f37: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 2 in sink context (line 1)␤Useless use of constant integer 3 in sink context (line 1)␤5␤»
02:13 samcv so i wrote a function to pack bitfields and it is working pretty well
02:13 BenGoldberg m: use experimental :macros; macro infix:<plus>($a, $b) { return quasi { (({{{$a}}}) + ({{{$b}}})) } }; say 2 plus 3;
02:13 camelia rakudo-moar d69f37: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 2 in sink context (line 1)␤Useless use of constant integer 3 in sink context (line 1)␤5␤»
02:14 BenGoldberg m: use experimental :macros; macro plus($a, $b) { return quasi { (({{{$a}}}) + ({{{$b}}})) } }; say plus( 2, 3 );
02:14 camelia rakudo-moar d69f37: OUTPUT«5␤»
02:14 BenGoldberg Why is it sinking?
02:15 MasterDuke samcv: will that end up making the moar excutable smaller?
02:15 samcv well it already does bitfield packing
02:15 samcv my names compression will for sure
02:15 samcv from 1.7KB to like 470KB
02:16 timotimo you mean mb? :)
02:16 samcv yes MB
02:17 samcv the only hurdle left is getting the names able to grab specific names instead of just going through the whole datastructure in order (for the names)
02:17 samcv uhm and also need to figure out how to compress the mapping of cp's to bitfield rows
02:17 samcv that takes up way more space than the bitfield, since the bitfield rows are de-duped
02:17 BenGoldberg huggable, rakudobug
02:17 huggable BenGoldberg, Report bugs by emailing to rakudobug@perl.org
02:18 samcv so you can imagine: const static uint16_t point_index[1114110]
02:18 samcv this index of points to bitfield rows is very very big
02:19 samcv so i still need to do the same thing I already did for the names, which is making some if statements/switch for getting an offset
02:20 samcv so like if ( cp >= 'A' && cp <= 'Z' ) return 40; # something like that
02:20 samcv though ranges can be very very big, of points that share the same properties
02:21 samcv though also need to solve the perl 6 script taking 1000 years to create a full database. while i work on it i have it do a partial build
02:21 samcv think it was like 30 minutes it takes
02:23 samcv logging into the bisectable server now and gonna do a full build and see how long it takes now, been a while since i did a ful one
02:27 samcv right now the names is 470KB vs 1.7MB+ we have currently, but the bitfield is way bigger than what we have now due to the index taking up so much space
02:46 cibs joined #perl6
02:46 mscha joined #perl6
02:46 mscha m: my int $a = 10**16; say $a; say $a div 4;
02:46 camelia rakudo-moar d69f37: OUTPUT«10000000000000000␤468729856␤»
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:52 dugword joined #perl6
03:03 itcharlie joined #perl6
03:04 timotimo samcv: is your UCD repo still the one that i should be working against for making the cp-to-name lookup work?
03:04 samcv yea
03:04 samcv it is still current with my work
03:05 mr_ron joined #perl6
03:11 timotimo is the bitfield allocation stuff in there, too, somewhere?
03:11 timotimo also i'm not sure what the indxe is all about. is that something we didn't need before?
03:12 agentzh joined #perl6
03:13 xtreak joined #perl6
03:13 milesrout Do the symbols in perl 6 get easier with time? I can only assume so. I didn't find perl 5 that cryptic, but just looking through the operator page for perl 6 is overwhelming.
03:13 timotimo i find the symbolic operators in perl6 to be more systematic
03:13 milesrout I assume people don't tend to write perl 6 that way, right? adn they're just examples?
03:13 timotimo that ought to make it easier to learn
03:14 timotimo you mean /language/operators?
03:15 milesrout I do
03:15 mspo I think terms like postcircumfix might deserve their own entry in the glossary
03:15 samcv timotimo, the bitfield allocation stuff is now
03:15 samcv it's sorting the enum properties now, will soon also have it sort the enum and binary properties together but the module I am using to pack the bitfield is there
03:16 samcv works quite well
03:16 milesrout what is .perl
03:16 mspo m: "What is this?".perl
03:16 camelia rakudo-moar d69f37: ( no output )
03:16 timotimo outputs an object as code that'd give you roughly the same value back
03:16 samcv m: say "test".perl
03:16 camelia rakudo-moar d69f37: OUTPUT«"test"␤»
03:16 milesrout is it like 'print in Lisp or repr in Python?
03:16 mspo oh oops, say
03:16 mspo m: "say What is this?".perl
03:16 camelia rakudo-moar d69f37: ( no output )
03:16 timotimo it's good for finding out the structure of nested objects and such
03:16 samcv sorta like that i guess milesrout
03:16 mspo or not :)
03:16 timotimo haha
03:17 mspo m: say "What is this?".perl
03:17 camelia rakudo-moar d69f37: OUTPUT«"What is this?"␤»
03:17 samcv m: say (10 => 'whatever').perl
03:17 camelia rakudo-moar d69f37: OUTPUT«10 => "whatever"␤»
03:17 timotimo m: say ^10 .combinations(2)
03:17 camelia rakudo-moar d69f37: OUTPUT«((0 1) (0 2) (0 3) (0 4) (0 5) (0 6) (0 7) (0 8) (0 9) (1 2) (1 3) (1 4) (1 5) (1 6) (1 7) (1 8) (1 9) (2 3) (2 4) (2 5) (2 6) (2 7) (2 8) (2 9) (3 4) (3 5) (3 6) (3 7) (3 8) (3 9) (4 5) (4 6) (4 7) (4 8) (4 9) (5 6) (5 7) (5 8) (5 9) (6 7) (6 8) (6 9) (7 …»
03:17 mspo m: say *.perl
03:17 camelia rakudo-moar d69f37: OUTPUT«{ ... }␤»
03:17 timotimo that's a bit much for a simple result
03:17 timotimo m: say ^5 .combinations(2)
03:17 camelia rakudo-moar d69f37: OUTPUT«((0 1) (0 2) (0 3) (0 4) (1 2) (1 3) (1 4) (2 3) (2 4) (3 4))␤»
03:17 mspo milesrout: it's like Data::Dumper in perl5
03:17 mspo or print_r in php
03:18 milesrout thanks
03:18 timotimo we also have Data::Dump::Tree, which is pretty cool
03:19 timotimo and rakudo has a routine named "dd" that's quite helpful, though it's not part of the perl6 language
03:20 perlpilot Didn't bdf just do a blog post on way to dump data in P6 ?
03:21 perlpilot s/way/ways/
03:21 perlpilot https://www.learningperl6.com/2017/01/​26/three-ways-to-pretty-print-perl-6/
03:21 perlpilot oh, he says "pretty print"
03:27 zacts joined #perl6
03:32 samcv m: use nqp; say nqp::unicmp_s('a', 'b', 7,0,0,0)
03:32 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
03:32 samcv not sure why i get this error
03:32 samcv since it goes (string, string, int, int, int)
03:33 samcv that should work...
03:33 samcv bisectable6, use nqp; say nqp::unicmp_s('a', 'b', 7,0,0,0)
03:33 bisectable6 samcv, Bisecting by output (old=2015.12 new=d69f375) because on both starting points the exit code is 1
03:33 bisectable6 samcv, bisect log: https://gist.github.com/671b​60247f0c93078c37b6247f72b9e7
03:33 bisectable6 samcv, (2016-12-30) https://github.com/rakudo/rakudo/commit/​3383361189bcd3a03c6b085746eb1109dfce953e
03:33 samcv that's unhelpful
03:36 MasterDuke samcv: is the signature 3 or 4 ints?
03:36 milesrout what's the difference between ... !!! and ???
03:37 milesrout are they basically meant to mean 'not implemented', 'fatal error' and 'wtf???'
03:37 milesrout oh nvm i can't read, fail/die/warn
03:38 MasterDuke samcv: btw, it would be good to add unicmp to https://github.com/perl6/nqp/​blob/master/docs/ops.markdown
03:39 noganex joined #perl6
03:59 kst` joined #perl6
04:10 samcv nqp: say(nqp::unicmp_s('a', 'b', 7,0,0,0))
04:10 camelia nqp-moarvm: OUTPUT«1␤»
04:10 samcv :\ whyyyyyy
04:10 samcv dammit rakudo
04:14 liz_ joined #perl6
04:15 dugword joined #perl6
04:22 Actualeyes joined #perl6
04:27 samcv i love this atom plugin so much
04:28 cale2 samcv: what does the plugin do for you that you love?
04:28 samcv https://imgur.com/a/eLG42
04:28 samcv look at the right panel
04:28 samcv it populates with all Classes, Routine's and Operators now that I have it setup
04:29 samcv and i can click on the thing on the right panel and it'll go directly to that part of the file
04:29 samcv haven't added methods yet, maybe gonna do that idk
04:30 cale2 milesrout:  I agree that the operations can be obscene at times. I come from a more haskelly/functional background, so I'm more interested in the type system
04:30 samcv is that not awesome?
04:30 cale2 milesrout: I think it's better to show off how perl6 lets you write much more declarative code than showing off crazy operator chains :)
04:30 samcv might as well add methods now, since you can collapse the lists anyway
04:31 cale2 samcv: I am DEFINITELY downloading that asap
04:31 samcv yeah let me put my config for it online
04:31 cale2 I switched to VS Code because Atom was too slow
04:32 samcv it's nav-marker-plus
04:32 cale2 maybe it's gotten faster?
04:32 samcv cale2, try the atom beta
04:32 samcv it's much faster
04:32 cale2 trying nw
04:33 cale2 I actually have an idea for a mini book about perl6
04:34 cale2 might throw a draft on gitbook in the future
04:35 samcv cale2, here's my nav marker rules https://github.com/samcv/dot-fil​es/blob/master/.nav-marker-rules
04:36 samcv i have it in the root of the project folder i'm working in
04:36 samcv though if i open more files and they open in the same folder, it also works fine
04:37 cale2 samcv: It's been a while since I looked at atom. not sure what to do with those rules lol
04:37 samcv put it in the projects folder you're working on
04:37 samcv there may be a way to make it global but i haven't done that
04:38 samcv but if you wanna try it out, throw it in the folder you keep some perl 6 files, then launch atom from terminal or something when you're in that folder
04:38 samcv like in the folder you put .nav-marker-rules in
04:39 samcv let me know if that works
04:45 xtreak joined #perl6
04:48 cale2 I'm confused about this: https://github.com/perl6/atom-l​anguage-perl6#how-do-i-use-this
04:48 agentzh okay, my perl 6 dialect compiler, fanlang, is powerful enough to run this simple arith expression calculator: https://gist.github.com/agentzh/​9b9d6799726657c99a210cf1e9566ff2
04:48 cale2 I just downloaded Atom and it comes with P6 highlighting automatically. So is this atom thing already built in?
04:49 agentzh for a 4.2MB randomly generated huge expression input, the generated program can complete in 0.7 sec.
04:49 samcv no it's not
04:49 agentzh for comparison, a similar perl 6 program completes in 101.372s with the latest rakudo :)
04:49 samcv the perl 6 highlighting sucks
04:49 samcv built into atom
04:50 samcv it's basically the perl 5 highlighter with classes and a few things added
04:50 samcv cale2, you can run `apm install language-perl6` in terminal
04:50 agentzh samcv: well, the grammar syntax is different from the perl 6 language. that's why i call fanlang a dialect :)
04:50 samcv or use the package center in atom
04:50 samcv wait what?
04:50 agentzh also wrote an equivalent arith expression calculator in perl 5/pegex, and it completes in 10.482s.
04:51 agentzh all for the same input.
04:51 samcv cale2, that how do i use this implies you have already installed it :P
04:51 samcv so .7 s for perl 6 and 10s for perl5 ?
04:52 cale2 samcv: Well there's language-per6 and language-perl6fe
04:52 samcv you want language-perl6
04:52 samcv that's what i said right?
04:52 Actualeyes joined #perl6
04:52 agentzh sammers: 0.7s for fanlang, 101s for rakudo, and 10s for perl5/pegex
04:52 samcv <samcv> cale2, you can run `apm install language-perl6` in terminal
04:52 samcv ah ok agentzh
04:52 agentzh sorry, i mean samcv
04:52 samcv source?
04:53 samcv cale2, language-perl6fe is the old one that is not up to date. language-perl6 is the newest version which was forked from the old one and became an official perl 6 org project
04:54 samcv you will install language-perl6, but in the bottom right corner where you see the name of the language it's using syntax highlighting for, it will still say "Perl 6 FE", the reason is because the perl syntax highlighter stole it so we have to use somethnig different
04:55 samcv but if you have language-perl6fe uninstall, since they will conflict, since they have the same scope as each other
04:56 samcv nice we're up to 232 downloads for language-perl6 \o/
04:57 samcv .ask DrForr will this be able to be merged? Readline 7 has been out for a while https://github.com/drforr/perl6-read​line/pull/15#issuecomment-276507278
04:57 yoleaux samcv: I'll pass your message to DrForr.
04:58 cale2 samcv: what should I name the files for it to pick up perl 6 fe right away?
04:59 samcv .p6, .pm6 .pl6
04:59 Cabanoss- joined #perl6
04:59 agentzh samcv: p6 version for the calculator: https://github.com/agentzh/perl-parsing-li​brary-benchmark/blob/master/calc-Rakudo.p6
04:59 samcv oh you're using grammars
04:59 agentzh samcv: and then the p5 version: https://github.com/agentzh/perl-parsing-li​brary-benchmark/blob/master/calc-Pegex.pl
05:00 agentzh and my fanlang version (again): https://gist.github.com/agentzh/​9b9d6799726657c99a210cf1e9566ff2
05:01 samcv what's fanlang?
05:02 samcv oh the perl 6 dialect
05:02 samcv that's pretty cool
05:02 agentzh right.
05:02 samcv i thought that's what you meant i just didn't see what fanlang was heh
05:02 agentzh fanlang is a perl 6 dialect compiler targeting LuaJIT and OpenResty.
05:03 agentzh we've been hacking on this thing since last November.
05:03 cale2 Just discovered this: https://docs.perl6.org/routine/andthen
05:03 cale2 Makes me so happy. Does it work yet?
05:03 agentzh the compiler itself is currently written in perl5/pegex and will soon be bootstrapped in fanlang itself :)
05:03 samcv yeah it is like `or` except uses defineness
05:04 samcv does luajit support regex?
05:05 agentzh samcv: openresty exposes the pcre jit API so that what fanlang currently uses. luajit's own regex is quite limited and cannot be JIT compiled.
05:06 agentzh *that's
05:06 samcv ah ok
05:06 samcv cale2, did you get language-perl6 working?
05:06 samcv and what about the nav-panel-plus?
05:06 cale2 There needs to be more talk about using definedness in p6
05:06 samcv talk?
05:06 agentzh fanlang does not support perl 6 regexes yet. we use a mixture of EBNF and perl 5 regexes.
05:07 agentzh the EBNF part is influenced mainly by Parse::RecDescent.
05:07 agentzh and also Pegex.
05:07 samcv cale2, have you read https://learnxinyminutes.com/docs/perl6/
05:07 cale2 A lot of people won't even think about using a language if it doesn't have some sort of Maybe or Option type
05:07 TEttinger heh, define "a lot"
05:07 cale2 TEttinger: "internet people"
05:08 cale2 But really, the fact that P6 has smileys on types is great. And it also has a control structures built in for checking them like "andthen"
05:08 samcv i am sad at how slow my UCD-gen.p6 script runs compared to the perl 5 one :(
05:09 cale2 It lets you write in a very different way. It sort of guides you to writing closer to Rust than Perl5 really
05:09 cale2 And the concept of Types being on the same level as Values
05:10 cale2 It's basically Idris' dumb cousin :)
05:10 cale2 anyway, goodnight
05:11 TEttinger yeah, type-level programming seems like a good goal for a lot of languages to strive for
05:11 mr_ron joined #perl6
05:12 samcv also
05:12 samcv m: my $a = 'a'; my $b = 'B'; say nqp::unicmp_s($a, $b, 7,0,0,0)
05:12 camelia rakudo-moar d69f37: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Could not find nqp::unicmp_s, did you forget 'use nqp;' ?␤at <tmp>:1␤------> 3 'B'; say nqp::unicmp_s($a, $b, 7,0,0,0)7⏏5<EOL>␤»
05:12 samcv how the hell do i fix this
05:12 samcv m: use nqp; my $a = 'a'; my $b = 'B'; say nqp::unicmp_s($a, $b, 7,0,0,0)
05:12 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
05:12 samcv it works perfect in nqp
05:13 samcv nqp: my $a := 'a'; my $b := 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
05:13 camelia nqp-moarvm: OUTPUT«1␤»
05:13 samcv helppp
05:13 KDr2 joined #perl6
05:13 samcv wtf is it trying to do
05:14 samcv hmm
05:14 samcv m: use nqp; my int $c = 7; my $a := 'a'; my $b := 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
05:14 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
05:15 samcv m: use nqp; my int $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
05:15 camelia rakudo-moar d69f37: OUTPUT«1␤»
05:15 samcv for some reason it's not giving it a native int
05:16 TEttinger not sure what := does differently from = there
05:16 samcv well
05:16 samcv that's not the reason for changes, nqp has to do :=
05:16 samcv m: use nqp; my $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
05:16 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
05:17 samcv it's trying to unbox 7 to a string
05:17 samcv but the op wants an integer
05:17 samcv it worked fine when i first introduced the op
05:17 TEttinger teh earlier ones said cannot unbox to integer
05:17 TEttinger and the last one to strig
05:17 samcv m: use nqp; my $c = 7; my $a = 'a'; my $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
05:17 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
05:18 samcv m: use nqp; my int $c = 7; my $a = 'a'; my $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
05:18 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
05:18 samcv m: use nqp; my int $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
05:18 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
05:18 TEttinger it produced the output 1 when all the vars had types
05:18 samcv m: use nqp; my int $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
05:18 camelia rakudo-moar d69f37: OUTPUT«1␤»
05:18 samcv m: use nqp; my $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
05:18 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤  in block <unit> at <tmp> line 1␤␤»
05:18 samcv m: use nqp; my int $c = 7; my $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
05:18 camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at <tmp> line 1␤␤»
05:18 samcv yeah
05:19 TEttinger is the issue that you don't have a certain type for what's calleed $c here?
05:21 samcv the problem is MVM is trying to convert to the wrong type
05:21 samcv it should be automatic
05:21 samcv at least for static numbers
05:21 TEttinger hm. is there more than one nqp::unicmp_s function?
05:22 samcv no
05:24 samcv it tries to unbox the integers to strings, and tries to unbox the strings to integers
05:24 samcv that is the issue
05:27 xtreak joined #perl6
05:32 geekosaur joined #perl6
05:38 BenGoldberg joined #perl6
06:16 zacts joined #perl6
06:33 alphah joined #perl6
06:35 hartenfels1 joined #perl6
06:40 DarthGandalf joined #perl6
06:43 eroux joined #perl6
06:44 CIAvash joined #perl6
06:48 eroux joined #perl6
06:50 RabidGravy joined #perl6
06:53 domidumont joined #perl6
06:54 azertus joined #perl6
06:59 domidumont joined #perl6
07:15 xtreak joined #perl6
07:15 Entonian joined #perl6
07:17 darutoko joined #perl6
07:21 rurban joined #perl6
07:21 rurban left #perl6
07:28 mr_ron joined #perl6
07:28 wamba joined #perl6
07:52 sena_kun joined #perl6
08:02 cibs joined #perl6
08:22 sena_kun m: multi f(:$named) { note &?ROUTINE.signature }; multi f(:$also-named) { note &?ROUTINE.signature }; for 'named', 'also-named' -> $n { f(|($n => rand)) };
08:22 camelia rakudo-moar 951a44: OUTPUT«(:$named)␤(:$also-named)␤»
08:27 mr_ron joined #perl6
08:29 cibs joined #perl6
08:45 sena_kun m: sub f(:$also-named) { note &?ROUTINE.signature }; my %pairs = also-named => 4; f |%pairs;
08:45 camelia rakudo-moar 951a44: OUTPUT«(:$also-named)␤»
08:46 Geth ¦ doc: bac11b6605 | Altai-man++ | doc/Type/UInt.pod6
08:46 Geth ¦ doc: Clarification of output style, correct output, deletion of :skip-code declaration
08:46 Geth ¦ doc: review: https://github.com/perl6/doc/commit/bac11b6605
08:46 Geth ¦ doc: 877fe8e1cf | Altai-man++ | doc/Type/Signature.pod6
08:46 Geth ¦ doc: Correct example to match output
08:46 Geth ¦ doc: review: https://github.com/perl6/doc/commit/877fe8e1cf
08:48 abraxxa joined #perl6
08:49 zakharyas joined #perl6
08:50 abraxxa joined #perl6
08:52 g4 joined #perl6
08:52 g4 joined #perl6
09:00 cschwenz joined #perl6
09:00 abraxxa joined #perl6
09:00 cschwenz left #perl6
09:02 jonas3 joined #perl6
09:16 dakkar joined #perl6
09:24 ufobat joined #perl6
09:28 moritz \o/ brokenchicken's grant request has been granted: http://news.perlfoundation.org/201​7/01/january-2017-grant-votes.html
09:38 domidumont joined #perl6
09:38 samcv brokenchicken++
09:39 Geth ¦ doc: f5d74e5967 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
09:39 Geth ¦ doc: explain how to disambiguate meta ops
09:39 Geth ¦ doc: review: https://github.com/perl6/doc/commit/f5d74e5967
09:40 gfldex .then: { brokenchicken++ }
09:41 gfldex I think we have a problem here. When his work is done his name will have changed again, so we cant attribute karma. :(
09:41 bartolin \o/ Zoffix++
09:42 sena_kun gfldex, do we actually count karma here?
09:43 gfldex no but moritz (i believe) got all the logs, so we could if we wanted to
09:43 samcv well i have made the processing of the biggest unicode data file 50% faster, so that's good. still is wayyy slow
09:44 gfldex sena_kun: besides, the graph section on github is a good substitute
09:46 gfldex m: my $i₂ = 2;
09:46 camelia rakudo-moar 951a44: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Bogus postfix␤at <tmp>:1␤------> 3my $i7⏏5₂ = 2;␤    expecting any of:␤        constraint␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement…»
09:47 sena_kun gfldex, by the way, what do you think about Language/ section examples? I started to dig into it, but we need to exclude more than actual check.
09:48 gfldex i did some of them already and if we can we should have them completely covered
09:51 sena_kun gfldex, hmm, okay, I'll continue it. Do you have time and enough passion to look on the third clause of https://github.com/perl6/doc/iss​ues/776#issuecomment-274376637? It looks like extract-examples.p6 with preserving of output state, cheking of exit code and comparsions.
09:52 sena_kun s/cheking/checking
09:54 gfldex sena_kun: # OUTPUT: «3␤» is very easy to parse, so if we (or anybody else who makes pdfs) changes his mind about rendering, can take them apart and show them as it pleases
09:56 eiro joined #perl6
09:56 eiro hello
09:56 gfldex we could even do that via javascript on demand
09:56 moritz \o eiro
09:56 sena_kun gfldex, we don't do pdfs now. I tried to do one with wkhtmltopdf(by moritz advice iirc) and bigpage output, but the result was horrible.
09:56 gfldex or CSS for that matter
09:57 gfldex bigpage was kind of a prototype for Pod::To::LaTeX but I refuse to implement that until jnthn fixed the bug that makes bigpage act up with more then 1 worker-thread
09:58 sena_kun gfldex, my concern is not a pretty look, but checking of correctness of comments.
09:58 gfldex LaTeX fiddeling needs loads of testing and I am not going to wait 3 minutes for each run
09:58 gfldex so you want to compare output?
09:59 gfldex i'm not sure if that's a good idea because we do have truncated quite a few outputs already
09:59 gfldex and there a quite a few lies-for-children too
10:01 rindolf joined #perl6
10:01 gfldex the reason why I started to check the examples was that many of them predated GLR, once we got them all checked we will be good and can put the issue at rest
10:02 gfldex being able to compile all examples once in a while is a nice bonus ofc
10:02 sena_kun gfldex, otherwise the examples will rot. After a half of year I've returned and fixed a bucket(not TOO MUCH, but maybe 5 or something files) of errors. Almost nobody checks it with `extract-examples`.
10:03 sena_kun Though I don't know is it a serious problem or not.
10:03 gfldex when they all compile we can have a xt/extract-examples.t
10:03 gfldex so it becomes a problem of [Coke] :->
10:04 sena_kun If not, I'll cover Language/, make a single style of the output in Language/, then we need to update CONTRIBUTION and close the issue.
10:05 sena_kun Yes, I thought exactly about some kind of xt/extract-examples.t. To check exit codes or something. Rakudo returns non-zero if compilation fails, yes?
10:05 gfldex yes
10:07 sena_kun Such a test even I will be able to write. Thanks. \0/
10:14 samcv bisectable6, help
10:14 bisectable6 samcv, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
10:14 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=128181
10:14 samcv bisectable6, use nqp; say(nqp::unicmp_s('a', 'B', 7, 0, 0,0))
10:14 bisectable6 samcv, Bisecting by output (old=2015.12 new=951a441) because on both starting points the exit code is 1
10:14 bisectable6 samcv, bisect log: https://gist.github.com/9bca​f3ce98bc15f5b522dbea2588c4af
10:14 bisectable6 samcv, (2016-12-30) https://github.com/rakudo/rakudo/commit/​3383361189bcd3a03c6b085746eb1109dfce953e
10:15 samcv bisectable6, old=3383361189bcd3a03c6b085746eb1109dfce953e use nqp; say(nqp::unicmp_s('a', 'B', 7, 0, 0,0))
10:15 bisectable6 samcv, On both starting points (old=3383361 new=951a441) the exit code is 1 and the output is identical as well
10:15 bisectable6 samcv, Output on both points: This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at /tmp/1RCbjECy_u line 1␤
10:16 samcv bisectable6, old=3383361189bcd3a03c6b085746eb1109dfce953e new=HEAD use nqp; say(nqp::unicmp_s('a', 'B', 7, 0, 0,0))
10:16 bisectable6 samcv, On both starting points (old=3383361 new=951a441) the exit code is 1 and the output is identical as well
10:16 bisectable6 samcv, Output on both points: This type cannot unbox to a native integer: P6opaque, Str␤  in block <unit> at /tmp/jUBc1ddQ2z line 1␤
10:17 espadrine_ joined #perl6
10:24 bjz joined #perl6
10:27 cibs joined #perl6
10:29 xtreak joined #perl6
10:32 astj_ joined #perl6
10:34 xtreak joined #perl6
10:35 agentzh joined #perl6
10:41 travis-ci joined #perl6
10:41 travis-ci Doc build passed. Zoffix Znet 'Minor clarifications for S/// / s///
10:41 travis-ci https://travis-ci.org/perl6/doc/builds/196998464 https://github.com/perl6/doc/com​pare/df9d1155b89e...08cfdd8e8a76
10:41 travis-ci left #perl6
10:48 TBSliver joined #perl6
10:54 rurban joined #perl6
10:54 rurban left #perl6
11:02 brokenchicken w00t! I should start cracking.
11:03 brokenchicken I don't get what "Voting Results Title: Test2 Manual" is about. copy/pasta
11:03 brokenchicken samcv: have you heard back about your grant?
11:04 samcv no word back since the last time we spoke about it
11:04 brokenchicken :(
11:05 samcv seems like i may have to wait until march :(
11:06 brokenchicken Sorry.
11:08 samcv it is what it is. glad to hear yours got approved
11:09 skids joined #perl6
11:16 parv joined #perl6
11:17 bjz joined #perl6
11:23 bjz_ joined #perl6
11:23 g4 joined #perl6
11:33 travis-ci joined #perl6
11:34 travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'doc interpolation of colon pairs in identifiers'
11:34 travis-ci https://travis-ci.org/perl6/doc/builds/197105183 https://github.com/perl6/doc/com​pare/06b079bf9b30...855373899156
11:34 travis-ci left #perl6
11:35 brokenchicken hehe, gitlab accidentally wiped 300GB of production data: https://twitter.com/gitlabsta​tus/status/826591961444384768
11:36 brokenchicken And developers all around the world are now reminded to check their backup solutions are working :P
11:37 * brokenchicken recentlky accidentally nuked ~1000 bytes of production data himself
11:46 notbenh joined #perl6
11:48 brokenchicken Someone was asking about early access ebook for Think Perl 6. The author just posted an updated on that: https://www.reddit.com/r/perl6/comments/5r9t8g/n​ew_book_being_published_on_perl_6_think_perl_6/
11:57 * DrForr recently backed up all his GH repos, not even in a response to an issue :)
11:57 yoleaux 04:57Z <samcv> DrForr: will this be able to be merged? Readline 7 has been out for a while https://github.com/drforr/perl6-read​line/pull/15#issuecomment-276507278
11:57 DrForr samcv: Done this morning.
11:58 samcv nice :)
11:58 DrForr I need to get some more done on that, but I say that about most projects :)
12:00 El_Che brokenchicken: sadly, not yet in the safari bookshelf (just checked)
12:04 DrForr Reminds me, I need to get my free Safari membership straightened out.
12:17 wamba joined #perl6
12:28 rurban1 joined #perl6
12:28 domidumont joined #perl6
12:37 luiz_lha joined #perl6
12:43 cyphase_eviltwin joined #perl6
12:51 bjz joined #perl6
12:54 pmurias joined #perl6
12:58 imcsk8_ joined #perl6
12:58 espadrine joined #perl6
12:59 eroux joined #perl6
13:00 pyrimidi_ joined #perl6
13:01 dogbert17_ joined #perl6
13:03 imcsk8 joined #perl6
13:03 geekosaur joined #perl6
13:05 eroux joined #perl6
13:05 jcallen joined #perl6
13:05 eythian joined #perl6
13:07 freeze joined #perl6
13:08 kst` joined #perl6
13:11 awwaiid joined #perl6
13:12 pmurias joined #perl6
13:15 bitmap joined #perl6
13:17 ChoHag joined #perl6
13:20 kybr joined #perl6
13:26 pyrimidine joined #perl6
13:36 perlpilot joined #perl6
13:46 KDr2 joined #perl6
14:00 mr_ron joined #perl6
14:00 ggoebel joined #perl6
14:03 cdg joined #perl6
14:05 domidumont joined #perl6
14:21 kurahaupo joined #perl6
14:26 kurahaupo__ joined #perl6
14:34 kurahaupo_ joined #perl6
14:37 agentzh joined #perl6
14:39 travis-ci joined #perl6
14:39 travis-ci Doc build passed. Altai-man 'Correct example to match output'
14:39 travis-ci https://travis-ci.org/perl6/doc/builds/197229540 https://github.com/perl6/doc/com​pare/1be171ca3674...877fe8e1cfb3
14:39 travis-ci left #perl6
14:42 travis-ci joined #perl6
14:42 travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'explain how to disambiguate meta ops'
14:42 travis-ci https://travis-ci.org/perl6/doc/builds/197241454 https://github.com/perl6/doc/com​pare/877fe8e1cfb3...f5d74e59677e
14:42 travis-ci left #perl6
15:01 * [Coke] has to force install openssl, io::...:ssl and lwp::simple . :(
15:04 sammers joined #perl6
15:11 dugword joined #perl6
15:13 timotimo btw, is the profile html thingie b0rked for anybody else? allocations, gc, and osr/deopt tabs don't show anything :<
15:13 timotimo i mean, they show some html
15:13 timotimo but no data in it
15:16 Ulti is Laurent Rosenfeld someone on here with a fun name?
15:17 brokenchicken don't recall which, but some fields in the profiler always showed NaN% for me
15:20 [Coke] timotimo: is it a big data set?
15:21 timotimo small
15:21 [Coke] samcv: looking at htmlify.p6 in atom, I see this code:
15:21 timotimo under 200 GC runs
15:21 [Coke] note "{c[0]} got badchar"
15:22 [Coke] where the c in the brackets appears to be string-colored.
15:23 [Coke] saw in backscroll something about a class viewer for perl6 - is that part of the default perl6 language pack, or is something else needed?
15:26 [Coke] samcv++
15:28 bwisti joined #perl6
15:29 timotimo it's a configuration for a more general atom plugin
15:30 timotimo get "nav marker" and put this in your perl6 code folder https://github.com/samcv/dot-fil​es/blob/master/.nav-marker-rules
15:33 [Coke] trying to install nav marker from inside atom, don't see it.
15:33 timotimo oh!
15:33 timotimo sorry, it's nav-panel-plus apparently
15:35 liz_ joined #perl6
15:36 liz_ Hi all, Is there any perl6 plugin for intellij, something like what it does for java classes, autoimporting and autocomplete and also gives a quick description of what that class does
15:37 moritz liz_: not that I'm aware of
15:38 liz_ okay! thanks
15:41 ocbtec joined #perl6
15:43 * [Coke] now has it working.
15:43 [Coke] timotimo++ samcv ++
15:44 [Coke] samcv: htmlify has a line that fools nav-marker-rules: # .... "class FooBar"
15:59 st_elmo joined #perl6
16:01 El_Che liz_: no. I use the Go and Perl5 plugin myself. The Perl 5 author wanted to write a Perl 6 as well, but hasn't had the time
16:05 rindolf joined #perl6
16:11 pyrimidine joined #perl6
16:12 Geth ¦ doc: cf5e680892 | (Will "Coke" Coleda)++ | doc/Language/performance.pod6
16:12 Geth ¦ doc: Remove reference to prof-m
16:12 Geth ¦ doc:
16:12 Geth ¦ doc: Closes #1147
16:12 Geth ¦ doc: review: https://github.com/perl6/doc/commit/cf5e680892
16:22 kurahaupo joined #perl6
16:29 brokenchicken Wonder how oftenn github pulls updates from our atom highlighter. The section below this line has messed up highlights, but looks fine in my editor on latest version of plugin: https://github.com/rakudo/rakudo/b​lob/951a441/src/core/Str.pm#L1146
16:35 mspo maybe you have to do a PR to atom?
16:35 mspo the world's slowest editor
16:36 mspo although perl people who were used to komodo probably don't mind :)
16:36 brokenchicken heh, komodo
16:37 mspo the world's other slowest editor
16:37 kurahaupo` joined #perl6
16:37 brokenchicken ...clearly you never used Aptana :P
16:38 mspo never heard of it
16:38 hobbs I once used an Aptiva
16:39 brokenchicken http://www.aptana.com/  Though I last used it nearly a decade ago and I see "Rebuilt from the ground-up. It's now much faster" on that page :P
16:40 mspo I mean developers don't mind slowness in general
16:40 mspo look at eclipse
16:40 brokenchicken What's the URL to one-page docs?
16:40 mspo I guess eclipse offers "a lot" in return for its various terrors
16:41 brokenchicken I could've sworn I added a link somewhere on the site so I wouldn'ty be struggling trying to find the URL next time I needed it :/
16:41 pyrimidine joined #perl6
16:41 brokenchicken https://docs.perl6.org/perl6.xhtml
16:41 kurahaupo__ joined #perl6
16:43 brokenchicken wtf is Z<< >> in POD?
16:44 perigrin last.
16:44 brokenchicken last?
16:44 perigrin when sorted alphabetically
16:44 brokenchicken huh
16:45 * perigrin is making things up.
16:45 [Coke] The Z<> formatting code indicates that its contents constitute a zero-width comment, which should not be rendered by any renderer. For example:
16:45 brokenchicken :(
16:45 [Coke] (from S26)
16:45 Juerd Haha
16:45 Juerd "For example: " <- is there a Z<> in there? :)
16:45 perigrin God I hope so
16:47 pochi joined #perl6
16:47 Geth ¦ doc: 2e7ba9875b | (Zoffix Znet)++ | doc/HomePage.pod6
16:47 Geth ¦ doc: Add links to one-page docs
16:47 Geth ¦ doc:
16:47 Geth ¦ doc: Stuff it in a place where Z«» for 'download all' is.
16:47 Geth ¦ doc: review: https://github.com/perl6/doc/commit/2e7ba9875b
16:47 brokenchicken Ah. I see a bunch of Z«» in https://github.com/perl6/doc/​blob/master/doc/HomePage.pod6
16:52 Geth ¦ doc: 099cf0527a | (Will "Coke" Coleda)++ | xt/words.pws
16:52 Geth ¦ doc: learn new word
16:52 Geth ¦ doc: review: https://github.com/perl6/doc/commit/099cf0527a
16:52 domidumont joined #perl6
16:53 agentzh joined #perl6
16:54 robertle joined #perl6
16:55 robertle at some point in the past I managed to raise a bug on the perl6 queue of rt.perl.org, now I don't seem able to do that anymore. has anything changed? am I just too stupid?
16:55 brokenchicken robertle: due to spam the button was disabled. Just email to rakudobug@perl.org
16:56 eroux joined #perl6
16:56 robertle specific format, or is that picked up by a human?
16:56 timotimo just put the text in the body and big extra text into attachments
16:56 timotimo that should do fine
16:56 brokenchicken No humans. Umm.. just write like you'd normally write it.
16:56 robertle k, thanks!
16:57 timotimo well, humans do get it, but just because it'll end up on RT :)
16:57 timotimo oh, you can also CC perl6-compiler@perl.org
16:58 [Coke] timotimo: that happens automatically
16:59 [Coke] (for the initial email. a copy is sent from RT to -compiler - it's the -followups- that are tricky-ish)
16:59 timotimo oh? because i seem to recall you always have to make extra sure that gets turned on
16:59 timotimo ok!
16:59 [Coke] timotimo: first one's free
16:59 brokenchicken That's when replying on ticket itself. New tickets get emailed automagically.
17:00 pyrimidine joined #perl6
17:01 ocbtec joined #perl6
17:01 * [Coke] discovers "control-command-space" on os x. 😀
17:03 Cabanossi joined #perl6
17:08 nine Why should one use Perl 6 for web stuff?
17:09 sena_kun Does "is encoded" trait work?
17:10 nine Or rather, why would one want to use Perl 6 for web stuff?
17:11 timotimo it does unicode very well, of course
17:11 brokenchicken And easy concurrency
17:11 timotimo in this day and age of everything moving way too fast, it'll let you take a second to think about the finer points of life while you're waiting for pages to get served
17:11 brokenchicken or parallelism
17:12 pmurias brokenchicken: do you need concurrency for web stuff?
17:12 ugexe so I can use lazy lists
17:12 brokenchicken pmurias: it's vital
17:12 brokenchicken That's why Bailador sucks. It can't do anything concurrent. A page that takes a second to load makes everyone trying to use your app wait for that one request to finish
17:13 brokenchicken For comparison: a single request on perl6.party can take up to 30s when people run the in-site code examples and set them to something long and stupid
17:14 nine brokenchicken: isn't Crust supposed to add the parallelism part?
17:14 brokenchicken to Bailador?
17:14 mspo http/2 demands good concurrency
17:14 mspo 1.1 less so
17:14 brokenchicken Dunno. I've not used it since last April. I guess to reword: Bailador doesn't suck. I just had a very bad experience with it last time I tried it last April
17:15 brokenchicken mhm, yeah even more vital with http/2
17:16 pmurias nine: isn't paralleism sort of the opposite of concurrency (doing one thing on multiple processors rather than doing multiple things at once)
17:16 nine A rather small patch can speed up Bailador a lot, before you even begin to think about parallelism.
17:16 pmurias ?
17:16 brokenchicken But if the question is why people should use Perl 6 for Web *today*, sadly IMO they shouldn't.
17:16 nine brokenchicken: I did not ask if they should but why they would want to :)
17:16 brokenchicken :D
17:17 brokenchicken Perl 6 is dynamically typed and very nice to prototype in
17:17 * nine is just going to show what's possible, not make any recommendations.
17:18 * TimToady read that as "recriminations"...
17:19 timotimo given how memory-hungry rakudo is, still, i wouldn't do perl6 web stuff without frequently restarting worker processes
17:19 mspo do any of perl6's fancy data types map well into web-world?
17:20 TimToady it's a mixed Bag :)
17:20 mst brokenchicken: won't async-await fix that?
17:21 nine pmurias: the way I see it, parallelism is a superset of concurrency. Not only can multiple things being in progress at the same time, they do not block each other (necessarily).
17:22 zakharyas joined #perl6
17:22 brokenchicken mst: if the problem is still the same as last year when I last looked at it, then no. The entire design was around serially processing each request, waiting for the route to generate response data before responding and only then handling the next request.
17:23 mst and no preforking to make that actually viable?
17:23 brokenchicken nope
17:23 brokenchicken But ufobat knew of the issue back then. I dunno; maybe it's fixed already.
17:27 geekosaur joined #perl6
17:28 nine Catalyst cannot do any parallel processing either. It needs starman and friends for that and that's perfectly ok.
17:28 mspo I think you need to start earlier in the process to get something good
17:28 mspo like how cowboy (erlang) is structured
17:28 timotimo if you have an actually multithreaded server, that invites you to share data in-process, at which point things go terribly wrong :D
17:29 mspo protocol abstrations -> common form -> stuff
17:29 AlexDaniel joined #perl6
17:30 wamba joined #perl6
17:31 lukaramu joined #perl6
17:32 pyrimidine joined #perl6
17:32 mspo Ranch -> Cowlib -> Cowboy, specifically
17:33 mspo I think I got that right
17:33 timotimo that's cute
17:33 TimToady well, if you're gonna share data, it has to be one of: immutable, owned, lockable
17:33 timotimo i always had a soft spot for Outlaw Techno Psychobitch in my heart ever since i saw Erlang: The Movie 2
17:33 mspo I didn't care for the movie 2
17:33 mspo elixir looks kind of neat, though
17:33 mspo erlang with utf8 strings :)
17:34 TimToady well, there's also software transactional, I suppose, but that could be construed as a form of locking
17:34 timotimo utf8 strings is how you get mojibake when trimming strings :)
17:35 timotimo the movie 2 is a very internet thing, and that's what made it endearing to me
17:35 mspo the movie 1 is pretty great
17:35 timotimo it is also very The Decade It Was Made In :)
17:35 timotimo which also makes it quite endearing, IMO
17:35 timotimo BBIAB
17:38 rurban joined #perl6
17:39 brokenchicken m: my $str = 'foobar'; $str ~~ s{bar} = {'x'}; say $str
17:39 camelia rakudo-moar 97359a: OUTPUT«Block object coerced to string (please use .gist or .perl to do that)␤  in block <unit> at <tmp> line 1␤foo␤»
17:39 brokenchicken m: my $str = 'foobar'; $str ~~ s{bar} = {}; say $str
17:39 camelia rakudo-moar 97359a: OUTPUT«foo␤»
17:40 brokenchicken So what's the trick there?
17:40 brokenchicken m: my $str = 'foobar'; $str ~~ s{bar} = ['x']; say $str
17:40 camelia rakudo-moar 97359a: OUTPUT«foox␤»
17:40 brokenchicken hmmmm
17:41 brokenchicken Ah. OK. I get it. It's just code and {} doesn't cry 'cause it's a hash
17:43 cdg joined #perl6
17:45 stux|RC-only joined #perl6
17:48 khw joined #perl6
17:54 El_Che nine: not an answer to your question, but in my experience is people picking up a language for something (e.g. system programming), expect very often to easily write webstuff as well in the future (e.g. REST APIs). Think of the whole micro-service thing.
18:00 pyrimidine joined #perl6
18:06 Vynce joined #perl6
18:11 brokenchicken m: my $x = 'foo'; $x ~~ s['f'(.+)] = {"$0"}; say $x
18:11 camelia rakudo-moar 97359a: OUTPUT«Block object coerced to string (please use .gist or .perl to do that)␤  in block <unit> at <tmp> line 1␤␤»
18:11 brokenchicken There ain't a way to reference captures in this for, is there?
18:13 brokenchicken m: my $x = 'foo'; $x ~~ s['f'(.+)] = class {method Str{ 'heh' } }; say $x
18:13 camelia rakudo-moar 97359a: OUTPUT«heh␤»
18:13 brokenchicken I'll assume no
18:16 pyrimidine joined #perl6
18:20 Geth ¦ doc: 80c6f0bdad | (Zoffix Znet)++ | doc/Language/operators.pod6
18:20 Geth ¦ doc: Improve S/// / s/// docs
18:20 Geth ¦ doc:
18:20 Geth ¦ doc: - Update to include changes brought by today's Rakudo fix:
18:20 Geth ¦ doc:     https://github.com/rakudo/rakudo/commit/97359ae42e
18:20 Geth ¦ doc: - Split s/// and S/// into separate sections so it's easier to
18:20 Geth ¦ doc:     understand the difference between usages, behaviour, and
18:20 Geth ¦ doc:     different return values.
18:20 Geth ¦ doc: <…commit message has 7 more lines…>
18:20 Geth ¦ doc: review: https://github.com/perl6/doc/commit/80c6f0bdad
18:20 skids joined #perl6
18:24 timotimo https://docs.perl6.org/language​/operators#Reduction_Operators - i feel like this should either say &infix:<+> instead of &[+], or it should explain that &[+] isn't "like [+], but a little different", but "something entirely different"
18:27 AlexDaniel u:
18:27 unicodable6 AlexDaniel, U+001D <control-001D> [Cc] (control character)
18:27 Geth ¦ doc: 917013ac14 | (Zoffix Znet)++ | doc/Language/operators.pod6
18:27 Geth ¦ doc: Use &infix:<+> instead of &[+]
18:27 Geth ¦ doc:
18:27 Geth ¦ doc: To make it more obvious that sort of op is given to reduce.
18:27 Geth ¦ doc: https://irclog.perlgeek.de/​perl6/2017-02-01#i_14026232
18:27 Geth ¦ doc: review: https://github.com/perl6/doc/commit/917013ac14
18:27 pyrimidine joined #perl6
18:30 brokenchicken AlexDaniel: that lookup is unrelated to my edits, is it? I copy-pasted examples from HexChat and sometimes it includes crap :S
18:32 AlexDaniel brokenchicken: geth prints it
18:32 AlexDaniel “doc: →←<…commit”
18:32 brokenchicken u: doc: <
18:32 unicodable6 brokenchicken, U+0064 LATIN SMALL LETTER D [Ll] (d)
18:32 unicodable6 brokenchicken, U+006F LATIN SMALL LETTER O [Ll] (o)
18:32 unicodable6 brokenchicken, https://gist.github.com/0429​2b3abdbe0c6c70d11242f1e79a62
18:33 AlexDaniel brokenchicken: no, your copy-paste is broken
18:33 AlexDaniel brokenchicken: you pasted it without that character
18:33 AlexDaniel or whatever, maybe your terminal eats the character
18:33 brokenchicken u: : <
18:33 unicodable6 brokenchicken, U+003A COLON [Po] (:)
18:33 unicodable6 brokenchicken, U+0020 SPACE [Zs] ( )
18:33 unicodable6 brokenchicken, U+003C LESS-THAN SIGN [Sm] (<)
18:33 brokenchicken Or maybe your irc client adds it? :)
18:33 AlexDaniel no.
18:34 AlexDaniel Geth definitely printed it, I see it with my eyes :D
18:34 brokenchicken Oh
18:34 brokenchicken It's meant to show up as italic: https://github.com/perl6/geth/blob/mast​er/lib/Geth/Plugin/GitHub.pm6#L132-L133
18:34 AlexDaniel ooooooooooooh…
18:34 z448 joined #perl6
18:42 Geth joined #perl6
18:51 labster joined #perl6
18:52 pyrimidine joined #perl6
18:52 TEttinger joined #perl6
18:59 travis-ci joined #perl6
18:59 travis-ci Doc build passed. Altai-man 'Merge pull request #1171 from antquinonez/master
18:59 travis-ci https://travis-ci.org/perl6/doc/builds/197039573 https://github.com/perl6/doc/com​pare/0abaf2508fbb...06b079bf9b30
18:59 travis-ci left #perl6
19:00 buggable joined #perl6
19:00 agentzh joined #perl6
19:01 robertle joined #perl6
19:06 cale2 joined #perl6
19:06 cale2 hey all
19:06 [Coke] ho
19:06 cale2 Just came across this website today: http://pleac.sourceforge.net/
19:06 cale2 I think it originally came from the Perl Cookbook
19:07 FROGGS joined #perl6
19:07 cale2 Is that website still used by people as a cross reference between languages?
19:08 [Coke] never heard of it. But Perl 6 has a ton of example at rosettacode
19:08 cale2 Yeah, the website looks a bit old. I'm wondering if Rosetta Code is the new version
19:08 [Coke] http://rosettacode.org/wiki/Category:Perl_6
19:08 [Coke] there are 860 pages in the P6 category.
19:09 cale2 Aren't most Rosetta code examples like really hard problems though? And there's no easy way to view them side by side
19:09 [Coke] unicode barf: http://rosettacode.org/wik​i/Reverse_a_string#Perl_6
19:10 [Coke] cale2: can't help you there.
19:10 girafe joined #perl6
19:10 cale2 [Coke] https://rosetta.alhur.es/
19:11 cale2 Would be nice to get Perl6 on there next to Perl
19:11 brokenchicken Well volunteered! :)
19:11 [Coke] This site can’t be reached
19:11 [Coke] presumably they have a slightly wonky SSL cert.
19:11 cale2 I'll fork it or submit an issue lol
19:12 AlexDaniel heh… if you find something on sourceforge, most likely nobody is using it…
19:12 brokenchicken :D
19:13 brokenchicken The problem with rosetta code is people bend over backwards to shove all the "cool" features of the language, making the examples overly convoluted, hard to read, and non-idiomatic :(
19:13 mspo yeah, TimToady
19:13 mspo learn some idiomatic p6
19:13 cdg joined #perl6
19:13 brokenchicken :)
19:13 brokenchicken He's not the only contributor.
19:14 mspo stop showing off
19:14 cale2 Seemingly, it's as simply as asking the dev to add "Perl6" to this https://github.com/fiatjaf/rosetta.​alhur.es/blob/master/languages.json
19:15 espadrine_ joined #perl6
19:15 sena_kun cale2, and to find a someone who will solve all the tasks in a pretty way, right?
19:16 cale2 sena_kun: Will be easier to find tasks that need "sprucing up" if we can see them side by side with other code maybe
19:17 cale2 see Perl6 solution next to $lang, "oh maybe this solution could be more clear", etc
19:18 sena_kun cale2, "easier to find tasks" - just randomly choose any and do it, what can be more simple? Or do you have already solved tasks for their list?
19:18 cale2 sena_kun there's already a million that are solved
19:18 brokenchicken There's no way to see all Perl 6 solutions on one page?
19:19 sena_kun cale2, ah, okay. Then don't mind me. :)
19:19 cdg_ joined #perl6
19:20 sena_kun m: say [+] [1,2,3,4];
19:20 camelia rakudo-moar 97359a: OUTPUT«10␤»
19:20 pyrimidine joined #perl6
19:20 Geth ¦ doc: b27f186fcd | (Will "Coke" Coleda)++ | assets/sass/style.scss
19:20 Geth ¦ doc: give a little padding to external link icon
19:20 Geth ¦ doc:
19:20 Geth ¦ doc: Closes #1132
19:20 Geth ¦ doc: review: https://github.com/perl6/doc/commit/b27f186fcd
19:21 cale2 "cyclic dwimmery"   http://rosettacode.org/wiki/​Vigen%C3%A8re_cipher#Perl_6
19:22 cale2 solved by Dr. Seuss
19:22 Geth ¦ doc: 2219c6929a | (Will "Coke" Coleda)++ | xt/code.pws
19:22 Geth ¦ doc: learn new code snippet
19:22 Geth ¦ doc: review: https://github.com/perl6/doc/commit/2219c6929a
19:23 cdg joined #perl6
19:26 sakawaka joined #perl6
19:27 cdg__ joined #perl6
19:27 sakawaka How do I concurrently run a function every 10 seconds or so in the background of a program?
19:27 sakawaka for as long as the program stays alive
19:27 cale2 sakawak: Pretty sure you just make a start block and then proceed on
19:28 brokenchicken m: start react whenever Supply.interval(1) { say "Hello, at $_ secs" }; say "sleepy sleepy"; sleep 5
19:28 camelia rakudo-moar 97359a: OUTPUT«sleepy sleepy␤Hello, at 0 secs␤Hello, at 1 secs␤Hello, at 2 secs␤Hello, at 3 secs␤Hello, at 4 secs␤»
19:28 brokenchicken Change 1 to 10 and done
19:28 sakawaka I see, thank you
19:29 brokenchicken m: start Supply.interval(1).tap: &say; say "sleepy sleepy"; sleep 5
19:30 camelia rakudo-moar 97359a: OUTPUT«sleepy sleepy␤0␤1␤2␤3␤4␤»
19:30 brokenchicken guess that's more concise
19:31 jnthn Don't need the start there
19:31 jnthn Supply.interval implies thread pools cheduler
19:31 brokenchicken Oh ruight
19:31 jnthn *pool scheduler
19:31 brokenchicken :D jnthn++
19:31 brokenchicken m: Supply.interval(1).tap: &say; say "sleepy sleepy"; sleep 5
19:31 camelia rakudo-moar 97359a: OUTPUT«sleepy sleepy␤0␤1␤2␤3␤4␤»
19:32 Geth ¦ doc: 33c216bf4a | (Will "Coke" Coleda)++ | CONTRIBUTING.md
19:32 Geth ¦ doc: update bug report notes for #1077
19:32 Geth ¦ doc: review: https://github.com/perl6/doc/commit/33c216bf4a
19:42 brokenchicken So constant $foo in a Foo.pm6 makes it available in perl6 -I. -MFoo -e 'say $foo' because that's an `our` and $foo lives in GLOBAL namespace.
19:43 brokenchicken How come it doesn't work if you also add Bar.pm6 with `unit module Bar; sub foo is export { say $foo }`; and run with perl6 -I. -MFoo -MBar -e ''; it complains $foo isn't there. But doesn't the Bar see the GLOBAL namespace that has been populated with $foo when Foo was loaded?
19:45 brokenchicken Hm, and in just-Foo version, $foo in main script shows up in MY::.keys and not GLOBAL::.keys
19:45 * brokenchicken doesn't get this thing
19:50 pyrimidine joined #perl6
19:50 * brokenchicken looks at nine and jnthn :)
19:54 agentzh joined #perl6
19:57 stux|RC-only joined #perl6
20:01 Geth ¦ doc: 4a769c8703 | (Will "Coke" Coleda)++ | CONTRIBUTING.md
20:01 Geth ¦ doc: fix typo, mention PRs
20:01 Geth ¦ doc: review: https://github.com/perl6/doc/commit/4a769c8703
20:01 Geth ¦ doc: d91d921bcb | (Will "Coke" Coleda)++ | xt/words.pws
20:01 Geth ¦ doc: learn new label
20:01 Geth ¦ doc: review: https://github.com/perl6/doc/commit/d91d921bcb
20:01 FROGGS joined #perl6
20:02 brokenchicken Well, if anyone knows the answer, please fix up the answer here: http://stackoverflow.com/questions/41853​855/are-constants-in-module-files-suppos​ed-to-be-imported-automatically/41854296​?noredirect=1#comment71114229_41854296
20:03 Geth ¦ doc: e6cd18d314 | (Will "Coke" Coleda)++ | template/footer.html
20:03 Geth ¦ doc: link to "how to report a bug" ; closes #1077
20:03 Geth ¦ doc: review: https://github.com/perl6/doc/commit/e6cd18d314
20:05 cdg_ joined #perl6
20:08 kyan joined #perl6
20:09 brokenchicken AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/desig​n.perl6.org.conf-le-ssl.conf:24) is deprecated, SSLCertificateFile should be used instead
20:09 brokenchicken Seeing a bunch of those on www.p6c.org
20:09 brokenchicken on apache restart
20:09 nine brokenchicken: precompilation
20:10 nine brokenchicken: Bar.pm6 gets compiled standalone and only later gets attached to your main program. So during its compilation there's nothing in GLOBAL
20:10 sakawaka How would I take a long string and list all repeated phrases inside of it from top to bottom (ones with the greatest frequency to ones with the lowest frequency)
20:11 brokenchicken nine: ah. Thanks. What about GLOBAL::.keys not having it and only MY::.keys having it?
20:11 nine Hope this makes sense. Will fall into my bed now. Yesterday's 16 hours shift and today's followup (huge systems migration) leave me drained...
20:11 nine brokenchicken: that's a side effect of lexical (MY::) module loading
20:11 sakawaka So if I put in abcabcabcabcdefdefdef, it would output abc and then def because abc appears more than def
20:11 brokenchicken Ah. Thanks!
20:15 sakawaka anyone know how I would do this?
20:15 sakawaka to find the most common substrings inside of a string
20:16 brokenchicken That sounds like a challenge from codeeval.com or something similar :)
20:16 sakawaka I want to write it so that I can feed in a bunch of song lyrics by a specific artist and then find out what recurring phrases they use
20:17 agentzh brokenchicken MasterDuke moritz: https://github.com/agentzh/perl-parsing-library​-benchmark#15-inch-retina-macbook-pro-mid-2015
20:17 sakawaka seems tricky to do efficiently though
20:17 hobbs the most common substring is probably "e", unless you put some restrictions on what kind of substrings you're interested in
20:17 brokenchicken sakawaka: I think if you google for that problem's description you're sure to find an algo in language X that you can just translate to Perl 6
20:18 agentzh the source code for all these different calculators are in that repos.
20:18 brokenchicken it might even be already on rosettacode
20:18 pyrimidine joined #perl6
20:20 brokenchicken agentzh: so Rakudo is faster than Perl 5?
20:20 brokenchicken And fanlang smokes the crap out of them all?
20:21 agentzh brokenchicken: not faster than Perl 5 pegex :)
20:21 sakawaka what is fanlang
20:21 agentzh brokenchicken: just faster than Damion's Parse::RecDescent.
20:21 brokenchicken Ah
20:21 [Coke] fanlang is agentzh's company's partial perl6 compiler.
20:22 brokenchicken agentzh: how much of perl6 does fanlang do? And it seems fanlang code is not compatible with Perl 6, eh?
20:23 brokenchicken I see the fanlang file is quite smaller
20:23 brokenchicken with weird syntax
20:24 brokenchicken m: say '+-abc' ~~ m:g/< + - >/
20:24 camelia rakudo-moar bc53f6: OUTPUT«(「+」 「-」)␤»
20:24 brokenchicken didn't know you could omit []
20:25 brokenchicken agentzh: well. Let me know when this thing is opensourced :)
20:26 mspo was he the guy in here a while ago doing the lua-jit stuff?
20:26 brokenchicken Yes, that's the fanlang
20:27 robertle rakudo and moar are really coming along nicely, but the modules ecosystem (modules.perl6.org, panda...) etc seems to be a bit of a stub. seems to me it doesn't quite compare to cpan yet
20:27 robertle not so much talking about the number of packages or their quality, but the supprot for it: metadata, building etc
20:27 mspo oh Parse::RecDescent was always slow
20:27 robertle installer as well
20:28 robertle is anyone working on that?
20:28 mspo robertle: zef is the new panda
20:28 Tonik joined #perl6
20:28 brokenchicken robertle: yeah, it is a stub and eventually it's be same as CPAN
20:28 brokenchicken robertle: jdv79 was
20:28 brokenchicken robertle: you can already upload Perl 6 dists to PAUSE. And there was some alpha-quality fork of metacpan viewing it
20:29 brokenchicken robertle: jdv79 and ranguard are current volunteers doing that work.,
20:29 brokenchicken (and anyone else I don't know about :))
20:29 agentzh brokenchicken: fanlang's grammar engine uses a syntax similar to Parse::RecDescent's EBNF. this part is incompatible with Perl 6 regexes for now.
20:29 robertle where can I learn more about pause?
20:29 agentzh other parts are pretty much the same.
20:30 brokenchicken robertle: pause.perl.org
20:30 agentzh brokenchicken: fanlang has already implemented a good common subset of Perl 6.
20:30 brokenchicken And yes, that website has a 90s feel. But you'd usually just upload from command line with tool XYZ
20:31 robertle great, thanks!
20:31 brokenchicken agentzh: and all of it is this much faster?
20:31 agentzh i'll name things that haven't done yet: roles, macros, hyper-operators, generic junctions (simple junctions already supported), and perl 6 regexes.
20:31 brokenchicken agentzh: just wondering if Rakudo's approach is so much flawed that another impl can do it like 30x faster or you just aren't doing all the things that make stuff slow
20:32 El_Che interesting!
20:32 brokenchicken agentzh: are you junctions already autothreaded?
20:32 brokenchicken your*
20:32 agentzh oh also multi-dispatch and unicode are not yet done.
20:32 brokenchicken heh
20:33 agentzh but we're getting closer to the point that fanlang can be elegantly bootstrapped by itself.
20:33 brokenchicken Cool.
20:33 brokenchicken agentzh: but it's closedsourced and non-free, right?
20:33 agentzh brokenchicken: nope. i am a single thread believer :) coming from the high performance web server world.
20:34 brokenchicken yikes
20:34 sakawaka if I have an array
20:34 brokenchicken Kinda hard to call it a subset of Perl 6 is you don't impl all the good bits :)
20:34 brokenchicken Reminds me of my Perl 7 :P
20:34 sakawaka how do I check how many times a specific value repeats inside of that array without using a loop
20:34 sakawaka is there a method for that
20:35 agentzh brokenchicken: well, given that fanlang is just 2 months old, please give it more time. we'll add most of those missing features in the near future :)
20:35 hobbs sakawaka: make a Bag.
20:35 brokenchicken m: <a a b c>.repeated.say
20:35 Actualeyes joined #perl6
20:35 camelia rakudo-moar bc53f6: OUTPUT«(a)␤»
20:35 agentzh and we're still busy hacking on it, adding new features everyday.
20:35 agentzh brokenchicken: we may open source an unoptimized version of fanlang compiler in the near future.
20:35 brokenchicken oh, doh! hobbs++
20:36 agentzh and when our company is big enough, we'll open source the whole thing.
20:36 brokenchicken m: <a a b c>.Bag.say
20:36 camelia rakudo-moar bc53f6: OUTPUT«bag(a(2), c, b)␤»
20:36 brokenchicken sakawaka: ^
20:36 agentzh but before that, we need funding for the development from our paid customers.
20:36 agentzh so that we can feed ourselves :)
20:37 brokenchicken :)
20:37 sakawaka ty brokenchicken & hobbs
20:38 agentzh brokenchicken: i think with single threading, we can still beat rakudo by 10x (and in this toy example, it is already 100x) *grin*
20:38 yqt joined #perl6
20:38 brokenchicken agentzh: but that's like Perl 6 beating Perl 5 by 100000000000000000x with say sum 1..1000000000000000000000000000000​000000000000000000000000000000000
20:38 brokenchicken You're comparing apples and trains.
20:39 agentzh brokenchicken: i'm talking about large projects with ~10K LOC.
20:39 agentzh brokenchicken: so this toy example does not really count. just for fun.
20:39 agentzh and i totally understand rakudo's goal has been on completeness and compliance.
20:39 agentzh with all due respect.
20:40 agentzh we'll start hacking on a ~6K LOC fanlang project very soon.
20:41 agentzh a production DSL compiler written in fanlang.
20:41 brokenchicken agentzh: so we'll you still support concurrent constructs or none of that at all?
20:41 brokenchicken like single-thred concurrent
20:41 agentzh brokenchicken: fanlang will expose the light thread mechanisms provided by the OpenResty platform.
20:41 brokenchicken Ah.
20:41 agentzh and OpenResty will soon expose the OS thread pool mechanism of the nginx core as well.
20:42 agentzh and then fanlang may utilize the nginx core's OS thread pool for file I/O, maybe.
20:42 agentzh brokenchicken: OpenResty is VERY fast :)
20:42 agentzh disclaimer: i'm the author of OpenResty.
20:42 brokenchicken agentzh: heh, so is Perl 7! It beats Rakudo too ;)
20:43 agentzh brokenchicken: is Perl 7 used by busy web sites in production already?
20:43 brokenchicken And Perl 8 beats Perl 7 by 100x, but it's closed-sourced.
20:44 agentzh brokenchicken: okay, you are not serious :)
20:44 agentzh brokenchicken: OpenResty has been open source for a decade.
20:44 agentzh it's been used by many companies with busy web traffic wordwide.
20:44 agentzh see https://openresty.org
20:44 brokenchicken meh
20:44 agentzh and fanlang is a compiler targeting that platform.
20:46 agentzh well, i was not meant to be offensive. just sharing our progress for technical reasons.
20:46 agentzh sorry if i've made you think otherwise.
20:46 agentzh we've been also contributing to the luajit core.
20:47 agentzh in the last few years.
20:47 agentzh so i think we know what we are doing here :)
20:47 noro joined #perl6
20:47 brokenchicken Does anyone understand what this Issue is about? https://github.com/perl6/doc/issues/1108
20:48 brokenchicken Yeah, the first item in search is highlighted by default and you get it if you hit Enter.... by what's the problem?
20:49 hobbs that's not what search boxes normally do
20:49 brokenchicken hobbs: what do they do?
20:49 mst agentzh: having a fast subset of perl6 as a porting target for stuff prototyped in full rakudo sounds like a fascinating possibility
20:51 sena_kun brokenchicken, I think it means that the user should be pointed to a page with results described more properly. Like wikipedia doos or something like that. Not sure though.
20:51 sena_kun s/doos/does/
20:51 agentzh mst: agreed. and it's also important for people want to use (a subset of) perl 6 in production for serious traffic right now :)
20:51 agentzh instead of waiting for another few years.
20:51 pyrimidine joined #perl6
20:52 mst agentzh: once you get a chance to make it a true subset (at least 'almost') the "pick your tradeoffs"-ness will rule
20:52 mst agentzh: ideally at least most fanlang files would also be intelligible by rakudo, though I dunno how viable that is given your other constraints
20:53 brokenchicken sena_kun: would you mind asking for clarification on that issue? I would type myself, but there's a bit of animosity between me and the issue author...
20:53 * brokenchicken relocates
20:53 agentzh mst: at some point, maybe. or fanlang will remain being a nonstrict subset of perl 6, or a perl 6 dialect :)
20:54 agentzh we will find out.
20:54 agentzh it's our company's language of choice for writing more and more DSL compilers.
20:54 mst agentzh: oh, sure, I'm just imagining a future to fit my own desires where other people do the hard parts of making that future exist for me
20:54 sena_kun brokenchicken, I'll try. And our search box is, you know, broken in many ways anyway.
20:56 agentzh mst: yeah, we are diverging to the standard perl 6 anyway.
20:56 agentzh mst: we try hard not to be clever about differences.
20:56 mst even if it's close enough to port to at some point that's still definitely a win
20:57 agentzh we've been comparing to rakudo in fanlang's own test suite.
20:57 agentzh though the perl 6 regexes are not beneficial enough for us to do in fanlang right now.
20:58 agentzh other parts are pretty much the same.
21:01 mst oh, DSL compilers targeting what?
21:04 mspo mst: luajit for openresty
21:05 mst right
21:09 agentzh joined #perl6
21:09 agentzh brokenchicken: i'll try persuading our company to give free licenses of optimized fanlang to all rakudo developers for noncommercial use if you guys would be interested :)
21:10 agentzh i understand that from an open source developer's perspective, closed-source == nonexistent :)
21:10 agentzh mspo: actually it is openresty with luajit :)
21:11 agentzh mst: our DSL compilers and fanlang will target browser-side JS too :)
21:12 agentzh mst: i'm still not sure about adding a perl 5 backend in our compilers.
21:12 agentzh perl 5 looks like a universal shell to me.
21:13 agentzh though nowadays python seems to be more ubiquitous.
21:13 perlpilot agentzh: what's the purpose of fanlang?  (sorry if you've already said)
21:14 AlexDaniel joined #perl6
21:14 agentzh perlpilot: writing complicated optimizing transcompilers and text processing programs in a perl6-ish scripting language.
21:14 gfldex agentzh: if you setup a basic debian as a shell server, you got 100+ executable perl scripts in the filesystem. Perl is far more ubiquitous then python. It just never bothers you so you don't notice.
21:14 agentzh perlpilot: especially for the OpenResty and web browser environments.
21:14 perlpilot gotcha
21:15 agentzh gfldex: good to know!
21:15 agentzh perlpilot: we have large-scale web companies to serve.
21:16 agentzh so performance is one of the top concerns of our users.
21:16 perlpilot And you're advertising it as a subset of Perl 6?
21:16 agentzh especially those CDN and ISP vendors.
21:16 agentzh perlpilot: a perl 6 dialect :)
21:16 perlpilot excellent
21:17 agentzh perlpilot: fanlang is not a main product for us to sell, it's mainly our tool to create other true commercial products for the web.
21:17 agentzh but if our customers want to pay for it, we don't mind selling licenses of it as well :)
21:21 SmokeMachine m: say "一二" ~~ /\d+/
21:21 camelia rakudo-moar bc53f6: OUTPUT«Nil␤»
21:22 sena_kun SmokeMachine, it is characters, to be precise. The actual numbers are 1,2,etc.
21:22 sena_kun m: say "1" ~~ /\d+/;
21:22 camelia rakudo-moar bc53f6: OUTPUT«「1」␤»
21:24 sena_kun SmokeMachine, but writing your own digit-parser for Japanese with counters and stuff is a cool idea. Now I somehow want to do it.
21:24 cale2 agentzh: I don't get it. Does perl6 support dialects? Full DSLs?
21:24 cale2 sena_kun: make a full on calculator
21:25 Tonik joined #perl6
21:25 gfldex cale2: Perl 6 does support slangs, altough we don't got a nice interface yet
21:26 cale2 something like #lang, like in racket
21:26 SmokeMachine sena_kun: I thought perl6 would do that... :(
21:26 sena_kun cale2, implementation of calculator is trivial if you can parser numbers.
21:26 cale2 I think the hard part is linking all of the various slangs together
21:26 gfldex cale2: see https://mouq.github.io/slangs.html
21:27 sena_kun SmokeMachine, perl6 doesn't need to do that. Imho, of course. If you really want that, I'll write a parser for you and for me(not too quick becase uf schedule, but maybe in a two or three days). :)
21:28 sena_kun s/se uf/use of/
21:29 travis-ci joined #perl6
21:29 travis-ci Doc build passed. Will "Coke" Coleda 'give a little padding to external link icon
21:29 travis-ci https://travis-ci.org/perl6/doc/builds/197408802 https://github.com/perl6/doc/com​pare/917013ac142c...b27f186fcd11
21:29 travis-ci left #perl6
21:30 SmokeMachine sena_kun: thanks! but I was just testing... I don't use japanese numbers since I quit the martial art... :) but I'd like to test your parser!
21:31 cale2 interesting document on slangs
21:33 cale2 https://docs.perl6.org/language/ipc#running
21:34 cale2 can you run a shell script on a windows comp if it doesn't have shell?
21:34 sena_kun SmokeMachine, it is complicated, because things like 十人 are indeed numerals, but... They are still a sentences with a meaning of numbers, not "real" numbers. I'll get back to it after my current work on docs. Thanks for an idea!
21:34 brokenchicken .tell agentzh yeah fanlang licenses for rakudo devs would be sweet. To see if we can steal any ideas.
21:34 yoleaux brokenchicken: I'll pass your message to agentzh.
21:35 brokenchicken m: say 人
21:35 camelia rakudo-moar bc53f6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    人 used at line 1␤␤»
21:36 AlexDaniel u: 人
21:36 unicodable6 AlexDaniel, U+4EBA <CJK Ideograph> [Lo] (人)
21:36 agentzh joined #perl6
21:37 SmokeMachine u: 一
21:37 unicodable6 SmokeMachine, U+4E00 <CJK Ideograph> [Lo] (一)
21:38 TimToady currently you'd need to use tr/// to translate those to digits, if you want the numeric values
21:39 jnthn I guess it's a bit like wanting /\d+/ to match "one" and "twenty-two" :)
21:41 sena_kun TimToady, won't a grammar do the job? We need to take numbers in some format and .made them to equivalents, aren't we?
21:42 sena_kun Slang::Roman does a similar thing even without grammar.
21:53 sena_kun Ah, no, with a grammar.
22:00 mniip joined #perl6
22:06 _28_ria joined #perl6
22:15 MasterDuke joined #perl6
22:16 cale2 IT WORKS http://rosetta.alhur.es/compare/Perl%206/Perl/#
22:16 cale2 http://rosetta.alhur.es/
22:16 cale2 http://rosetta.alhur.es/compare/Perl%206/Ruby/#
22:22 TimToady kind of a funny way to do delegation
22:23 TimToady we usually just say something like: has $.delegate handles 'thing'
22:28 cale2 On exercism.io should we set up the user with a blank class or a blank module? https://github.com/exercism/xperl6/issues/76
22:30 rurban joined #perl6
22:44 travis-ci joined #perl6
22:44 travis-ci Doc build failed. Will "Coke" Coleda 'learn new code snippet'
22:44 travis-ci https://travis-ci.org/perl6/doc/builds/197409137 https://github.com/perl6/doc/com​pare/b27f186fcd11...2219c6929a4e
22:44 travis-ci left #perl6
22:48 gdonald joined #perl6
22:51 pyrimidine joined #perl6
22:51 brokenchicken cale2: you'd know best, being new :)
22:55 cale2 brokenchicken: I don't remember how to program with an OO language. My natural inclination is to say module all the way
22:55 stux|RC-only joined #perl6
22:56 brokenchicken yOU DOn't have to do OO in Perl 6. Maybe even simpler to avoid it for new users.
22:56 brokenchicken s/users/programmers/;
22:57 brokenchicken m: say sum grep { is-prime $_ }, 2, 3, 6, 31337, 42
22:57 camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
22:57 brokenchicken m: say sum grep { is-prime $^number-from-the-list }, 2, 3, 6, 31337, 42
22:57 camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
22:58 brokenchicken m: .grep(*.is-prime).sum.say with 2, 3, 6, 31337, 42
22:58 camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
22:58 brokenchicken <3 Perl 6 :)
23:01 AlexDaniel .oO( did you mean “♥ Perl 6”? )
23:01 brokenchicken m: sub term:<一> {1}; say 一 + 5
23:01 camelia rakudo-moar 9f15a4: OUTPUT«6␤»
23:01 brokenchicken AlexDaniel: I did, but for some reason the CTRL+SHIFT+U+codepoint thing doesn't work on this VM right now
23:02 AlexDaniel codepoint :O
23:02 cale2 what's the best use of the heart operator?
23:02 ggoebel joined #perl6
23:02 brokenchicken buggable: eco topic
23:02 buggable brokenchicken, Pretty::Topic 'Alias $_ topical variable to something prettier': https://github.com/zoffixznet/perl6-Pretty-Topic
23:02 brokenchicken cale2: ^ that :)
23:02 gfldex term:<> is ENODOC
23:03 gdonald joined #perl6
23:03 brokenchicken AlexDaniel: I know that it's 2665 by... heart :P
23:03 AlexDaniel brokenchicken: what about no-break space?
23:03 brokenchicken gfldex: I recall you saying that before. So it's either DOC or there's an Issue
23:03 brokenchicken AlexDaniel: A
23:03 brokenchicken u: non-break space
23:03 unicodable6 brokenchicken, Found nothing!
23:03 brokenchicken u: non-breaking space
23:03 AlexDaniel u: no-break space
23:03 unicodable6 brokenchicken, Found nothing!
23:03 unicodable6 AlexDaniel, U+00A0 NO-BREAK SPACE [Zs] ( )
23:03 unicodable6 AlexDaniel, U+202F NARROW NO-BREAK SPACE [Zs] ( )
23:03 unicodable6 AlexDaniel, U+FEFF ZERO WIDTH NO-BREAK SPACE [Cf] ()
23:04 brokenchicken Ah,A0 :P
23:04 AlexDaniel that's… amazing…
23:04 brokenchicken FF62/FF63 are the square brackets
23:04 brokenchicken I think that's all I know by codepoint
23:05 cale2 character codepoints are the new phone numbers. remember when everyone used to know phone numbers?
23:05 brokenchicken heh
23:06 gfldex I found the issue, now I need to find a place where to put it
23:07 gfldex term:<> seams to extend identifiers
23:08 brokenchicken It makes a term, yeah.
23:08 brokenchicken m: sub term:<foo> { $^a.say }; foo 42
23:08 camelia rakudo-moar 9f15a4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3sub term:<foo> { $^a.say }; foo7⏏5 42␤    expecting any of:␤        infix␤        infix stopper␤        statement end␤        statement modifier␤ …»
23:08 brokenchicken ^ ain't taking any args, so you can use it without parens
23:08 cale2 m: say ^4 .map: { $_ + 10 }; # fugly
23:08 camelia rakudo-moar 9f15a4: OUTPUT«(10 11 12 13)␤»
23:09 cale2 I haven't heard the term fugly since I was 17. I lol'd heartily
23:09 cale2 say ^4 .map: { $ + 10 };
23:09 cale2 m: say ^4 .map: { $ + 10 };
23:09 camelia rakudo-moar 9f15a4: OUTPUT«Use of uninitialized value of type Any in numeric context␤  in block  at <tmp> line 1␤Use of uninitialized value of type Any in numeric context␤  in block  at <tmp> line 1␤Use of uninitialized value of type Any in numeric context␤  in block  at <…»
23:09 brokenchicken m: say ^4 .map: *.&[+](10);
23:09 camelia rakudo-moar 9f15a4: OUTPUT«(10 11 12 13)␤»
23:09 brokenchicken purty :P
23:09 cale2 m: say ^4 .map: { $^<3 + 10 };
23:09 camelia rakudo-moar 9f15a4: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in quote words; couldn't find final '>'␤        ␤at <tmp>:1␤------> 3say ^4 .map: { $^<3 + 10 };7⏏5<EOL>␤    expecting any of:␤        quote words␤        term␤»
23:10 brokenchicken heh
23:11 brokenchicken m: say ^4 .map: { $^ッ+ 10 }
23:11 camelia rakudo-moar 738493: OUTPUT«(10 11 12 13)␤»
23:11 brokenchicken hehe
23:12 cale2 m: say ^4 .map: { * + 10 };
23:12 camelia rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *␤at <tmp>:1␤------> 3say ^4 .map: { * + 10 }7⏏5;…»
23:12 gfldex m: constant term:<ℵ₀> = Inf; constant term:<ℵ₁> = Inf; say ℵ₀ < ℵ₁;
23:12 camelia rakudo-moar 738493: OUTPUT«False␤»
23:12 cale2 I need a tutorial on * vs $_ vs $
23:13 gfldex cale2: would you mind asking something easy instead? :->
23:14 cale2 `$` works in signatures. `$_` works in blocks. `*` works in ...
23:15 cale2 m: say ^4 .map: * + 10 ;
23:15 camelia rakudo-moar 738493: OUTPUT«(10 11 12 13)␤»
23:15 cale2 wtf
23:15 gfldex cale2: I will write something for you, will take a bit.
23:15 cale2 gfldex: maybe it can go as an article in the docs :) "Anonymous variables"
23:16 gfldex it's already in the docs, see all over the place
23:18 brokenchicken cale2: $ is an anonymous var. It ain't got a name so you can't refer to it in any way again, so it's mostly useful as a counter in loops, since you can use $++ and it'll keep incrementing. $_ is a topical variable, it got '_' in it its name. Many things automatically alias stuff to it (making it the current *topic* your code is talking about) and some things will use it by default if you omit vars; like a bare
23:18 brokenchicken block {} aliases its optional one arg to $_; or .foo is a method call, as if it were $_.foo. The * has several meanings. When it's used as a term (basically, by itself), it's Whatever (a type name) and core things generally interpret it as some sort of useful thing, like "infinity" or "number of items in a thing". When * (also called a Whatever Star) is not a term, but is part of an expression, like your * +
23:18 cale2 I don't see it here: https://docs.perl6.org/language/variables
23:18 brokenchicken 10 you gave to .map or *.is-prime I gave to grep earlier... in those cases it makes a closure (a "lambda") that takes as many args as there Whatever Stars in your expression, so if you give * + * to your map, it'll map 2-args at a time, adding them together.
23:18 cale2 or here: https://docs.perl6.org/language/traps
23:18 bstamour joined #perl6
23:18 brokenchicken We also got **, which is HyperWhatever and that one is basically a Whatever, exce
23:18 brokenchicken gah
23:19 brokenchicken We also got **, which is HyperWhatever and that one is basically a Whatever, except it operates as if it were `sub (*@_) { map &c, @_ }` where that &c is the closure you'd get if instead of the HyperWhatever you wrote a regular Whatever
23:19 brokenchicken And that's it.
23:19 * brokenchicken leaves to play Witcher III
23:20 * [Coke] thanks brokenchicken for the nice explanation of **
23:21 [Coke] brokenchicken: just got last guardian here
23:23 cale2 Good descriptions, thanks. But I think P6 may be easier to learn... by example ;)
23:25 brokenchicken m: say (** + 2)(1, 2, 3)
23:25 camelia rakudo-moar 738493: OUTPUT«(3 4 5)␤»
23:25 brokenchicken m: say (* + * + *)(1, 2, 3)
23:25 camelia rakudo-moar 738493: OUTPUT«6␤»
23:26 brokenchicken m: say <a b c>.pick: *
23:26 camelia rakudo-moar 738493: OUTPUT«(c b a)␤»
23:26 brokenchicken m: say <a b c z>.pick: *
23:26 camelia rakudo-moar 738493: OUTPUT«(c z b a)␤»
23:26 brokenchicken m: loop { say "meow"; last if $++ > 10 }
23:26 camelia rakudo-moar 738493: OUTPUT«meow␤meow␤meow␤meow␤meow␤me​ow␤meow␤meow␤meow␤meow␤meow␤meow␤»
23:26 brokenchicken m: .say for ^3
23:26 camelia rakudo-moar 738493: OUTPUT«0␤1␤2␤»
23:26 brokenchicken m: for ^3 { say $_ + 2 }
23:26 camelia rakudo-moar 738493: OUTPUT«2␤3␤4␤»
23:27 brokenchicken :)
23:27 AlexDaniel m: say (25, 50, ‘a’, 67, ‘b’, 90, 51, 20, ‘c’, 40) ~~ **, ‘a’, **, ‘b’, **, ‘c’, **
23:27 camelia rakudo-moar 738493: OUTPUT«sub (*@_) { #`(Sub|76542704) ... }a**b**c**␤»
23:27 AlexDaniel hm what's wrong
23:27 brokenchicken Oh, right
23:28 AlexDaniel m: say (25, 50, ‘a’, 67, ‘b’, 90, 51, 20, ‘c’, 40) ~~ (**, ‘a’, **, ‘b’, **, ‘c’, **)
23:28 camelia rakudo-moar 738493: OUTPUT«True␤»
23:28 AlexDaniel m: say (25, 50, ‘a’, 67, 90, 51, 20, ‘c’, 40) ~~ (**, ‘a’, **, ‘b’, **, ‘c’, **)
23:28 camelia rakudo-moar 738493: OUTPUT«False␤»
23:28 AlexDaniel :)
23:28 brokenchicken cale2: a hyper whatever when used just as a term can also be used to mean "any number of items" when smartmatching in lists ^
23:28 brokenchicken AlexDaniel++
23:29 lep-delete joined #perl6
23:30 cale2 m: say <a b c>.pick **;
23:30 camelia rakudo-moar 738493: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3say <a b c>.pick **7⏏5;␤    expecting any of:␤        prefix␤        term␤»
23:31 AlexDaniel m: say <a b c>.pick: **;
23:31 cale2 m: say <a b c>.pick: **;
23:31 camelia rakudo-moar 738493: OUTPUT«Cannot resolve caller Numeric(HyperWhatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
23:31 camelia rakudo-moar 738493: OUTPUT«Cannot resolve caller Numeric(HyperWhatever: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
23:31 cale2 m: say <a b c>.pick: *;
23:31 camelia rakudo-moar 738493: OUTPUT«(b a c)␤»
23:31 cale2 m: say <a b c>.pick: 2;
23:31 camelia rakudo-moar 738493: OUTPUT«(c b)␤»
23:31 cale2 cool
23:33 cale2 m: my ($first,$middle,$last) ~~ "first middle last"; say $middle;
23:33 camelia rakudo-moar 738493: OUTPUT«Use of uninitialized value $first of type Any in string context.␤Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.␤  in block <unit> at <tmp> line 1␤Use of uninitialized value $middle of type Any in string con…»
23:33 cale2 m: my ($first,$middle,$last) ~~ "first middle last".words; say $middle;
23:33 camelia rakudo-moar 738493: OUTPUT«(Any)␤»
23:34 brokenchicken m: my ($first,$middle,$last) = "first middle last".words; say $middle;
23:34 camelia rakudo-moar 738493: OUTPUT«middle␤»
23:34 AlexDaniel you want =
23:34 cale2 yeah
23:35 cale2 brokenchicken: btw, i got this working http://rosetta.alhur.es/
23:35 cale2 perl6 is added now
23:35 brokenchicken Cool. cale2++
23:36 lucs cale2++ neato
23:38 BenGoldberg joined #perl6
23:41 lizmat m: say "first middle last".words[1]
23:41 camelia rakudo-moar 738493: OUTPUT«middle␤»
23:52 timotimo cool, coke is going to prettify the docs page

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo