»ö« 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 AlexDaniel joined 00:02 as__ left 00:05 astj joined, AlexDaniel left 00:09 Actualeyes joined, astj left
cale2 are the built ins for note and warn basically like a built in logger? 00:16
lizmat they write to $*STDERR, if that is what you mean ? 00:23
00:26 jp_ left 00:33 pmurias left 00:35 BenGoldberg joined 00:36 pmurias joined 00:37 milesrout joined
milesrout how's perl 6 going then 00:40
brokenchicken Going well. 00:41
cale2 medium.com/@squeaky_pl/million-req....yqa5k1am5 00:48
"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, aborazmeh left, aborazmeh joined 01:07 pyrimidine joined 01:14 pyrimidine left 01:17 labster left 01:18 astj joined 01:22 labster joined 01:23 espadrine_ left, hartenfels joined
timotimo milesrout: any questions in particular? or just an overall status report? 01:30
01:33 pmurias left
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
the sub that pops the array
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?
brokenchicken greps sauce 01:42
samcv this is what i get gist.github.com/samcv/e98039bb5208...073a0f45dd
brokenchicken No such uses :(
samcv i added a try on there and the error went away, but it is quite odd
TimToady just looks like it's returning a Failure through several layers before trying to use it 01:43
(or sinking it)
and try doesn't allow Failures to return through it 01:44
m: say try Failure.new 01:45
camelia rakudo-moar d69f37: OUTPUT«Nil␤»
samcv yeah so i guess just a weird error. i fixed the source of the failure 01:47
and it went away
01:51 Actualeyes left 01:52 pyrimidine joined
brokenchicken ugh Unable to parse expression in blockoid; couldn't find final '}' at line 7850 01:53
Yeah there ain't nothing wrong with that line, you stupid compiler!
brokenchicken yells at the cloud and goes to bed
01:54 hartenfels left
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
TimToady: for the time being, I'll take you as being in the "yes" camp for both, then.
and your "yes" stance on (2) ought to make arnsholt and vendethiel happy ;) 01:56
masak .oO( Happiness-Driven Development )
TimToady sure...to the first approximation, quasies are sequences of generic symbols that only attain meaning when instantiated in context 02:02
if we eventally need a QUASIBEGIN phaser, well then...
02:03 hartenfels joined
TimToady outside of the quasi, of course, it's real code, and BEGIN should go off immediately 02:04
even if it ends up returning something quasi for later 02:05
02:06 kalkin- joined
BenGoldberg Is it possible to define macro ops? Infix/suffix/etc? 02:07
timotimo should be, no? 02:08
02:08 user__ left
BenGoldberg remembers trying to, but got stumped by the syntax. 02:09
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 { {␤»
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␤»
samcv so i wrote a function to pack bitfields and it is working pretty well
BenGoldberg m: use experimental :macros; macro infix:<plus>($a, $b) { return quasi { (({{{$a}}}) + ({{{$b}}})) } }; say 2 plus 3;
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␤»
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␤»
BenGoldberg Why is it sinking?
MasterDuke samcv: will that end up making the moar excutable smaller? 02:15
samcv well it already does bitfield packing
my names compression will for sure
from 1.7KB to like 470KB 02:16
timotimo you mean mb? :)
samcv yes MB
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
uhm and also need to figure out how to compress the mapping of cp's to bitfield rows
that takes up way more space than the bitfield, since the bitfield rows are de-duped
BenGoldberg huggable, rakudobug 02:18
huggable BenGoldberg, Report bugs by emailing to [email@hidden.address]
samcv so you can imagine: const static uint16_t point_index[1114110]
this index of points to bitfield rows is very very big
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:19
so like if ( cp >= 'A' && cp <= 'Z' ) return 40; # something like that 02:20
though ranges can be very very big, of points that share the same properties
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
think it was like 30 minutes it takes
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:23
02:24 agentzh left
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:27
02:42 cibs left 02:43 cibs joined 02:45 mscha joined
mscha m: my int $a = 10**16; say $a; say $a div 4; 02:45
camelia rakudo-moar d69f37: OUTPUT«10000000000000000␤468729856␤»
02:45 ilbot3 left 02:48 ilbot3 joined, ChanServ sets mode: +v ilbot3 02:52 dugword joined 02:57 dugword left 02:58 mr_ron left 03:03 itcharlie joined
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
it is still current with my work
03:05 mr_ron joined
timotimo is the bitfield allocation stuff in there, too, somewhere? 03:11
also i'm not sure what the indxe is all about. is that something we didn't need before?
03:13 agentzh joined, xtreak joined
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
milesrout I assume people don't tend to write perl 6 that way, right? adn they're just examples?
timotimo that ought to make it easier to learn
you mean /language/operators? 03:14
milesrout I do 03:15
mspo I think terms like postcircumfix might deserve their own entry in the glossary
samcv timotimo, the bitfield allocation stuff is now
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
works quite well 03:16
milesrout what is .perl
mspo m: "What is this?".perl
camelia ( no output )
timotimo outputs an object as code that'd give you roughly the same value back
samcv m: say "test".perl
camelia rakudo-moar d69f37: OUTPUT«"test"␤»
milesrout is it like 'print in Lisp or repr in Python?
mspo oh oops, say
m: "say What is this?".perl
camelia ( no output )
timotimo it's good for finding out the structure of nested objects and such
samcv sorta like that i guess milesrout
mspo or not :)
timotimo haha
mspo m: say "What is this?".perl 03:17
camelia rakudo-moar d69f37: OUTPUT«"What is this?"␤»
samcv m: say (10 => 'whatever').perl
camelia rakudo-moar d69f37: OUTPUT«10 => "whatever"␤»
timotimo m: say ^10 .combinations(2)
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 …»
mspo m: say *.perl
camelia rakudo-moar d69f37: OUTPUT«{ ... }␤»
timotimo that's a bit much for a simple result
m: say ^5 .combinations(2)
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))␤»
mspo milesrout: it's like Data::Dumper in perl5
or print_r in php 03:18
milesrout thanks
timotimo we also have Data::Dump::Tree, which is pretty cool
and rakudo has a routine named "dd" that's quite helpful, though it's not part of the perl6 language 03:19
perlpilot Didn't bdf just do a blog post on way to dump data in P6 ? 03:20
s/way/ways/ 03:21
www.learningperl6.com/2017/01/26/t...nt-perl-6/
oh, he says "pretty print"
03:24 zacts left 03:27 zacts joined
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␤␤»
samcv not sure why i get this error
since it goes (string, string, int, int, int)
that should work... 03:33
bisectable6, use nqp; say nqp::unicmp_s('a', 'b', 7,0,0,0)
bisectable6 samcv, Bisecting by output (old=2015.12 new=d69f375) because on both starting points the exit code is 1
samcv, bisect log: gist.github.com/671b60247f0c93078c...247f72b9e7
samcv, (2016-12-30) github.com/rakudo/rakudo/commit/33...09dfce953e
samcv that's unhelpful
MasterDuke samcv: is the signature 3 or 4 ints? 03:36
milesrout what's the difference between ... !!! and ???
are they basically meant to mean 'not implemented', 'fatal error' and 'wtf???' 03:37
oh nvm i can't read, fail/die/warn
MasterDuke samcv: btw, it would be good to add unicmp to github.com/perl6/nqp/blob/master/d...s.markdown 03:38
03:39 noganex joined 03:40 curt_ left 03:42 noganex_ left 03:59 kst` joined
samcv nqp: say(nqp::unicmp_s('a', 'b', 7,0,0,0)) 04:10
camelia nqp-moarvm: OUTPUT«1␤»
samcv :\ whyyyyyy
dammit rakudo
04:14 liz_ joined 04:15 dugword joined 04:22 Actualeyes joined
samcv i love this atom plugin so much 04:27
cale2 samcv: what does the plugin do for you that you love? 04:28
samcv imgur.com/a/eLG42
look at the right panel
it populates with all Classes, Routine's and Operators now that I have it setup
and i can click on the thing on the right panel and it'll go directly to that part of the file 04:29
haven't added methods yet, maybe gonna do that idk
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?
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 :)
samcv might as well add methods now, since you can collapse the lists anyway
cale2 samcv: I am DEFINITELY downloading that asap 04:31
samcv yeah let me put my config for it online
cale2 I switched to VS Code because Atom was too slow 04:32
samcv it's nav-marker-plus
cale2 maybe it's gotten faster?
samcv cale2, try the atom beta
it's much faster
cale2 trying nw
I actually have an idea for a mini book about perl6 04:33
might throw a draft on gitbook in the future 04:34
samcv cale2, here's my nav marker rules github.com/samcv/dot-files/blob/ma...rker-rules 04:35
i have it in the root of the project folder i'm working in 04:36
though if i open more files and they open in the same folder, it also works fine
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
there may be a way to make it global but i haven't done that
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
like in the folder you put .nav-marker-rules in
let me know if that works 04:39
04:39 Actualeyes left 04:42 mr_ron left 04:43 xtreak left 04:45 xtreak joined
cale2 I'm confused about this: github.com/perl6/atom-language-per...i-use-this 04:48
agentzh okay, my perl 6 dialect compiler, fanlang, is powerful enough to run this simple arith expression calculator: gist.github.com/agentzh/9b9d679972...f1e9566ff2
cale2 I just downloaded Atom and it comes with P6 highlighting automatically. So is this atom thing already built in?
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
agentzh for comparison, a similar perl 6 program completes in 101.372s with the latest rakudo :)
samcv the perl 6 highlighting sucks
built into atom
it's basically the perl 5 highlighter with classes and a few things added 04:50
cale2, you can run `apm install language-perl6` in terminal
agentzh samcv: well, the grammar syntax is different from the perl 6 language. that's why i call fanlang a dialect :)
samcv or use the package center in atom
wait what?
agentzh also wrote an equivalent arith expression calculator in perl 5/pegex, and it completes in 10.482s.
all for the same input. 04:51
samcv cale2, that how do i use this implies you have already installed it :P
so .7 s for perl 6 and 10s for perl5 ?
cale2 samcv: Well there's language-per6 and language-perl6fe 04:52
samcv you want language-perl6
that's what i said right?
04:52 Actualeyes joined
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
ah ok agentzh
agentzh sorry, i mean samcv
samcv source?
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:53
04:53 liz_ left
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:54
but if you have language-perl6fe uninstall, since they will conflict, since they have the same scope as each other 04:55
nice we're up to 232 downloads for language-perl6 \o/ 04:56
.ask DrForr will this be able to be merged? Readline 7 has been out for a while github.com/drforr/perl6-readline/p...-276507278 04:57
yoleaux samcv: I'll pass your message to DrForr.
cale2 samcv: what should I name the files for it to pick up perl 6 fe right away? 04:58
samcv .p6, .pm6 .pl6 04:59
04:59 Cabanoss- joined
agentzh samcv: p6 version for the calculator: github.com/agentzh/perl-parsing-li...-Rakudo.p6 04:59
samcv oh you're using grammars
agentzh samcv: and then the p5 version: github.com/agentzh/perl-parsing-li...c-Pegex.pl
and my fanlang version (again): gist.github.com/agentzh/9b9d679972...f1e9566ff2 05:00
samcv what's fanlang? 05:01
oh the perl 6 dialect 05:02
that's pretty cool
05:02 Cabanossi left, Cabanoss- is now known as Cabanossi
agentzh right. 05:02
samcv i thought that's what you meant i just didn't see what fanlang was heh
agentzh fanlang is a perl 6 dialect compiler targeting LuaJIT and OpenResty.
we've been hacking on this thing since last November. 05:03
cale2 Just discovered this: docs.perl6.org/routine/andthen
Makes me so happy. Does it work yet?
agentzh the compiler itself is currently written in perl5/pegex and will soon be bootstrapped in fanlang itself :)
samcv yeah it is like `or` except uses defineness
does luajit support regex? 05:04
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:05
*that's 05:06
samcv ah ok
cale2, did you get language-perl6 working?
and what about the nav-panel-plus?
05:06 khw left
cale2 There needs to be more talk about using definedness in p6 05:06
samcv talk?
agentzh fanlang does not support perl 6 regexes yet. we use a mixture of EBNF and perl 5 regexes.
the EBNF part is influenced mainly by Parse::RecDescent. 05:07
and also Pegex.
samcv cale2, have you read learnxinyminutes.com/docs/perl6/
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
TEttinger heh, define "a lot"
cale2 TEttinger: "internet people"
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 :(
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
And the concept of Types being on the same level as Values
It's basically Idris' dumb cousin :) 05:10
anyway, goodnight
TEttinger yeah, type-level programming seems like a good goal for a lot of languages to strive for 05:11
05:11 mr_ron joined
samcv also 05:12
m: my $a = 'a'; my $b = 'B'; say nqp::unicmp_s($a, $b, 7,0,0,0)
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>␤»
samcv how the hell do i fix this
m: use nqp; my $a = 'a'; my $b = 'B'; say nqp::unicmp_s($a, $b, 7,0,0,0)
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤ in block <unit> at <tmp> line 1␤␤»
samcv it works perfect in nqp
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 cale2 left
samcv helppp 05:13
05:13 KDr2 joined
samcv wtf is it trying to do 05:13
hmm 05:14
m: use nqp; my int $c = 7; my $a := 'a'; my $b := 'B'; say(nqp::unicmp_s($a, $b, $c,0,0,0))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤ in block <unit> at <tmp> line 1␤␤»
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␤»
samcv for some reason it's not giving it a native int
TEttinger not sure what := does differently from = there 05:16
samcv well
that's not the reason for changes, nqp has to do :=
m: use nqp; my $c = 7; my str $a = 'a'; my str $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤ in block <unit> at <tmp> line 1␤␤»
samcv it's trying to unbox 7 to a string 05:17
but the op wants an integer
it worked fine when i first introduced the op
TEttinger teh earlier ones said cannot unbox to integer
and the last one to strig
samcv m: use nqp; my $c = 7; my $a = 'a'; my $b = 'B'; say(nqp::unicmp_s($a, $b, 7,0,0,0))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤ in block <unit> at <tmp> line 1␤␤»
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␤␤»
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))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤ in block <unit> at <tmp> line 1␤␤»
TEttinger it produced the output 1 when all the vars had types
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))
camelia rakudo-moar d69f37: OUTPUT«1␤»
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))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native string: P6opaque, Int␤ in block <unit> at <tmp> line 1␤␤»
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))
camelia rakudo-moar d69f37: OUTPUT«This type cannot unbox to a native integer: P6opaque, Str␤ in block <unit> at <tmp> line 1␤␤»
samcv yeah
TEttinger is the issue that you don't have a certain type for what's calleed $c here? 05:19
samcv the problem is MVM is trying to convert to the wrong type 05:21
it should be automatic
at least for static numbers
TEttinger hm. is there more than one nqp::unicmp_s function?
samcv no 05:22
it tries to unbox the integers to strings, and tries to unbox the strings to integers 05:24
that is the issue
05:25 xtreak left 05:27 xtreak joined 05:30 geekosaur left 05:32 geekosaur joined 05:37 BenGoldberg left 05:38 KDr2 left, zacts left, BenGoldberg joined 05:56 BenGoldberg left 06:02 azertus left 06:16 zacts joined 06:26 Sgeo_ left 06:33 alphah joined 06:35 mr_ron left, hartenfels1 joined 06:37 hartenfels left, hartenfels1 is now known as hartenfels 06:38 alphah left 06:39 agentzh left 06:40 DarthGandalf joined 06:43 eroux joined 06:44 CIAvash joined 06:45 eroux left 06:48 eroux joined 06:50 RabidGravy joined 06:53 domidumont joined 06:54 azertus joined 06:59 domidumont left, domidumont joined 07:12 xtreak left 07:13 bwisti left 07:15 xtreak joined, Entonian joined 07:17 darutoko joined 07:19 Entonian left 07:21 rurban joined, rurban left 07:28 mr_ron joined 07:29 wamba joined 07:35 aborazmeh left 07:50 TEttinger left 07:52 sena_kun joined 07:55 mr_ron left 08:00 cibs left 08:02 cibs joined
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 cibs left, mr_ron joined 08:29 cibs joined 08:35 eroux is now known as eroux[away] 08:40 kalkin- left 08:41 abraxxa left 08:44 CIAvash left
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)␤»
Geth doc: bac11b6605 | Altai-man++ | doc/Type/UInt.pod6
Clarification of output style, correct output, deletion of :skip-code declaration
08:46
doc: 877fe8e1cf | Altai-man++ | doc/Type/Signature.pod6
Correct example to match output
08:48 abraxxa joined 08:49 zakharyas joined, abraxxa left 08:50 abraxxa joined 08:52 g4 joined, g4 left, g4 joined 08:59 abraxxa left 09:00 cschwenz joined, abraxxa joined, cschwenz left 09:02 jonas3 joined 09:16 dakkar joined 09:24 ufobat joined 09:27 dugword left
moritz \o/ brokenchicken's grant request has been granted: news.perlfoundation.org/2017/01/jan...votes.html 09:28
09:28 xtreak left 09:33 mr_ron left 09:36 domidumont left 09:38 domidumont joined
samcv brokenchicken++ 09:38
Geth doc: f5d74e5967 | (Wenzel P. P. Peppmeyer)++ | doc/Language/operators.pod6
explain how to disambiguate meta ops
09:39
gfldex .then: { brokenchicken++ } 09:40
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++
sena_kun gfldex, do we actually count karma here? 09:42
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 wamba left
gfldex sena_kun: besides, the graph section on github is a good substitute 09:44
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…»
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:47
gfldex i did some of them already and if we can we should have them completely covered 09:48
sena_kun gfldex, hmm, okay, I'll continue it. Do you have time and enough passion to look on the third clause of github.com/perl6/doc/issues/776#is...274376637? It looks like extract-examples.p6 with preserving of output state, cheking of exit code and comparsions. 09:51
s/cheking/checking 09:52
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:54
09:56 eiro joined
eiro hello 09:56
gfldex we could even do that via javascript on demand
moritz \o eiro
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.
gfldex or CSS for that matter
09:57 rba_ left
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:57
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
so you want to compare output?
i'm not sure if that's a good idea because we do have truncated quite a few outputs already 09:59
and there a quite a few lies-for-children too
10:01 rindolf joined
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:01
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`.
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
so it becomes a problem of [Coke] :->
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:04
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
10:05 ufobat left
gfldex yes 10:05
sena_kun Such a test even I will be able to write. Thanks. \0/ 10:07
samcv bisectable6, help 10:14
bisectable6 samcv, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128181
samcv bisectable6, use nqp; say(nqp::unicmp_s('a', 'B', 7, 0, 0,0))
bisectable6 samcv, Bisecting by output (old=2015.12 new=951a441) because on both starting points the exit code is 1
samcv, bisect log: gist.github.com/9bcaf3ce98bc15f5b5...ea2588c4af
samcv, (2016-12-30) github.com/rakudo/rakudo/commit/33...09dfce953e
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
samcv, Output on both points: This type cannot unbox to a native integer: P6opaque, Str␤ in block <unit> at /tmp/1RCbjECy_u line 1␤
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
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 10:24 bjz joined 10:25 cibs left 10:27 cibs joined 10:29 xtreak joined 10:32 astj_ joined, astj left 10:33 labster left, xtreak left 10:34 xtreak joined 10:35 agentzh joined 10:39 agentzh left 10:41 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Minor clarifications for S/// / s/// 10:41
travis-ci.org/perl6/doc/builds/196998464 github.com/perl6/doc/compare/df9d1...cfdd8e8a76
10:41 travis-ci left 10:48 bjz left, TBSliver joined 10:53 espadrine_ left 10:54 rurban joined, rurban left 10:58 domidumont left
brokenchicken w00t! I should start cracking. 11:02
I don't get what "Voting Results Title: Test2 Manual" is about. copy/pasta 11:03
samcv: have you heard back about your grant?
samcv no word back since the last time we spoke about it 11:04
brokenchicken :(
samcv seems like i may have to wait until march :( 11:05
brokenchicken Sorry. 11:06
samcv it is what it is. glad to hear yours got approved 11:08
11:09 skids joined 11:16 parv joined 11:17 bjz joined 11:21 eroux[away] is now known as eroux 11:22 bjz left 11:23 bjz_ joined, g4 left, g4 joined 11:33 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'doc interpolation of colon pairs in identifiers' 11:34
travis-ci.org/perl6/doc/builds/197105183 github.com/perl6/doc/compare/06b07...5373899156
11:34 travis-ci left
brokenchicken hehe, gitlab accidentally wiped 300GB of production data: twitter.com/gitlabstatus/status/82...1444384768 11:35
And developers all around the world are now reminded to check their backup solutions are working :P 11:36
brokenchicken recentlky accidentally nuked ~1000 bytes of production data himself 11:37
11:38 mscha left 11:45 notbenh left 11:46 notbenh joined
brokenchicken Someone was asking about early access ebook for Think Perl 6. The author just posted an updated on that: www.reddit.com/r/perl6/comments/5r...nk_perl_6/ 11:48
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 github.com/drforr/perl6-readline/p...-276507278
DrForr samcv: Done this morning.
samcv nice :) 11:58
11:58 milesrout left
DrForr I need to get some more done on that, but I say that about most projects :) 11:58
El_Che brokenchicken: sadly, not yet in the safari bookshelf (just checked) 12:00
DrForr Reminds me, I need to get my free Safari membership straightened out. 12:04
12:05 xtreak left 12:06 eroux left 12:17 wamba joined 12:28 rurban1 joined, domidumont joined 12:32 parv left 12:37 luiz_lha joined 12:38 luiz_lha is now known as Guest8003 12:39 Guest8003 is now known as luiz_lha 12:40 cyphase left 12:43 cyphase_eviltwin joined 12:51 bjz joined, bjz_ left 12:54 pmurias joined 12:58 imcsk8_ joined, imcsk8 left, espadrine joined 12:59 eroux joined 13:00 pyrimidi_ joined, pyrimidine left, imcsk8_ left 13:01 dogbert17_ joined, geekosaur left 13:03 imcsk8 joined, geekosaur joined 13:04 kst` left, eroux left 13:05 eroux joined, jcallen joined, eythian joined 13:07 freeze joined 13:08 kst` joined 13:09 awwaiid left 13:11 awwaiid joined 13:12 pmurias left, pmurias joined 13:14 ChoHag left 13:15 bitmap joined 13:17 ChoHag joined 13:20 kybr left, kybr joined 13:26 pyrimidine joined 13:29 pyrimidi_ left 13:30 rindolf left 13:34 kyan left 13:35 perlpilot left 13:36 perlpilot joined 13:46 KDr2 joined 13:47 ggoebel left 14:00 mr_ron joined, ggoebel joined 14:02 domidumont left 14:03 cdg joined 14:05 domidumont joined 14:11 g4 left 14:21 kurahaupo joined 14:26 kurahaupo__ joined 14:34 kurahaupo_ joined 14:37 agentzh joined 14:39 kurahaupo_ left, kurahaupo left, kurahaupo__ is now known as kurahaupo, travis-ci joined
travis-ci Doc build passed. Altai-man 'Correct example to match output' 14:39
travis-ci.org/perl6/doc/builds/197229540 github.com/perl6/doc/compare/1be17...7fe8e1cfb3
14:39 travis-ci left 14:41 agentzh left 14:42 travis-ci joined
travis-ci Doc build passed. Wenzel P. P. Peppmeyer 'explain how to disambiguate meta ops' 14:42
travis-ci.org/perl6/doc/builds/197241454 github.com/perl6/doc/compare/877fe...d74e59677e
14:42 travis-ci left 14:52 sammers left
[Coke] has to force install openssl, io::...:ssl and lwp::simple . :( 15:01
15:04 sammers joined 15:07 cyphase_eviltwin is now known as cyphase 15:11 dugword joined
timotimo btw, is the profile html thingie b0rked for anybody else? allocations, gc, and osr/deopt tabs don't show anything :< 15:13
i mean, they show some html
but no data in it
Ulti is Laurent Rosenfeld someone on here with a fun name? 15:16
brokenchicken don't recall which, but some fields in the profiler always showed NaN% for me 15:17
[Coke] timotimo: is it a big data set? 15:20
timotimo small 15:21
[Coke] samcv: looking at htmlify.p6 in atom, I see this code:
timotimo under 200 GC runs
[Coke] note "{c[0]} got badchar"
where the c in the brackets appears to be string-colored. 15:22
15:22 kurahaupo left
[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:23
samcv++ 15:26
15:28 bwisti joined
timotimo it's a configuration for a more general atom plugin 15:29
get "nav marker" and put this in your perl6 code folder github.com/samcv/dot-files/blob/ma...rker-rules 15:30
[Coke] trying to install nav marker from inside atom, don't see it. 15:33
timotimo oh!
sorry, it's nav-panel-plus apparently
15:35 liz_ joined
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:36
moritz liz_: not that I'm aware of 15:37
liz_ okay! thanks 15:38
15:41 ocbtec joined
[Coke] now has it working. 15:43
timotimo++ samcv ++
samcv: htmlify has a line that fools nav-marker-rules: # .... "class FooBar" 15:44
15:59 st_elmo joined
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:01
16:02 hartenfels left 16:05 rindolf joined 16:10 rurban1 left, pyrimidine left, zakharyas left 16:11 pyrimidine joined
Geth doc: cf5e680892 | (Will "Coke" Coleda)++ | doc/Language/performance.pod6
Remove reference to prof-m

Closes #1147
16:12
16:16 KDr2 left 16:20 domidumont left 16:22 kurahaupo joined 16:24 dugword left 16:28 wamba left
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: github.com/rakudo/rakudo/blob/951a...r.pm#L1146 16:29
16:32 eroux left 16:34 ocbtec left
mspo maybe you have to do a PR to atom? 16:35
the world's slowest editor
although perl people who were used to komodo probably don't mind :) 16:36
brokenchicken heh, komodo
mspo the world's other slowest editor 16:37
16:37 kurahaupo` joined
brokenchicken ...clearly you never used Aptana :P 16:37
16:37 kurahaupo left
mspo never heard of it 16:38
hobbs I once used an Aptiva
brokenchicken 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:39
mspo I mean developers don't mind slowness in general 16:40
look at eclipse
brokenchicken What's the URL to one-page docs?
mspo I guess eclipse offers "a lot" in return for its various terrors
16:40 pyrimidine left
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
16:41 pyrimidine joined, kurahaupo` left
brokenchicken docs.perl6.org/perl6.xhtml 16:41
16:41 kurahaupo__ joined
brokenchicken wtf is Z<< >> in POD? 16:43
perigrin last. 16:44
brokenchicken last?
perigrin when sorted alphabetically
brokenchicken huh
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:
brokenchicken :(
[Coke] (from S26)
Juerd Haha
"For example: " <- is there a Z<> in there? :)
perigrin God I hope so
16:47 pochi joined
Geth doc: 2e7ba9875b | (Zoffix Znet)++ | doc/HomePage.pod6
Add links to one-page docs

Stuff it in a place where Z«» for 'download all' is.
16:47
brokenchicken Ah. I see a bunch of Z«» in github.com/perl6/doc/blob/master/d...ePage.pod6
Geth doc: 099cf0527a | (Will "Coke" Coleda)++ | xt/words.pws
learn new word
16:52
16:52 domidumont joined 16:53 agentzh joined 16:54 robertle joined
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 [email@hidden.address]
16:56 eroux joined
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
that should do fine
brokenchicken No humans. Umm.. just write like you'd normally write it.
robertle k, thanks!
timotimo well, humans do get it, but just because it'll end up on RT :) 16:57
oh, you can also CC [email@hidden.address]
16:57 abraxxa left
[Coke] timotimo: that happens automatically 16:58
(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
ok!
[Coke] timotimo: first one's free
brokenchicken That's when replying on ticket itself. New tickets get emailed automagically.
17:00 pyrimidine left, pyrimidine joined 17:01 ocbtec joined, ocbtec left
[Coke] discovers "control-command-space" on os x. 😀 17:01
17:02 st_elmo left 17:03 Cabanossi left, Cabanossi joined 17:05 pyrimidine left
nine Why should one use Perl 6 for web stuff? 17:08
sena_kun Does "is encoded" trait work? 17:09
nine Or rather, why would one want to use Perl 6 for web stuff? 17:10
timotimo it does unicode very well, of course 17:11
brokenchicken And easy concurrency
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
brokenchicken or parallelism
pmurias brokenchicken: do you need concurrency for web stuff? 17:12
ugexe so I can use lazy lists
brokenchicken pmurias: it's vital
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
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:13
nine brokenchicken: isn't Crust supposed to add the parallelism part? 17:14
brokenchicken to Bailador?
mspo http/2 demands good concurrency
1.1 less so
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
mhm, yeah even more vital with http/2 17:15
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.
pmurias ?
brokenchicken But if the question is why people should use Perl 6 for Web *today*, sadly IMO they shouldn't.
17:16 robertle left
nine brokenchicken: I did not ask if they should but why they would want to :) 17:16
brokenchicken :D
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.
TimToady read that as "recriminations"... 17:18
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?
TimToady it's a mixed Bag :) 17:20
mst brokenchicken: won't async-await fix that?
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:21
17:22 zakharyas joined
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:22
mst and no preforking to make that actually viable? 17:23
brokenchicken nope
But ufobat knew of the issue back then. I dunno; maybe it's fixed already.
17:26 geekosaur left 17:27 geekosaur joined
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
like how cowboy (erlang) is structured
timotimo if you have an actually multithreaded server, that invites you to share data in-process, at which point things go terribly wrong :D
mspo protocol abstrations -> common form -> stuff 17:29
17:29 AlexDaniel joined 17:30 wamba joined 17:31 lukaramu joined 17:32 pyrimidine joined
mspo Ranch -> Cowlib -> Cowboy, specifically 17:32
I think I got that right 17:33
timotimo that's cute
TimToady well, if you're gonna share data, it has to be one of: immutable, owned, lockable
timotimo i always had a soft spot for Outlaw Techno Psychobitch in my heart ever since i saw Erlang: The Movie 2
mspo I didn't care for the movie 2
elixir looks kind of neat, though
erlang with utf8 strings :)
17:34 agentzh left
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 :)
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
timotimo it is also very The Decade It Was Made In :)
which also makes it quite endearing, IMO
BBIAB
17:38 rurban joined
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␤»
brokenchicken m: my $str = 'foobar'; $str ~~ s{bar} = {}; say $str
camelia rakudo-moar 97359a: OUTPUT«foo␤»
brokenchicken So what's the trick there? 17:40
17:40 dakkar left
brokenchicken m: my $str = 'foobar'; $str ~~ s{bar} = ['x']; say $str 17:40
camelia rakudo-moar 97359a: OUTPUT«foox␤»
brokenchicken hmmmm
Ah. OK. I get it. It's just code and {} doesn't cry 'cause it's a hash 17:41
17:41 cdg left 17:43 cdg joined 17:45 stux|RC-only joined 17:48 cdg left, khw joined
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. 17:54
18:00 pyrimidine left, pyrimidine joined 18:05 pyrimidine left 18:06 Vynce left, Vynce joined
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␤␤»
brokenchicken There ain't a way to reference captures in this for, is there?
18:13 Vynce left
brokenchicken m: my $x = 'foo'; $x ~~ s['f'(.+)] = class {method Str{ 'heh' } }; say $x 18:13
camelia rakudo-moar 97359a: OUTPUT«heh␤»
brokenchicken I'll assume no
18:15 luiz_lha left 18:16 pyrimidine joined
Geth doc: 80c6f0bdad | (Zoffix Znet)++ | doc/Language/operators.pod6
Improve S/// / s/// docs

  - Update to include changes brought by today's Rakudo fix:
   github.com/rakudo/rakudo/commit/97359ae42e
  - Split s/// and S/// into separate sections so it's easier to
   understand the difference between usages, behaviour, and
   different return values.
