»ö« 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:05 releasable6 left, releasable6 joined 00:08 margeas left 00:13 ryn1x_ left 00:22 cdg joined 00:26 cdg left 00:32 mcmillhj joined 00:33 Rawriful left 00:35 Xal left 00:37 mcmillhj left 00:39 Xal joined 00:48 mcmillhj joined 00:53 mcmillhj left 00:54 Herby__ joined 00:56 cdg joined 00:57 mson left
AlexDaniel- glue? huh? 01:00
pilne: I don't think the answer is correct. I'm really confused now
01:01 HoboWithAShotgun left
AlexDaniel- what do you guys mean by glue? 01:01
pilne is nativecall intended to help with "hotspots" by leveraging the (usually) higher performance "c" can offer, or is it meant to just allow the functionality that the c-code provides? FFI isn't always blazing fast (: 01:02
AlexDaniel- FFI may not be as fast, but the stuff that you're running is as fast as it can get 01:03
at least that's how I understand it
so yes, you can rewrite a chunk of your code that's otherwise slow in C and then use that from nativecall
and as long as you're not doing too many calls through nativecall, it should really speed things up for you 01:04
s/from nativecall/through nativecall/
01:04 mcmillhj joined
geekosaur pilne, that was what I meant when I said glue 01:08
pilne gotcha
geekosaur generally when we are dealing with hotspots we use nqp instead of perl 6, because C has no reasonable way to deal with MOP, or undefined, or ...
01:09 mcmillhj left
geekosaur you *could* hypothetically deal with a hotspot that way, but you lose so much that you might as well just have written in C to start with 01:09
AlexDaniel- not just hypothethically. If you're crunching numbers then it's a reasonable way to go 01:10
pilne true, and i'm guessing that if i can get my brain around perl6 i could theoretically learn nqp as well 01:11
geekosaur you can think of perl 6 as a lot of sugar for nqp ('not quite perl6'). 01:13
it forces you do handle a lot of things yourself, but is still much more perl 6 than C or etc.
pilne does that go as deep down the rabbit hole as "everything is a function that is sugaring various twisted depths of the lambda calculus" that haskell is? (: 01:14
geekosaur *to handle
mm. there are some similarities, but it's not lambda calculus. it has a vastly simplified object system, for example 01:15
pilne whew, i stand a fighting chance (:
haskell, and advanced macro-ing magiks in lisps are the two things i'm yet to say i'm able to confidently understand. 01:16
geekosaur like, anything involving the meta-object protocol is not present at nqp level; it's part of the perl 6 sugar on top
01:27 kerframil left 01:40 cdg left, llfourn joined, finanalyst joined
finanalyst l6 01:40
01:42 bitrauser_ joined
finanalyst Hi. I'm trying to run the Linux command uuidgen 10x and get the result into an array. 01:42
AlexDaniel- finanalyst: alright. What have you tried so far? 01:43
finanalyst tried my $i=shell 'for i in {1..10}; do uuidgen; done' but get '{1..10}'
if my $i=shell 'for i in 1 2 3 4 5 ; do uuidgen; done', I get a list of 10 uuid 01:44
01:44 ChoHag left 01:45 bitrauser left, bmurphy1976 joined
AlexDaniel- finanalyst: ok, what about something like this 01:45
finanalyst sorry, not all there. my $i=shell 'for i in 1 2 3 4; do uuidgen; done', :out; for $i.out.lines { .say }
01:46 ilbot3 left
AlexDaniel- my @d = do for ^10 { run(:out, 'uuidgen').out.slurp } 01:46
finanalyst AlexDaniel: Looks good. Does slurp call .close, or do I need to close the pipe created by run? 01:47
bmurphy1976 Given $file="test file.txt" and qqw{touch "$file"} gives me (touch "test file.txt"), is there some variant of {touch $file} that gives me the same result (preserving the space) where I don't have to wrap "$file" in quotes?
01:48 ChoHag joined
geekosaur don't use qqw unless you want to capture all the output. here, you want run. 01:49
01:49 darkmorph left
geekosaur oh, you aren;t running it just generating it 01:49
uh...
still do you really want qqw there? I would just do ('touch', $file) 01:50
you ask for expansion, you get expansion
bmurphy1976 well I want some kind of expansion... I get that I can just write it out but there are cases where all the noise of "," everywhere makes the commands hard to read 01:52
AlexDaniel- finanalyst: I think you can do .slurp(:close)
finanalyst AlexDaniel: Thanks. your version works but adds \n to value. .out.get also works but does not add \n.
AlexDaniel- finanalyst: then maybe .out.slurp(:close).trim-trailing
bmurphy1976 so it seems like putting "$var" in quotes to preserve whitespace is the lesser evil but was trying to see if there was a way I could have my cake and eat it too
01:53 gdonald left
finanalyst AlexDaniel: Thanks a mil. .trim-trailing is what I needed. 01:54
AlexDaniel- finanalyst: .trim should also work, but it will trim leading whitespace also
01:55 eliasr left, gdonald joined, ilbot3 joined, ChanServ sets mode: +v ilbot3
geekosaur I don't see a version that only word splits before interpolation 01:57
bmurphy1976 Thanks. I had no luck finding it either hence why I popped in here to see if I had missed something obvious 01:58
I can live with the quotes. It's not like bash is any better ;)
01:59 bmurphy1976 left
AlexDaniel- uhhh… 02:07
02:07 cdg joined
AlexDaniel- .tell bmurphy1976 I recommend not to use «» anywhere. If it happens that you forget the quotes, then you're screwed during run time. But if you split stuff yourself there's no possibility that it will go wrong 02:08
yoleaux AlexDaniel-: I'll pass your message to bmurphy1976.
AlexDaniel- .tell bmurphy1976 also, if your example above you're missing -- between your command and your file arguments
yoleaux AlexDaniel-: I'll pass your message to bmurphy1976.
AlexDaniel- .tell bmurphy1976 otherwise it won't work with filenames starting with “-”. In other words, all shell pitfalls apply. … and if so, why make your life harder by bringing in this idiotic quoting from shells? 02:10
yoleaux AlexDaniel-: I'll pass your message to bmurphy1976.
02:12 cdg left 02:19 a3r0 joined 02:23 pilne left 02:24 cdg joined 02:27 Herby__ left 02:35 noganex joined 02:38 noganex_ left 02:39 ufobat_ joined 02:43 ufobat___ left 02:51 ChoHag left 02:55 mcmillhj joined 03:00 mcmillhj left 03:07 ChoHag joined
teatime Are there any valid codepoints that, encoded standalone (in a one-codepoint-long string), would not make a valid unicode string? 03:09
TEttinger 0xffff 03:10
dunno if that's a valid codepoint, but probably not 03:11
maybe a surrogate
03:20 wamba joined, Herby_ left 03:22 piojo joined
teatime TEttinger: I'm not sure precisely which category 0xFFFF fits into... but yes, that is an example of an illegal/invalid character. 03:25
and the very last codepoint in the BMP, so if you only wanna search the BMP, use it as your top value
a useful optimization, but you are then exluding valid existing unicode codepoints in the supplementary planes
03:34 atroxape_ joined 03:37 atroxape_ left 03:38 atroxape_ joined, cdg left, atroxape_ left 03:39 atroxaper joined 03:41 mcmillhj joined 03:44 azawawi joined
azawawi hi 03:44
03:45 Cabanoss- joined 03:46 mcmillhj left
azawawi github.com/Microsoft/language-serv...rotocol.md # Seems like the direction Atom is taking with future language integrations (autocomplete, find definitions, warning/error diagnostics, ..etc) 03:47
03:49 Cabanossi left, Cabanoss- is now known as Cabanossi
teatime did I seriously just say that in #perl6 03:52
.tell TEttinger my appologies, I was confused and thought you answered the question in #ruby that led me to ask my question here. sorry :) 03:53
yoleaux teatime: I'll pass your message to TEttinger.
TEttinger oh heh 03:54
yoleaux 03:53Z <teatime> TEttinger: my appologies, I was confused and thought you answered the question in #ruby that led me to ask my question here. sorry :)
TEttinger I'm uh not in #ruby
AlexDaniel- teatime: define “valid unicode string” 03:59
teatime AlexDaniel-: yeah, that was a sub-question, is there such a thing. but if not, is there a def. of "valid grapheme cluster"?> 04:02
was just curious, I can read the specs for sure 04:03
04:03 azawawi left 04:04 darkmorph joined, ch3ck3r joined
AlexDaniel- teatime: well, not really. You can create a string with any code point actually 04:08
teatime: *but* it does not mean that you can encode it as valid utf-8
for example
m: my $x = “\xD800” # by itself it's alright
camelia ( no output )
04:08 dj_goku joined, dj_goku left, dj_goku joined
AlexDaniel- m: my $x = “\xD800”; $x.encode # but this is not ok 04:08
camelia Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 55296 (0xD800)
in block <unit> at <tmp> line 1
AlexDaniel- and therefore you can't print it also
m: my $x = “\xD800”; say $x.uniname # but this is not ok 04:09
camelia <Non Private Use High Surrogate-D800>
AlexDaniel- teatime: another limit you may be interested to know about is the amount of codepoints in a grapheme
technically, you can have as many as you want to, but rakudo has an arbitrary limit 04:10
which is around 1024 or something like that
04:10 BenGoldberg left
AlexDaniel- m: my $x = “\x0303” x 1030; 04:11
camelia Too many codepoints (1030) in grapheme
in block <unit> at <tmp> line 1
AlexDaniel- m: my $x = “\x0303” x 1024;
camelia Too many codepoints (1024) in grapheme
in block <unit> at <tmp> line 1
AlexDaniel- m: my $x = “\x0303” x 1023;
camelia ( no output )
AlexDaniel- ya
teatime: that's all I know. Maybe samcv will be able to tell you about some other interesting facts 04:12
teatime: now, if you're thinking that you can store stuff in base 0x10FFFF, then you're correct, with some exceptions however 04:13
one is stuff that you can't store in utf-8 of course, and another is normalization 04:14
04:14 thou joined, Aaronepower left
AlexDaniel- so rakudo is free to reorder stuff and swap code points according to unicode rules, so you can't really roundtrip arbitrary things 04:14
but that's explained here docs.perl6.org/language/traps#All_...By_Default 04:15
and UTF8-C8 is something you may want to know about
teatime: speaking of valid/invalid strings, another limit comes to mind 04:20
m: my $x = ‘x’ x 4294967295
camelia ( no output )
AlexDaniel- m: my $x = ‘x’ x 4294967296
camelia Repeat count (4294967296) cannot be greater than max allowed number of graphemes 4294967295
in block <unit> at <tmp> line 1
AlexDaniel- so if you want to store a 10GB string, you just can't 04:21
or you can… depending on what encoding we're talking about :)
and what characters you have there
codepoints rather 04:22
anyway o/
04:23 thou left 04:31 wamba left 04:39 skids joined 04:43 aborazmeh joined, aborazmeh left, aborazmeh joined, xtreak joined, cdg joined 04:48 cdg left 04:50 bwisti left
samcv hello 04:51
hi teatime
04:51 wander left 04:53 troys_ is now known as troys 05:06 mspo left 05:07 aborazmeh left, skids left 05:19 wamba joined 05:23 troys left 05:25 cdg joined 05:29 cdg left 05:32 patrickz joined 05:41 AlexDaniel- left 05:46 cdg joined, domidumont left 05:50 cdg left 06:05 llfourn left 06:06 domidumont joined, domidumont left 06:07 domidumont joined 06:14 AlexDaniel- joined 06:22 darkmorph left 06:25 lowbro joined, lowbro left, lowbro joined 06:43 xtreak_ joined, xtreak left 06:44 wamba left 06:51 wamba joined 06:54 xtreak joined, xtreak_ left 07:02 rba left 07:06 HoboWithAShotgun joined 07:11 darutoko joined 07:12 xtreak_ joined 07:13 xtreak left, xtreak joined 07:17 xtreak_ left 07:29 leont joined 07:31 dakkar joined 07:33 cdg joined 07:38 cdg left 07:41 |oLa| left, |oLa| joined 07:48 zakharyas joined 07:50 wamba left 07:53 sproctor joined 07:59 wamba joined 08:10 jeromelanteri joined 08:13 rba joined, xtreak left 08:14 xtreak joined 08:16 xtreak left, xtreak joined 08:17 kybr left
HoboWithAShotgun m: say sqrt(2) * sqrt(2) == 2 08:19
camelia False
HoboWithAShotgun m: say sqrt(2) * sqrt(2) =~= 2
camelia True
HoboWithAShotgun m: say ( sqrt(2) * sqrt(2) ).Rat == 2
camelia True
HoboWithAShotgun m: say 2**0.5 * 2**0.5 == 2 08:20
camelia False
eater m: say (sqrt(2) * sqrt(2))
camelia 2
eater m: say (sqrt(2) * sqrt(2)) == 2
camelia False
eater :D
wat 08:21
timotimo m: say (sqrt(2) * sqrt(2)) - 2
camelia 4.44089209850063e-16
timotimo m: say (sqrt(2) * sqrt(2)) eq 2
camelia True
eater m: say (sqrt(2) * sqrt(2)).nude
camelia No such method 'nude' for invocant of type 'Num'. Did you mean any of these?
none
note

in block <unit> at <tmp> line 1
eater oh
it's not a Rat
timotimo yeah
we don't have rat-giving trig either
eater why doesn't sqrt return a Rat? 08:22
m: say sqrt(2).Rat * sqrt(2).Rat
camelia 1.9999990
eater :D
HoboWithAShotgun well, it's a crux. you can define pi as some large rational, but then you end up having rounding errors elsewhere 08:24
timotimo m: say pi.^name
camelia Num
HoboWithAShotgun like angles in a triangle not addding up to 180°
timotimo m: say pi.Rat(0.0000001).nude
camelia (103993 33102)
timotimo m: say pi.Rat(0.001).nude 08:25
camelia (333 106)
timotimo m: say pi.Rat(0.1).nude
camelia (22 7)
08:44 xtreak left 08:56 sproctor left 08:59 abraxxa joined 09:15 mcmillhj joined, leont left 09:16 kybr joined 09:20 mcmillhj left, xtreak joined 09:22 margeas joined 09:23 aborazmeh joined, aborazmeh left, aborazmeh joined, leont joined 09:27 vivus-ignis joined, rgrau joined 09:29 wamba left, wamba joined 09:30 jonas1 joined 09:31 mcmillhj joined 09:35 mcmillhj left 09:49 domidumont left 09:50 domidumont joined 09:54 zakharyas left 09:56 zakharyas joined 10:01 rgrau left 10:03 astj left, astj joined 10:04 astj left, astj joined 10:09 ShalokShalom joined 10:11 llfourn joined 10:16 vivus-ignis is now known as ignis__away 10:18 lowbro left 10:22 sproctor joined 10:24 cdg joined 10:29 cdg left
HoboWithAShotgun how do i tell wether &($handler) contains something callable? 10:33
&($handler).defined seems to be always true
10:34 xtreak left, xtreak joined 10:35 traxex left
moritz $handler ~~ Callable 10:36
10:36 finanalyst left 10:41 traxex joined
HoboWithAShotgun m: class c { has $.handler; }; my $m = c.new.^methods.first({ .name ~~ "handler" }); $m.defined.say 10:41
camelia True
HoboWithAShotgun there. how do i test wether $m contains something i can call
10:43 robertle joined 10:44 kerframil joined
moritz if first() doesn't find a method, it'll return something undefined 10:45
so $m.defined seems like a good test to me
(and .^methods should only ever return callable stuff)
m: class c { has $.handler; }; my $m = c.new.^methods.first({ .name ~~ "mishandler" }); $m.defined.say
camelia False
HoboWithAShotgun but the handler method is always there 10:46
question is wether the attribute the methode refers to has a value 10:47
moritz well, you need to call it to get to the attribute
HoboWithAShotgun yeah
i just realized that too 10:48
moritz m: class c { has $.handler; }; my $o = c.new; my $m = $o.^methods.first({ .name ~~ "handler" }); say $m($o) ~~ Callable
camelia False
moritz m: class c { has $.handler; }; my $o = c.new(handler => sub () {} ); my $m = $o.^methods.first({ .name ~~ "handler" }); say $m($o) ~~ Callable
camelia True
moritz btw call by name is easier this way: 10:49
m: class c { has $.handler; }; my $o = c.new(handler => sub () {} ); say $o."handler"() ~~ Callable
camelia True
tyil melezhik: hi 10:57
melezhik tyil: hi :) 10:58
yoleaux 10 Oct 2017 17:58Z <tyil> melezhik: nice article on sparrowdo, I might check it out when I have time to spare
tyil ^ I am doing that, as you may have noticed
melezhik ok, thanks!
tyil I have tried to clean up the code in the bootstrap script, travis is currently taking a look at it
melezhik sure, I have already noticed you made a fork ...
tyil I want to be clear on this that I only tested it on my funtoo laptop 10:59
not on any other target
melezhik yeah, I see
tyil wouldnt want to break it for everyone but me :< 11:00
melezhik yeah, anyway I will review once you make a MR ...
11:01 zakharyas left
tyil alright 11:01
thanks for the support so far, hope I can help you back a little as well
.hug melezhik
huggable hugs melezhik
11:03 lowbro joined, lowbro left, lowbro joined
melezhik tyil: a quick examination of your fork gives me a sense that you're better in bash/sh programming then me ((: , but of course I will check thoroughly 11:04
11:04 aborazmeh left
melezhik tyil: see ya 11:04
tyil ttyl :> 11:05
11:10 pmurias joined 11:15 quotable6 left 11:18 ignis__away is now known as vivus-ignis 11:25 rindolf joined
pmurias starts working on NativeCall for the js backend 11:25
mst I am faintly terrified by that statement, and I meant that as a compliment. 11:26
11:26 atroxaper left 11:28 okl joined
Geth ecosystem: a21fe95eca | (Jarkko Haapalainen)++ (committed using GitHub Web editor) | META.list
Add CommandLine::Usage
11:33
HoboWithAShotgun is there something akin to a method container? something you can add callables to and when you call it, all contained get called with the same arguments 11:35
like what c# does, someclass.someevent += handler
11:45 ShalokShalom left 11:51 xtreak left
moritz iirc jnthn++ developed an AOP-inspired meta class for a talk once that did similar things 11:51
but my memory is blurred, don't know where to find it
Geth doc: b5437dc762 | (Will "Coke" Coleda)++ | doc/Type/Signature.pod6
Fix signature typo, can't have two invocants

Found by running xt tests.
11:53
synopsebot Link: doc.perl6.org/type/Signature
Geth doc: e7b5321d08 | (Will "Coke" Coleda)++ | xt/words.pws
learn new exception type
11:54 xtreak joined 11:59 traxex left 12:00 zakharyas joined 12:01 zakharyas1 joined 12:04 titsuki left, zakharyas left 12:10 xtreak left 12:18 traxex joined 12:19 smonff joined 12:20 buggable left, buggable joined, ChanServ sets mode: +v buggable 12:21 buggable left, smonff left, smonff joined 12:23 okl left, traxex left 12:25 buggable joined, ChanServ sets mode: +v buggable 12:26 buggable left, eliasr joined, buggable joined, ChanServ sets mode: +v buggable 12:30 buggable left, buggable joined, ChanServ sets mode: +v buggable 12:31 buggable left, buggable joined, ChanServ sets mode: +v buggable 12:32 releasable6 left, releasable6 joined, ChanServ sets mode: +v releasable6, buggable left 12:33 buggable joined, ChanServ sets mode: +v buggable, wamba left, buggable left 12:34 buggable joined, ChanServ sets mode: +v buggable 12:36 traxex joined 12:38 epony left 12:43 quotable6 joined, ChanServ sets mode: +v quotable6 12:46 traxex left 12:48 mson joined 12:52 smonff left, wamba joined 12:53 mcmillhj joined 12:54 flatwhite joined
Geth doc: 52863626db | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/operators.pod6
Remove useless "note that"
12:56
synopsebot Link: doc.perl6.org/language/operators
12:57 kerframil left 13:04 leont left 13:05 harrison joined 13:06 vivus-ignis is now known as ignis__away 13:07 llfourn left 13:08 cdg joined 13:15 ignis__away is now known as vivus-ignis, harrison left 13:16 cdg_ joined 13:19 cpage_ left, cdg left
Geth doc: cdf2a42039 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/operators.pod6
Document `temp`'s behaviour with delayed reads
13:20
synopsebot Link: doc.perl6.org/language/operators
13:22 cpage_ joined, void1 joined 13:24 borisd joined
borisd hello, i'm looking for nine , are you here? 13:24
13:25 traxex joined
jnthn borisd: On vacation, iirc 13:26
borisd jnthn: ok, thx... does he read his cpan-mail?
i guess so, right? :-P 13:27
jnthn No idea, but I'd guess so. Though if I was on vacation I'm not sure I'd be spending it reading mine ;-) 13:28
13:40 wamba left, wamba joined 13:42 ShalokShalom joined 13:45 vivus-ignis is now known as ignis__away 13:47 smonff joined 13:49 Cabanossi left, Brumbazz joined 13:50 Cabanossi joined
Brumbazz Hi, I'm trying to get the following perl6 code to work, but I have no clue what I'm duing wrong.. pastebin.com/aP5FAuBJ I want to evaluate the regex expression in the variable $str. I then want to capture the word "THIS" such that I can print it out if the regex matches. Thanks in advance :) 13:54
13:57 jeromelanteri left 14:00 thunktone joined
moritz Brumbazz: you can't add captures in <{...}> 14:01
Brumbazz: a workaround is to assign the <{...}> construct itself to a capture
m: my $str = '\'Who is \'(.*?)\?'; if "Who is THIS?" ~~ / $<who>=<{$str}> / { print "match ! $<who>[0]"; }
camelia match ! THIS
moritz ... and yet another regex detail I didn't cover in my book
14:02 Praise left
Brumbazz moritz: Thanks a lot :) 14:02
Do you have a link to your book ?
moritz Brumbazz: www.amazon.com/Parsing-Perl-Regexe...1484232275 14:03
not yet published though (in production phase right now)
borisd Hey moritz , seems you just got an email from reb, thats me he is talking about :-)
moritz borisd: I did not get an email 14:04
Brumbazz moritz: thanks :> Alright :)
thanks again, it works!
moritz borisd: in case somebody is still using my old [email@hidden.address] that doesn't work anymore. Please use [email@hidden.address] instead
borisd moritz: yep, he used the old one, I'll tell him 14:05
moritz borisd: thanks
14:06 wamba left
borisd moritz: you should have the mail now... it's still in a very early stage of planning. Stay tuned... maybe give a short reply. thx 14:07
14:10 Aaronepower joined
borisd p6: say "bye bye"; 14:11
camelia bye bye
borisd :-)
14:11 mspo joined 14:12 borisd left, leont joined 14:14 margeas left 14:15 skids joined 14:17 ignis__away is now known as vivus-ignis 14:26 atroxaper joined 14:29 vivus-ignis is now known as ignis__away 14:32 darkmorph joined 14:38 epony joined 14:43 ignis__away is now known as vivus-ignis 14:44 aindilis left, aindilis joined 14:47 Cabanossi left 14:50 Cabanossi joined 14:52 domidumont left 14:58 vivus-ignis is now known as ignis__away, ignis__away is now known as vivus-ignis 15:02 thunktone left 15:03 darkmorph left, thunktone joined 15:13 vivus-ignis is now known as ignis__away 15:18 wamba joined 15:21 ignis__away is now known as vivus-ignis 15:34 Cabanossi left 15:35 Cabanossi joined 15:43 wamba left 15:44 andrzejku joined, vivus-ignis left 15:53 lowbro left 15:55 okl joined 15:59 abraxxa left 16:00 arg_ joined
arg_ how do I combine commandline arguments: ./program -abc 16:01
From: sub MAIN(:a($a), :b($b), :c($c)) { ... } 16:02
ugexe you cant unless there is a 3rd party module 16:03
-abc is the same as :$abc
arg_ I thought that would be --abc 16:04
atroxaper arg_: there are no such functionality out of the box, as I know.
ugexe the `-` vs `--` doesn't have a real distinction
although maybe its intended to have such
16:04 mempko joined 16:05 mcmillhj left
ugexe but there is nothing stopping you from doing :foo(:bar(:$bar)), so it can't really make an assumption about aliases 16:05
16:05 strangemk2 joined
arg_ you cannot share them though 16:05
ugexe what do you mean 16:06
arg_ sub MAIN(:ab(:a($a)), :ab(:b($b))) { ... }
ugexe right, i wasnt suggesting to do what I showed above. that was meant to show that the default behavior likely can't just translate multi options with `-` without making &MAIN signature work different than all other routines 16:07
16:09 void1 left
atroxaper Does somebody know why my module is not appear in modules.perl6.org? There are no scan running for several days (modules.perl6.org/update.log) 16:09
16:09 wander joined
ugexe you could grep @*ARGS for .starts-with('-') && not .starts-with('--'), then split on nothing (.comb) and prefix each option with a `-` 16:09
16:10 dogbert17 joined, cdg_ left, committable6 left
ugexe such that when MAIN gets called it doesnt see -abc, but -a -b -c 16:10
16:10 robertle left
wander arg_: docs.perl6.org/language/functions#...entry-MAIN 16:12
ugexe something like: @*ARGS = @*ARGS.map({ $arg.starts-with('-') && not $arg.starts-with('--') ?? $arg.substr(1).comb.map({"-$_"}).Slip !! $arg })
16:13 ch3ck3r left
wander I think -abc and --abc both pass named para abc 16:13
ugexe rather: @*ARGS = @*ARGS.map(-> $arg { $arg.starts-with('-') && not $arg.starts-with('--') ?? $arg.substr(1).comb.map({"-$_"}).Slip !! $arg })
16:14 epony left
wander and I am curious of github.com/perl6/doc/issues/1595 16:14
ugexe things would be easier if we could just start identifiers with - and -- :P 16:16
sub MAIN(:$--foo, :$-foo) { $-foo -= --$--foo } 16:17
16:18 cdg joined 16:20 cdg left
wander hah, with sigil it may be implemented one day 16:22
but identifiers like barely --foo parsed difficultly 16:24
16:24 sproctor left
wander and so far, as mentioned in issue #1595, --foo equals -foo 16:25
16:26 committable6 joined, epony joined
wander (when trying to pass named para to sub MAIN 16:26
16:30 mniip left 16:32 mniip joined
[Coke] I have a bunch of proc-async jobs I create. I want to max out how many I am trying to run at a given time. Is there a better way to do this than keeping an array of X running jobs, waiting for one of them to finish, picking that one, removing it from the list, add another one to the list, loop until done? 16:35
(starting the job only when adding it to the running list)
arg_ ugexe: I just get "This type cannot unbox to a native string: P6opaque, Bool". 16:38
jnthn [Coke]: I'm sure there's a module that does that for you 16:41
[Coke] Ah. Proc::Q seems likely. 16:42
wander @*ARGS = @*ARGS.map(-> $arg { $arg.starts-with('-') && !$arg.starts-with('--') ?? $arg.substr(1).comb.map({"-$_"}).Slip !! $arg }); say @*ARGS; 16:43
arg_: ^^ works for me
it convert -abc into -a -b -c
[Coke] .tell zoffix Proc::Q fails its tests here.
yoleaux [Coke]: I'll pass your message to zoffix.
ugexe perl6 -e '@*ARGS = @*ARGS.map(-> $arg { ($arg.starts-with("-") && not $arg.starts-with("--")) ?? $arg.substr(1).comb.map({"-$_"}).Slip !! $arg }); say @*ARGS.perl; sub MAIN(Bool:D :a(:$aa)!, Bool:D :b(:$bb)!, Bool:D :c(:$cc)!) { say $aa; say $bb; say $cc }' 16:45
as wander points out: it was precedence issue with `.. not .. ?? .. !!`. so !$arg ... or (not $arg ...) both fix your problem 16:46
16:48 rgrau joined, wamba joined, cdg joined
[Coke] tries to drop back to 2017.09 and see if that works. 16:49
arg_ ugexe: I had to parenthesise: ($_.starts-with('-') && not $_.starts-with('--'))??
it works now (:
16:50 rba left 16:55 itaipu joined 16:56 dakkar left
Geth doc/master: 5 commits pushed by 陈梓立++, (Patrick Spek)++ 17:01
TimToady HoboWithAShotgun: you can use .wrap to put wrappers around methods, but that's about all the support we put in originally for AOP (other than attempting to specify when the compiler could start assuming routines wouldn't be wrapped for optimization purposes)
17:01 patrickz left, mcmillhj joined
TimToady other than that, Modules Will Happen :) 17:02
17:03 robertle joined 17:05 eroux joined 17:06 ChoHag left 17:07 mcmillhj left 17:08 leont left 17:10 domidumont joined 17:14 cog_ joined 17:15 cognominal left, mcmillhj joined 17:16 dogbert17 left 17:18 zakharyas1 left 17:20 Cabanossi left, wamba left, wamba joined, Cabanossi joined, dogbert17 joined 17:21 HoboWithAShotgun left 17:23 thunktone left 17:25 flatwhite is now known as kerframil 17:26 thunktone joined 17:28 Brumbazz left 17:29 andrzejku left 17:32 atroxaper left 17:41 nadim_ left, nadim joined 17:50 kyan joined 17:51 wamba left, wamba joined 17:57 mcmillhj left 18:03 rba joined 18:04 troys joined, mcmillhj joined 18:06 HoboWithAShotgun joined 18:12 Praise joined, Praise left, Praise joined 18:14 okl left 18:17 vivus-ignis joined, ggoebel left 18:19 darutoko left 18:22 wander left 18:23 cdg_ joined 18:26 cdg left
El_Che can PR's be sent to rakudo.org website? 18:26
I don't see it on github
18:27 cdg_ left
timotimo do you have rakudo forked on github? 18:28
El_Che yes
timotimo it should offer you to make a pr when you go to the "branches" list and select that branch
from the "compare" view 18:29
El_Che I mean the website contant, not rakudo itself
18:29 vivus-ignis left 18:30 BackEMF joined
timotimo oh! 18:31
no, that lives in a wordpress
El_Che I see github.com/nxadm/rakudo-pkg/releases was added, but it's not a aref, just text. Small fix :) 18:32
timotimo where is it?
found it 18:33
El_Che rakudo.org/how-to-get-rakudo/#Insta...Star-Linux
18:33 ggoebel joined
El_Che also, maybe we should also mention the Linux subsystem on windows. Should I send you a paragraph? 18:33
timotimo you may. refresh the page to see how i worded the link 18:34
El_Che Or maybe: If you use the Linux Subsystem of Windows 10, you can install the Ubuntu 16.04 package (run /opt/rakudo/bin/fix_windows10 after the install). 18:35
timotimo where do i put that? 18:36
El_Che ubuntu 16.04 has rakudo 2015.11 on the repo's and we don't want people installing that
Following the last sentence of the paragraph ("modules you might wish to use.") 18:37
18:38 pilne joined
timotimo hm, you think we can somehow disambiguate ubuntu's package vs the package from your repo? 18:39
18:39 zakharyas joined
El_Che good point 18:39
Or maybe: If you use the Linux Subsystem of Windows 10, you can install nxadm's Ubuntu 16.04 package (run /opt/rakudo/bin/fix_windows10 after the install). 18:40
18:40 mcmillhj left
timotimo yeah, that's good 18:40
18:41 mcmillhj joined
Geth doc: a57e71904b | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Proc/Async.pod6
Revert "Don't recommend code that does not work"

