»ö« 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 |