... (7 more lines)
18:20
18:20 skids left
18:20 skids joined 18:22 zakharyas left 18:24 skids left
timotimo docs.perl6.org/language/operators#..._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:24
18:26 pyrimidine left
AlexDaniel u: 18:27
unicodable6 AlexDaniel, U+001D <control-001D> [Cc] (control character)
Geth doc: 917013ac14 | (Zoffix Znet)++ | doc/Language/operators.pod6
Use &infix:<+> instead of &[+]

To make it more obvious that sort of op is given to reduce.
  irclog.perlgeek.de/perl6/2017-02-01#i_14026232
18:27 pyrimidine joined 18:28 espadrine left
brokenchicken AlexDaniel: that lookup is unrelated to my edits, is it? I copy-pasted examples from HexChat and sometimes it includes crap :S 18:30
AlexDaniel brokenchicken: geth prints it 18:32
“doc: →←<…commit”
brokenchicken u: doc: <
unicodable6 brokenchicken, U+0064 LATIN SMALL LETTER D [Ll] (d)
brokenchicken, U+006F LATIN SMALL LETTER O [Ll] (o)
brokenchicken, gist.github.com/04292b3abdbe0c6c70...42f1e79a62
AlexDaniel brokenchicken: no, your copy-paste is broken 18:33
brokenchicken: you pasted it without that character
or whatever, maybe your terminal eats the character
brokenchicken u: : <
unicodable6 brokenchicken, U+003A COLON [Po] (:)
brokenchicken, U+0020 SPACE [Zs] ( )
brokenchicken, U+003C LESS-THAN SIGN [Sm] (<)
brokenchicken Or maybe your irc client adds it? :)
AlexDaniel no.
Geth definitely printed it, I see it with my eyes :D 18:34
brokenchicken Oh
It's meant to show up as italic: github.com/perl6/geth/blob/master/...#L132-L133
AlexDaniel ooooooooooooh…
18:34 z448 joined 18:37 z448 left 18:42 Geth left, Geth joined, ChanServ sets mode: +v Geth 18:51 pyrimidine left, labster joined 18:52 pyrimidine joined, TEttinger joined 18:59 travis-ci joined
travis-ci Doc build passed. Altai-man 'Merge pull request #1171 from antquinonez/master 18:59
travis-ci.org/perl6/doc/builds/197039573 github.com/perl6/doc/compare/0abaf...b079bf9b30
18:59 travis-ci left, buggable left 19:00 buggable joined, ChanServ sets mode: +v buggable, agentzh joined 19:01 robertle joined 19:06 cale2 joined
cale2 hey all 19:06
[Coke] ho
cale2 Just came across this website today: pleac.sourceforge.net/
I think it originally came from the Perl Cookbook
19:07 FROGGS joined
cale2 Is that website still used by people as a cross reference between languages? 19:07
19:08 rurban left
[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
[Coke] rosettacode.org/wiki/Category:Perl_6
there are 860 pages in the P6 category.
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: rosettacode.org/wiki/Reverse_a_string#Perl_6
cale2: can't help you there. 19:10
19:10 girafe joined
cale2 [Coke] rosetta.alhur.es/ 19:10
Would be nice to get Perl6 on there next to Perl 19:11
brokenchicken Well volunteered! :)
[Coke] This site can’t be reached
presumably they have a slightly wonky SSL cert.
cale2 I'll fork it or submit an issue lol
AlexDaniel heh… if you find something on sourceforge, most likely nobody is using it… 19:12
brokenchicken :D
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
learn some idiomatic p6
19:13 cdg joined
brokenchicken :) 19:13
He's not the only contributor.
mspo stop showing off 19:14
cale2 Seemingly, it's as simply as asking the dev to add "Perl6" to this github.com/fiatjaf/rosetta.alhur.e...uages.json
19:15 espadrine_ joined, espadrine_ is now known as espadrine
sena_kun cale2, and to find a someone who will solve all the tasks in a pretty way, right? 19:15
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:16
see Perl6 solution next to $lang, "oh maybe this solution could be more clear", etc 19:17
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
brokenchicken There's no way to see all Perl 6 solutions on one page?
sena_kun cale2, ah, okay. Then don't mind me. :) 19:19
19:19 pyrimidine left, cdg_ joined
sena_kun m: say [+] [1,2,3,4]; 19:20
camelia rakudo-moar 97359a: OUTPUT«10␤»
19:20 pyrimidine joined, darutoko left
Geth doc: b27f186fcd | (Will "Coke" Coleda)++ | assets/sass/style.scss
give a little padding to external link icon