This reverts commit 70084290cf881af88546d507fc2ba4448bfa7aaf.
18:41
synopsebot Link: doc.perl6.org/type/Proc/Async
Geth doc: b63da2ad13 | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Type/Proc/Async.pod6
Prevent frustration with older Rakudo versions

See RT #132016.
synopsebot RT#132016 [resolved]: rt.perl.org/Ticket/Display.html?id=132016 [TESTNEEDED] Supply.merge and signals ( signal(SIGTERM).merge(signal(SIGINT)) )
timotimo have a look, i updated the page 18:43
we should probably also link to the unix subsystem for windows stuff from the windows section above? 18:44
El_Che yeah, I was thinking about that
18:45 mcmillhj left
El_Che (I case you want to run Raudo on the Linux Sybsystem of Windows 10, look under nxadm's rakudo-pkg" <- link to Linux & Unix-like oeprating systems 18:45
timotimo check a look 18:49
18:49 mcmillhj joined 18:53 void1 joined 18:54 lizmat left, BackEMF left 18:56 strangemk2 left 18:57 cognominal joined 19:00 cog_ left 19:01 mr-foobar left 19:02 wamba left 19:03 vivus-ignis joined, rgrau left 19:04 mr-foobar joined 19:05 astj left 19:06 astj joined 19:07 domidumont left 19:10 astj left, ChoHag joined 19:12 zakharyas left, troys is now known as troys_
El_Che thx timotimo 19:15
19:15 zakharyas joined
timotimo YW, thanks for your contributions :) 19:15
19:16 zakharyas left 19:18 zakharyas joined 19:23 mempko left 19:24 lizmat joined 19:26 rgrau joined, mr-foobar left, piojo left 19:28 mr-foobar joined 19:31 piojo joined
tyil .tell melezhik the funtoo build is going to be more of a pain to fix than I anticipated, Funtoo recently updated its package manager, and the docker images havent accounted for this change yet 19:36
yoleaux tyil: I'll pass your message to melezhik.
19:38 piojo left 19:40 jonas1 left 19:41 evalable6 left 19:42 evalable6 joined, ChanServ sets mode: +v evalable6, setty1 joined, arg_ left 19:44 vivus-ignis left 19:47 piojo joined 19:51 piojo left 19:52 troys_ is now known as troys 19:56 mr-fooba_ joined, kyan left, mr-foobar left 20:04 cdg joined 20:08 cdg_ joined 20:12 cdg left 20:17 strangemk2 joined 20:20 void1 left 20:25 vivus-ignis joined 20:32 Cabanossi left 20:35 Cabanossi joined 20:36 robertle left 20:39 rgrau left 20:41 lizmat_ joined 20:43 lizmat left 20:59 skids left, vivus-ignis left 21:06 Rawriful joined 21:10 zakharyas left 21:15 [equa] joined 21:17 [equa] left 21:19 [equa] joined 21:24 mcmillhj left, mcmillhj joined 21:27 Geth left, Geth joined 21:29 mcmillhj left 21:30 Geth left, Geth joined 21:32 Geth left, Geth joined 21:36 audiatorix joined
pilne i am guessing, that hosting a perl6 app takes a server that one has a lot of freedom of choice to install things on? 21:47
unlike the dime-a-dozen options for things like perl5/php/python 21:48
[equa] yeah. my favorite host doesn't support perl6 despite having a lot of other languages 21:52
21:53 setty1 left
[equa] hell, they have 4 different schemes but still only perl 5 21:53
pilne i see there is a heroku buildpack, not sure how current/good it is, and heroku isn't quite my favorite solution overall, but other than that i'm coming up blank on the googlefu
lol, talk about a fragmented ecosystem, love a lot about scheme outside of that
21:54 Geth left
[equa] oh, and two different non-scheme lisps 21:54
still been trying to find a perl 6 host, actually
21:55 strangemk2 is now known as void1
HoboWithAShotgun allright. you don't have to wonder your mouse event loop be slow if you have a fat Dump of the entire widget tree in there 21:55
21:55 Geth joined
ugexe hackerrank lets you submit answers in something called LOLCODE but not perl6 21:55
21:56 Geth left, void1 left, Geth joined, itaipu left 21:58 mcmillhj joined
jdv79 wasn't there a lolcode compiler for parrot 21:58
or was that some other lame lang on the first versions of nqp 21:59
yeah, parrot looks like 22:01
HoboWithAShotgun ... to disk 22:02
22:03 dogbert17 left, mcmillhj left, thunktone left 22:11 rindolf left 22:14 mcmillhj joined 22:20 levex left 22:22 mcmillhj left 22:27 Levex joined 22:28 Levex is now known as Guest87124 22:29 mcmillhj joined 22:33 smonff left, skids joined 22:38 char_var[buffer] joined 22:44 nadim left 22:45 epony left 22:47 pmurias left 23:07 evalable6 left 23:08 evalable6 joined 23:28 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6, mcmillhj left 23:33 Cabanossi left 23:35 Cabanossi joined 23:48 epony joined 23:53 Geth_ left, Geth_ joined, ChanServ sets mode: +v Geth_ 23:54 ShadowManu joined
ShadowManu have a good day fellow programmer folks. I'm intending to use a scripting language for automating Continuous Integration (and Delivery) tasks. In particular, I will be playing with AWS, so mostly its about running commands and connecting through network. I had either bash (because of tradition), or javascript (because of own usage) but I don't feel them suited for comfy scripting. I was taking a look at learning perl and comes the 23:57
Juerd ShadowManu: Your line ends after 'comes the' because of the message length limitation of IRC. 23:58
23:58 ShadowManu left, cdg_ left
timotimo :( 23:59
23:59 ShadowManu joined
Juerd Welcome back 23:59