»ö« 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«10000000000000000468729856» | ||
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 postfixat <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 1foo» | ||
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 sleepyHello, at 0 secsHello, at 1 secsHello, at 2 secsHello, at 3 secsHello, 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 sleepy01234» | 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 sleepy01234» | ||
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 rowat <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 1Use of uninitialized value of type Any in numeric context in block at <tmp> line 1Use 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«meowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeow» | ||
23:26
lep-delete left
|
|||
brokenchicken | m: .say for ^3 | 23:26 | |
camelia | rakudo-moar 738493: OUTPUT«012» | ||
brokenchicken | m: for ^3 { say $_ + 2 } | ||
camelia | rakudo-moar 738493: OUTPUT«234» | ||
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 infixat <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 1Use 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
|