Closes #1132
19:20
cale2 "cyclic dwimmery" rosettacode.org/wiki/Vigen%C3%A8re_cipher#Perl_6 19:21
solved by Dr. Seuss 19:22
Geth doc: 2219c6929a | (Will "Coke" Coleda)++ | xt/code.pws
learn new code snippet
19:23 cdg left, cdg joined 19:26 sakawaka joined 19:27 cdg__ joined, cdg_ left
sakawaka How do I concurrently run a function every 10 seconds or so in the background of a program? 19:27
for as long as the program stays alive
cale2 sakawak: Pretty sure you just make a start block and then proceed on
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 pyrimidine left
brokenchicken Change 1 to 10 and done 19:28
sakawaka I see, thank you
brokenchicken m: start Supply.interval(1).tap: &say; say "sleepy sleepy"; sleep 5 19:29
camelia rakudo-moar 97359a: OUTPUT«sleepy sleepy␤0␤1␤2␤3␤4␤» 19:30
brokenchicken guess that's more concise
19:30 cdg left
jnthn Don't need the start there 19:31
Supply.interval implies thread pools cheduler
brokenchicken Oh ruight
jnthn *pool scheduler
brokenchicken :D jnthn++
m: Supply.interval(1).tap: &say; say "sleepy sleepy"; sleep 5
camelia rakudo-moar 97359a: OUTPUT«sleepy sleepy␤0␤1␤2␤3␤4␤»
Geth doc: 33c216bf4a | (Will "Coke" Coleda)++ | CONTRIBUTING.md
update bug report notes for #1077
19:32
19:37 agentzh left 19:40 liz_ left
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:42
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:43
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
brokenchicken looks at nine and jnthn :) 19:50
19:54 agentzh joined, stux|RC-only left 19:57 stux|RC-only joined 20:00 FROGGS left
Geth doc: 4a769c8703 | (Will "Coke" Coleda)++ | CONTRIBUTING.md
fix typo, mention PRs
20:01
doc: d91d921bcb | (Will "Coke" Coleda)++ | xt/words.pws
learn new label
20:01 FROGGS joined
brokenchicken Well, if anyone knows the answer, please fix up the answer here: stackoverflow.com/questions/4185385...9_41854296 20:02
Geth doc: e6cd18d314 | (Will "Coke" Coleda)++ | template/footer.html
link to "how to report a bug" ; closes #1077
20:03
20:05 cdg_ joined 20:08 cdg__ left, kyan joined
brokenchicken AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/design.perl6.org.conf-le-ssl.conf:24) is deprecated, SSLCertificateFile should be used instead 20:09
Seeing a bunch of those on www.p6c.org
on apache restart
nine brokenchicken: precompilation
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)
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...
brokenchicken: that's a side effect of lexical (MY::) module loading
sakawaka So if I put in abcabcabcabcdefdefdef, it would output abc and then def because abc appears more than def
brokenchicken Ah. Thanks!
sakawaka anyone know how I would do this? 20:15
to find the most common substrings inside of a string
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
agentzh brokenchicken MasterDuke moritz: github.com/agentzh/perl-parsing-li...o-mid-2015 20:17
sakawaka seems tricky to do efficiently though
hobbs the most common substring is probably "e", unless you put some restrictions on what kind of substrings you're interested in
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
agentzh the source code for all these different calculators are in that repos. 20:18
20:18 pyrimidine left
brokenchicken it might even be already on rosettacode 20:18
20:18 pyrimidine joined
brokenchicken agentzh: so Rakudo is faster than Perl 5? 20:20
And fanlang smokes the crap out of them all?
agentzh brokenchicken: not faster than Perl 5 pegex :) 20:21
sakawaka what is fanlang
agentzh brokenchicken: just faster than Damion's Parse::RecDescent.
brokenchicken Ah
[Coke] fanlang is agentzh's company's partial perl6 compiler.
brokenchicken agentzh: how much of perl6 does fanlang do? And it seems fanlang code is not compatible with Perl 6, eh? 20:22
I see the fanlang file is quite smaller 20:23
with weird syntax
m: say '+-abc' ~~ m:g/< + - >/ 20:24
camelia rakudo-moar bc53f6: OUTPUT«(「+」 「-」)␤»
brokenchicken didn't know you could omit []
agentzh: well. Let me know when this thing is opensourced :) 20:25
mspo was he the guy in here a while ago doing the lua-jit stuff? 20:26
brokenchicken Yes, that's the fanlang
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
not so much talking about the number of packages or their quality, but the supprot for it: metadata, building etc
mspo oh Parse::RecDescent was always slow
robertle installer as well
is anyone working on that? 20:28
mspo robertle: zef is the new panda
20:28 Tonik joined
brokenchicken robertle: yeah, it is a stub and eventually it's be same as CPAN 20:28
robertle: jdv79 was
robertle: you can already upload Perl 6 dists to PAUSE. And there was some alpha-quality fork of metacpan viewing it
robertle: jdv79 and ranguard are current volunteers doing that work., 20:29
(and anyone else I don't know about :))
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.
robertle where can I learn more about pause?
agentzh other parts are pretty much the same.
brokenchicken robertle: pause.perl.org 20:30
agentzh brokenchicken: fanlang has already implemented a good common subset of Perl 6.
brokenchicken And yes, that website has a 90s feel. But you'd usually just upload from command line with tool XYZ
robertle great, thanks! 20:31
brokenchicken agentzh: and all of it is this much faster?
20:31 Actualeyes left
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
El_Che interesting! 20:32
brokenchicken agentzh: are you junctions already autothreaded?
your*
agentzh oh also multi-dispatch and unicode are not yet done.
brokenchicken heh
agentzh but we're getting closer to the point that fanlang can be elegantly bootstrapped by itself. 20:33
brokenchicken Cool.
agentzh: but it's closedsourced and non-free, right?
agentzh brokenchicken: nope. i am a single thread believer :) coming from the high performance web server world.
brokenchicken yikes 20:34
sakawaka if I have an array
brokenchicken Kinda hard to call it a subset of Perl 6 is you don't impl all the good bits :)
Reminds me of my Perl 7 :P
sakawaka how do I check how many times a specific value repeats inside of that array without using a loop
is there a method for that
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.
brokenchicken m: <a a b c>.repeated.say
20:35 Actualeyes joined
camelia rakudo-moar bc53f6: OUTPUT«(a)␤» 20:35
agentzh and we're still busy hacking on it, adding new features everyday.
brokenchicken: we may open source an unoptimized version of fanlang compiler in the near future.
brokenchicken oh, doh! hobbs++
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
camelia rakudo-moar bc53f6: OUTPUT«bag(a(2), c, b)␤»
brokenchicken sakawaka: ^
agentzh but before that, we need funding for the development from our paid customers.
so that we can feed ourselves :)
brokenchicken :) 20:37
sakawaka ty brokenchicken & hobbs
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
20:38 yqt joined
brokenchicken agentzh: but that's like Perl 6 beating Perl 5 by 100000000000000000x with say sum 1..1000000000000000000000000000000000000000000000000000000000000000 20:38
You're comparing apples and trains.
agentzh brokenchicken: i'm talking about large projects with ~10K LOC. 20:39
brokenchicken: so this toy example does not really count. just for fun.
and i totally understand rakudo's goal has been on completeness and compliance.
with all due respect.
we'll start hacking on a ~6K LOC fanlang project very soon. 20:40
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?
like single-thred concurrent
agentzh brokenchicken: fanlang will expose the light thread mechanisms provided by the OpenResty platform.
brokenchicken Ah.
agentzh and OpenResty will soon expose the OS thread pool mechanism of the nginx core as well.
and then fanlang may utilize the nginx core's OS thread pool for file I/O, maybe. 20:42
brokenchicken: OpenResty is VERY fast :)
disclaimer: i'm the author of OpenResty.
brokenchicken agentzh: heh, so is Perl 7! It beats Rakudo too ;)
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.
agentzh brokenchicken: okay, you are not serious :) 20:44
brokenchicken: OpenResty has been open source for a decade.
it's been used by many companies with busy web traffic wordwide.
see openresty.org
brokenchicken meh
agentzh and fanlang is a compiler targeting that platform.
well, i was not meant to be offensive. just sharing our progress for technical reasons. 20:46
sorry if i've made you think otherwise.
we've been also contributing to the luajit core.
in the last few years. 20:47
so i think we know what we are doing here :)
20:47 noro joined
brokenchicken Does anyone understand what this Issue is about? github.com/perl6/doc/issues/1108 20:47
Yeah, the first item in search is highlighted by default and you get it if you hit Enter.... by what's the problem? 20:48
hobbs that's not what search boxes normally do 20:49
brokenchicken hobbs: what do they do?
mst agentzh: having a fast subset of perl6 as a porting target for stuff prototyped in full rakudo sounds like a fascinating possibility
20:50 AlexDaniel left
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
20:51 pyrimidine left
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 :)
instead of waiting for another few years.
20:51 pyrimidine joined
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
agentzh: ideally at least most fanlang files would also be intelligible by rakudo, though I dunno how viable that is given your other constraints
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
agentzh mst: at some point, maybe. or fanlang will remain being a nonstrict subset of perl 6, or a perl 6 dialect :)
we will find out. 20:54
it's our company's language of choice for writing more and more DSL compilers.
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
sena_kun brokenchicken, I'll try. And our search box is, you know, broken in many ways anyway.
20:55 domidumont left
agentzh mst: yeah, we are diverging to the standard perl 6 anyway. 20:56
mst: we try hard not to be clever about differences.
mst even if it's close enough to port to at some point that's still definitely a win
agentzh we've been comparing to rakudo in fanlang's own test suite. 20:57
though the perl 6 regexes are not beneficial enough for us to do in fanlang right now.
other parts are pretty much the same. 20:58
20:58 pyrimidine left
mst oh, DSL compilers targeting what? 21:01
21:02 agentzh left
mspo mst: luajit for openresty 21:04
mst right 21:05
21:09 agentzh joined
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:09
i understand that from an open source developer's perspective, closed-source == nonexistent :) 21:10
mspo: actually it is openresty with luajit :)
mst: our DSL compilers and fanlang will target browser-side JS too :) 21:11
mst: i'm still not sure about adding a perl 5 backend in our compilers. 21:12
perl 5 looks like a universal shell to me.
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
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.
agentzh perlpilot: especially for the OpenResty and web browser environments.
perlpilot gotcha
21:15 Tonik left
agentzh gfldex: good to know! 21:15
perlpilot: we have large-scale web companies to serve.
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?
agentzh especially those CDN and ISP vendors.
perlpilot: a perl 6 dialect :)
perlpilot excellent
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
but if our customers want to pay for it, we don't mind selling licenses of it as well :)
21:17 pmurias left
SmokeMachine m: say "一二" ~~ /\d+/ 21:21
camelia rakudo-moar bc53f6: OUTPUT«Nil␤»
sena_kun SmokeMachine, it is characters, to be precise. The actual numbers are 1,2,etc. 21:22
m: say "1" ~~ /\d+/;
camelia rakudo-moar bc53f6: OUTPUT«「1」␤»
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?
sena_kun: make a full on calculator
21:25 Tonik joined
gfldex cale2: Perl 6 does support slangs, altough we don't got a nice interface yet 21:25
cale2 something like #lang, like in racket 21:26
SmokeMachine sena_kun: I thought perl6 would do that... :(
sena_kun cale2, implementation of calculator is trivial if you can parser numbers.
cale2 I think the hard part is linking all of the various slangs together
gfldex cale2: see mouq.github.io/slangs.html
21:26 agentzh left
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:27
21:28 eroux left
sena_kun s/se uf/use of/ 21:28
21:29 travis-ci joined
travis-ci Doc build passed. Will "Coke" Coleda 'give a little padding to external link icon 21:29
travis-ci.org/perl6/doc/builds/197408802 github.com/perl6/doc/compare/91701...7f186fcd11
21:29 travis-ci left
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:30
cale2 interesting document on slangs 21:31
docs.perl6.org/language/ipc#running 21:33
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!
brokenchicken .tell agentzh yeah fanlang licenses for rakudo devs would be sweet. To see if we can steal any ideas.
yoleaux brokenchicken: I'll pass your message to agentzh.
brokenchicken m: say 人 21:35
camelia rakudo-moar bc53f6: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ 人 used at line 1␤␤»
AlexDaniel u: 人 21:36
unicodable6 AlexDaniel, U+4EBA <CJK Ideograph> [Lo] (人)
21:36 agentzh joined
SmokeMachine u: 一 21:37
unicodable6 SmokeMachine, U+4E00 <CJK Ideograph> [Lo] (一)
21:38 Tonik left
TimToady currently you'd need to use tr/// to translate those to digits, if you want the numeric values 21:38
jnthn I guess it's a bit like wanting /\d+/ to match "one" and "twenty-two" :) 21:39
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:41
Slang::Roman does a similar thing even without grammar. 21:42
Ah, no, with a grammar. 21:53
21:54 bwisti left 22:00 sena_kun left, mniip joined 22:03 mr_ron left 22:04 _28_ria left 22:06 _28_ria joined 22:09 robertle left 22:10 MasterDuke left 22:12 RabidGravy left 22:15 MasterDuke joined
cale2 IT WORKS rosetta.alhur.es/compare/Perl%206/Perl/# 22:16
rosetta.alhur.es/
rosetta.alhur.es/compare/Perl%206/Ruby/#
TimToady kind of a funny way to do delegation 22:22
we usually just say something like: has $.delegate handles 'thing' 22:23
22:24 lukaramu left 22:27 girafe left
cale2 On exercism.io should we set up the user with a blank class or a blank module? github.com/exercism/xperl6/issues/76 22:28
22:30 rurban joined 22:35 FROGGS left 22:44 travis-ci joined
travis-ci Doc build failed. Will "Coke" Coleda 'learn new code snippet' 22:44
travis-ci.org/perl6/doc/builds/197409137 github.com/perl6/doc/compare/b27f1...19c6929a4e
22:44 travis-ci left, stux|RC-only left 22:48 ggoebel left, gdonald joined 22:51 pyrimidine joined
brokenchicken cale2: you'd know best, being new :) 22:51
22:54 bjz left
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
22:55 stux|RC-only joined
brokenchicken yOU DOn't have to do OO in Perl 6. Maybe even simpler to avoid it for new users. 22:56
s/users/programmers/;
22:56 pyrimidine left
brokenchicken m: say sum grep { is-prime $_ }, 2, 3, 6, 31337, 42 22:57
camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
brokenchicken m: say sum grep { is-prime $^number-from-the-list }, 2, 3, 6, 31337, 42
camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
brokenchicken m: .grep(*.is-prime).sum.say with 2, 3, 6, 31337, 42 22:58
camelia rakudo-moar 9f15a4: OUTPUT«31342␤»
brokenchicken <3 Perl 6 :)
AlexDaniel
.oO( did you mean “♥ Perl 6”? )
23:01
brokenchicken m: sub term:<一> {1}; say 一 + 5
camelia rakudo-moar 9f15a4: OUTPUT«6␤»
brokenchicken AlexDaniel: I did, but for some reason the CTRL+SHIFT+U+codepoint thing doesn't work on this VM right now
AlexDaniel codepoint :O 23:02
cale2 what's the best use of the heart operator?
23:02 ggoebel joined
brokenchicken buggable: eco topic 23:02
buggable brokenchicken, Pretty::Topic 'Alias $_ topical variable to something prettier': github.com/zoffixznet/perl6-Pretty-Topic
brokenchicken cale2: ^ that :)
23:02 gdonald left
gfldex term:<> is ENODOC 23:02
23:03 gdonald joined
brokenchicken AlexDaniel: I know that it's 2665 by... heart :P 23:03
AlexDaniel brokenchicken: what about no-break space?
brokenchicken gfldex: I recall you saying that before. So it's either DOC or there's an Issue
AlexDaniel: A
u: non-break space
unicodable6 brokenchicken, Found nothing!
brokenchicken u: non-breaking space
AlexDaniel u: no-break space
unicodable6 brokenchicken, Found nothing!
AlexDaniel, U+00A0 NO-BREAK SPACE [Zs] ( )
AlexDaniel, U+202F NARROW NO-BREAK SPACE [Zs] ( )
AlexDaniel, U+FEFF ZERO WIDTH NO-BREAK SPACE [Cf] ()
brokenchicken Ah,A0 :P 23:04
AlexDaniel that's… amazing…
brokenchicken FF62/FF63 are the square brackets
I think that's all I know by codepoint
cale2 character codepoints are the new phone numbers. remember when everyone used to know phone numbers? 23:05
brokenchicken heh
gfldex I found the issue, now I need to find a place where to put it 23:06
term:<> seams to extend identifiers 23:07
brokenchicken It makes a term, yeah. 23:08
m: sub term:<foo> { $^a.say }; foo 42
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␤ …»
brokenchicken ^ ain't taking any args, so you can use it without parens
cale2 m: say ^4 .map: { $_ + 10 }; # fugly
camelia rakudo-moar 9f15a4: OUTPUT«(10 11 12 13)␤»
cale2 I haven't heard the term fugly since I was 17. I lol'd heartily 23:09
say ^4 .map: { $ + 10 };
m: say ^4 .map: { $ + 10 };
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 <…»
brokenchicken m: say ^4 .map: *.&[+](10);
camelia rakudo-moar 9f15a4: OUTPUT«(10 11 12 13)␤»
brokenchicken purty :P
cale2 m: say ^4 .map: { $^<3 + 10 };
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␤»
brokenchicken heh 23:10
m: say ^4 .map: { $^ッ+ 10 } 23:11
camelia rakudo-moar 738493: OUTPUT«(10 11 12 13)␤»
brokenchicken hehe
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;…»
gfldex m: constant term:<ℵ₀> = Inf; constant term:<ℵ₁> = Inf; say ℵ₀ < ℵ₁;
camelia rakudo-moar 738493: OUTPUT«False␤»
cale2 I need a tutorial on * vs $_ vs $
23:12 espadrine left
gfldex cale2: would you mind asking something easy instead? :-> 23:13
cale2 `$` works in signatures. `$_` works in blocks. `*` works in ... 23:14
m: say ^4 .map: * + 10 ; 23:15
camelia rakudo-moar 738493: OUTPUT«(10 11 12 13)␤»
cale2 wtf
gfldex cale2: I will write something for you, will take a bit.
cale2 gfldex: maybe it can go as an article in the docs :) "Anonymous variables"
gfldex it's already in the docs, see all over the place 23:16
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
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 * +
cale2 I don't see it here: docs.perl6.org/language/variables
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.
cale2 or here: docs.perl6.org/language/traps
23:18 bstamour joined
brokenchicken We also got **, which is HyperWhatever and that one is basically a Whatever, exce 23:18
gah
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
And that's it.
brokenchicken leaves to play Witcher III
[Coke] thanks brokenchicken for the nice explanation of ** 23:20
brokenchicken: just got last guardian here 23:21
cale2 Good descriptions, thanks. But I think P6 may be easier to learn... by example ;) 23:23
brokenchicken m: say (** + 2)(1, 2, 3) 23:25
camelia rakudo-moar 738493: OUTPUT«(3 4 5)␤»
brokenchicken m: say (* + * + *)(1, 2, 3)
camelia rakudo-moar 738493: OUTPUT«6␤»
brokenchicken m: say <a b c>.pick: * 23:26
camelia rakudo-moar 738493: OUTPUT«(c b a)␤»
brokenchicken m: say <a b c z>.pick: *
camelia rakudo-moar 738493: OUTPUT«(c z b a)␤»
brokenchicken m: loop { say "meow"; last if $++ > 10 }
camelia rakudo-moar 738493: OUTPUT«meow␤meow␤meow␤meow␤meow␤meow␤meow␤meow␤meow␤meow␤meow␤meow␤»
23:26 lep-delete left
brokenchicken m: .say for ^3 23:26
camelia rakudo-moar 738493: OUTPUT«0␤1␤2␤»
brokenchicken m: for ^3 { say $_ + 2 }
camelia rakudo-moar 738493: OUTPUT«2␤3␤4␤»
brokenchicken :) 23:27
AlexDaniel m: say (25, 50, ‘a’, 67, ‘b’, 90, 51, 20, ‘c’, 40) ~~ **, ‘a’, **, ‘b’, **, ‘c’, **
camelia rakudo-moar 738493: OUTPUT«sub (*@_) { #`(Sub|76542704) ... }a**b**c**␤»
AlexDaniel hm what's wrong
brokenchicken Oh, right
AlexDaniel m: say (25, 50, ‘a’, 67, ‘b’, 90, 51, 20, ‘c’, 40) ~~ (**, ‘a’, **, ‘b’, **, ‘c’, **) 23:28
camelia rakudo-moar 738493: OUTPUT«True␤»
AlexDaniel m: say (25, 50, ‘a’, 67, 90, 51, 20, ‘c’, 40) ~~ (**, ‘a’, **, ‘b’, **, ‘c’, **)
camelia rakudo-moar 738493: OUTPUT«False␤»
AlexDaniel :)
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 ^
AlexDaniel++
23:29 lep-delete joined
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␤»
AlexDaniel m: say <a b c>.pick: **; 23:31
cale2 m: say <a b c>.pick: **;
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␤␤»
cale2 m: say <a b c>.pick: *;
camelia rakudo-moar 738493: OUTPUT«(b a c)␤»
cale2 m: say <a b c>.pick: 2;
camelia rakudo-moar 738493: OUTPUT«(c b)␤»
cale2 cool
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 agentzh left
cale2 m: my ($first,$middle,$last) ~~ "first middle last".words; say $middle; 23:33
camelia rakudo-moar 738493: OUTPUT«(Any)␤»
brokenchicken m: my ($first,$middle,$last) = "first middle last".words; say $middle; 23:34
camelia rakudo-moar 738493: OUTPUT«middle␤»
AlexDaniel you want =
cale2 yeah
brokenchicken: btw, i got this working rosetta.alhur.es/ 23:35
perl6 is added now
brokenchicken Cool. cale2++
lucs cale2++ neato 23:36
23:38 BenGoldberg joined 23:40 cale2 left
lizmat m: say "first middle last".words[1] 23:41
camelia rakudo-moar 738493: OUTPUT«middle␤»
23:43 bstamour left
timotimo cool, coke is going to prettify the docs page 23:52
23:58 AlexDaniel left