🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku Set by ChanServ on 14 October 2019. |
|||
00:07
holyghost left
00:23
marcusr left
00:24
marcusr joined,
Doc_Holliwood left
00:26
marcusr left
00:27
marcusr joined
00:34
patrickz left
00:41
oneeggeach joined,
oneeggeach left
01:09
ctilmes_ joined,
ctilmes_ left
01:34
mahafyi left
01:36
ctilmes_ joined
01:45
molaf left
01:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
01:48
MasterDuke left
01:58
molaf joined
02:10
pilne left
02:14
dotdotdot left,
dotdotdot joined
02:19
dotdotdot left
02:22
dotdotdot joined
02:26
dotdotdot left
02:39
Cabanossi left
02:41
Cabanossi joined
02:43
dotdotdot joined
02:56
ctilmes_ left
02:57
RaycatWhoDat joined
03:02
RaycatWhoDat left
03:05
ctilmes_ joined
03:22
ctilmes_ left
03:41
molaf left
03:48
mahafyi joined
03:56
hungrydonkey joined
04:01
k-man left
04:09
k-man joined
04:10
u_u left
04:11
aborazmeh left
04:32
Doc_Holliwood joined
04:55
bkool joined
04:58
hungrydonkey left
05:12
sauvin joined
05:15
brtastic joined
05:20
hungrydonkey joined,
bkool left
05:22
Redfoxmoon left
05:25
SpiceMan joined
|
|||
SpiceMan | $ raku -> You may want to `zef install Readline` etc etc. where do I get this Seph guy from? | 05:26 | |
05:33
hungrydonkey left
|
|||
AlexDaniel | SpiceMan: sorry, what do you mean? | 05:51 | |
SpiceMan | the repl says I can zef install Readline. I find no such zef :) | 05:53 | |
AlexDaniel | SpiceMan: oh, then you need to install zef first github.com/ugexe/zef | 06:08 | |
06:08
Redfoxmoon joined
|
|||
SpiceMan | thanks | 06:11 | |
06:19
brtastic left
|
|||
Geth | ecosystem: c355c7b2b3 | (Matias Linares)++ (committed using GitHub Web editor) | META.list Matrix::Client moved to CPAN |
06:22 | |
ecosystem: d9dae40dad | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list Merge pull request #492 from Raku/matiaslina-patch-1 Matrix::Client moved to CPAN |
|||
doc/master: 4 commits pushed by (Stoned Elipot)++, (Juan Julián Merelo Guervós)++ | 06:24 | ||
doc: 6a0e048c35 | (Stoned Elipot)++ | 2 files Process Pod code block with lang:<raku> |
06:25 | ||
doc: c3d8ba3edc | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | 2 files Merge pull request #3376 from Raku/code-block-raku Process Pod code block with lang:<raku> |
|||
06:30
Doc_Holliwood left
06:46
brtastic joined
06:56
robertle joined
07:00
farcas1982regreg joined
07:08
andrzejku joined
07:17
konvertex joined
07:27
roguelazer left
07:28
roguelazer joined
07:33
konvertex left
07:35
MasterDuke joined
07:40
skyl4rk left,
daxim left
07:51
farcas1982regreg left,
farcas1982regreg joined
07:56
skyl4rk joined
07:59
daxim joined
08:06
daxim left
08:07
stoned75 joined
08:11
daxim joined
08:13
sjm_uk joined
08:16
Redfoxmoon left,
Redfoxmoon joined
08:17
daxim left
08:30
daxim joined
08:34
gordonfish left
08:44
daxim left
08:48
jjmerelo joined
08:50
stoned75 left
08:51
rindolf joined
09:00
daxim joined
09:04
jjmerelo left
09:14
pecastro joined
09:42
jjmerelo joined
09:51
sjm_uk left
09:52
mayuresh joined,
mayuresh left
09:55
stoned75 joined
09:58
Sgeo_ joined
10:01
konvertex joined,
Sgeo left
10:05
Altai-man_ joined
10:08
andrzejku left
10:15
andrzejku joined
10:16
sena_kun joined
10:18
Altai-man_ left
10:27
sjm_uk joined
10:45
molaf joined
10:47
MasterDuke left
11:04
ctilmes_ joined
11:06
andrzejku left
11:16
farcas1982regreg left
11:17
konvertex left
11:20
farcas1982regreg joined
11:22
konvertex joined
11:26
andrzejku joined
11:37
MasterDuke joined
11:39
stoned75 left
11:40
ctilmes_ left
11:45
ctilmes_ joined
11:46
Noisytoot joined
|
|||
robertle | has anyone got experience with cro and exception handling? I would like to just throw exceptions within my app, and then transform them to responses in the router. works, but I can only put the exception handler into the "get -> 'path' {" sort of constructs, not the block around it. | 11:49 | |
which means I need to duplicate the exception handling, I would rather only have one... | 11:50 | ||
sena_kun | robertle, I imagine you can 1)throw an exception, it'll be converted into 500 response and then have a middleware to convert 500 responses into some pages; 2)to keep the information, dynamic var can be used, though I am not really sure how concurrency safe, possibly some sort of exception storage monitor would be more safe. | 11:54 | |
robertle, can you provide a pseucodoe example, please? | 11:56 | ||
robertle | sena_kun: yeah, but I would like it to be a bit more fine-grained, like 4xx/5xx depending on exception type etc. I'll keep playing and report back, just wondering if anyone has done this before and I am just stupid... | ||
11:56
andrzejku left
|
|||
robertle | so e.g. github.com/robertlemmen/svc-shelve...akumod#L80 | 11:57 | |
this kinda works and can be extended to more exception types etc, but I need it in each route, and would like to have it one level up | |||
11:58
ctilmes_ left
11:59
andrzejku joined
|
|||
sena_kun | robertle, I think the easy way is to set the response's body to some constant text for this type of exception, then in middleware you can inspect it and rewrite as you wish, having the whole logic in a single place instead of duplicating it in every handler. | 12:00 | |
robertle | hm, but where would you put the CATCH? I was trying to avoid duplicating that part... | 12:09 | |
anyway, just needs more fiddling... | 12:10 | ||
12:15
girafe2 joined,
Altai-man_ joined
12:18
sena_kun left,
girafe left
12:21
Doc_Holliwood joined
12:22
bloatable6 left,
bloatable6 joined
|
|||
konvertex | Damn, chaining iterators is nice and all, but raku's meta operators are a whole different level. Nice and concise, slick! | 12:29 | |
Alright, actual newbie question: I want to extract the same chars of two string, removing non-matching. Is there a fancier way than this? | |||
("abc".comb Z "axc".comb).grep({.head eq .tail}).map(*.head).join | |||
12:33
mowcat joined
|
|||
MasterDuke | konvertex: do they have to be in order? | 12:34 | |
konvertex | Yes. | ||
12:35
andrzejku left
|
|||
AlexDaniel | konvertex: this is not really neater but: | 12:38 | |
m: say (‘abc’.comb Zxx ("abc".comb Zeq "axc".comb)).join | |||
camelia | ac | ||
konvertex | xx in conjunction with truthy vals, interesting. I like it. | 12:42 | |
AlexDaniel | m: say zip(‘abc’.comb, ‘axc’.comb, with => { $^a eq $^b ?? $a !! Empty }).join | 12:52 | |
camelia | ac | ||
AlexDaniel | konvertex: or maybe like this | ||
tadzik | heh, these “proper quotes” always make me uneasy when I see them in code :P | 12:56 | |
AlexDaniel | tadzik: why | ||
konvertex | AlexDaniel: That will do, thanks! | ||
tadzik | AlexDaniel: just unusual, they always feel like "oh no, someone copypasted it from something with good formatting and now the parser will obviously reject them" ;) | 12:57 | |
and then I realize it's Raku so no need to worry | |||
AlexDaniel | ah :) | 12:58 | |
13:02
caterfxo left
|
|||
jnthn | m: say ("abc".comb Z[&({ $^a if $^a eq $^b })] "axc".comb).join | 13:04 | |
camelia | ac | ||
13:10
jjmerelo left
|
|||
[Coke] | m: 0_0; | 13:22 | |
camelia | WARNINGS for <tmp>: Useless use of constant integer 0_0 in sink context (line 1) |
||
timotimo | m: say ... 0_0; | 13:24 | |
camelia | Potential difficulties: Apparent sequence operator parsed as stubbed function argument; please supply any missing argument to the function or the sequence (or parenthesize the ... call, or use 'fail' instead of ...) at <tmp>:1 ------… |
||
timotimo | m: say / <(^.^)> / | 13:25 | |
camelia | / <(^.^)> / | ||
[Coke] | :) | 13:26 | |
AlexDaniel | m: say 6^…^9 | ||
camelia | (7 8) | ||
13:31
stoned75 joined
13:34
ctilmes_ joined,
andrzejku joined
13:36
sjm_uk left
13:37
gordonfish joined
|
|||
timotimo | nice | 13:44 | |
13:44
sivoais left,
sivoais joined
|
|||
mahafyi | raku scripts reacting to SIEM events via tailing syslog files (manually parsing logs, but learning grammars now heh, will recode next week). The whole thing is working well and *better* than fail2ban. Though slurping data inside the react block, memory utilization is fine, and scripts have been running without crash stably for a few days now. And | 13:44 | |
banned plenty bad guys, \o/ | |||
13:45
abraxxa left
|
|||
moritz | nice! | 13:45 | |
konvertex | Damn, Z[&({ ... })] is interesting as well. Raku's a complex beast indeed. | 13:47 | |
mahafyi | i didn't use any telemetry (will learn also), no HUP kill inside a crontab entry either. Simply ran inside a terminal emulator (screen) , monitoring with htop only for now. | 13:49 | |
konvertex | My homies over at #ada would lynch me for that. | ||
moritz | I prefer to call it "versatile" :D | 13:50 | |
AlexDaniel | konvertex: well, it's not the most readable alternative | ||
13:55
Redfoxmoon_ joined,
Redfoxmoon left
13:56
Redfoxmoon_ left,
Redfoxmoon_ joined,
Redfoxmoon_ is now known as Redfoxmoon,
molaf left
14:00
Doc_Holliwood left
14:01
Doc_Holliwood joined
14:05
mowcat left
14:17
sena_kun joined
14:18
Altai-man_ left
14:44
Doc_Holliwood left
14:45
brtastic left
14:47
melezhik joined
14:49
daxim left
14:53
mayuresh joined
|
|||
mayuresh | i believe perl(5) had it's own extension to regex called 'pcre'. | 14:55 | |
does that same hold true for raku too? | |||
15:01
mayuresh left
|
|||
tadzik | pcre is not perl5's regex extension | 15:02 | |
it's a separate project that calls itself "perl compatible", but mostly it's just compatible with pcre ;) | |||
I don't think there's anything like pcre for Raku's regexes though | |||
15:04
mayuresh joined
15:05
mayuresh left
15:12
vmv joined
15:13
mayuresh joined
15:17
daxim joined
|
|||
mayuresh | if anyone reads this, do take a look at "causal profiling". | 15:18 | |
their c++ based implementation; github.com/plasma-umass/coz/ | 15:19 | ||
and they also have a python implementation called "scalene". | |||
hope even "raku" gets one soon. :) | |||
15:19
jjmerelo joined
|
|||
mayuresh | hi merelo. :) | 15:19 | |
watched your video on youtube today. :) | |||
love the way you talk, especially your accent. :) | 15:20 | ||
jjmerelo: google for "scalene profiler python". | |||
jjmerelo | Thanks! | 15:21 | |
mayuresh | or simply; github.com/emeryberger/scalene | ||
jjmerelo | But in relation to which video? | 15:22 | |
mayuresh | umnn, the one in which you introduced your book on raku. | ||
also talked about how to taught your girls programming. | |||
15:23
brtastic joined
15:25
__jrjsmrtn__ joined,
vmv left,
_jrjsmrtn left
15:28
guifa2 left
15:35
mayuresh left
15:52
stoned75 left
15:54
stoned75 joined
15:57
chloekek joined
16:00
Doc_Holliwood joined
16:02
Noisytoot left
|
|||
lizmat | weekly: p6steve.wordpress.com/2020/05/07/r...g-or-what/ | 16:04 | |
notable6 | lizmat, Noted! (weekly) | ||
16:11
brtastic left
|
|||
AlexDaniel | weekly: sparrowdo.wordpress.com/2020/05/08...eue-short/ | 16:14 | |
notable6 | AlexDaniel, Noted! (weekly) | ||
16:16
Altai-man_ joined
|
|||
AlexDaniel | 6c: say $*PERL | 16:16 | |
committable6 | AlexDaniel, gist.github.com/5072e66403c8920dea...ff4e839395 | ||
16:19
sena_kun left
16:26
Noisytoot joined
16:30
andrzejku left
16:33
ctilmes_ left
16:37
Doc_Holliwood left
16:47
finsternis joined
16:51
Doc_Holliwood joined
|
|||
El_Che | the capitals :) | 16:54 | |
17:17
stoned75 left
17:29
andrzejku joined
17:35
Doc_Holliwood left
17:40
Doc_Holliwood joined
17:49
molaf joined
17:50
Noisytoot left
17:52
andrzejku left
17:58
patrickb joined
18:08
xps joined
|
|||
xps | The Buf returned from .slurp'ing a IO handle with :bin returns Buf[uint8] - I want Buf[uint64], how can I influence that? | 18:09 | |
18:11
andrzejku joined
18:17
sena_kun joined
18:18
Altai-man_ left
18:26
sauvin left
18:27
vmv joined
18:31
Noisytoot joined
18:37
vmv left
18:44
andrzejku left
19:14
jjmerelo left,
mowcat joined
19:24
hacktor joined
|
|||
ctilmes | xps: You could always read uint64s from a Buf[uint8] with read-uint64() | 19:29 | |
xps | ctilmes: Alright, perfect, thanks! | 19:30 | |
jdv79 | how come a MAIN arg declared as Int allows a Bool? | ||
xps | Also, is it correct that the filehandle lock method locks the filehandle itself in the program and it does not relate to file locking in say Linux? | ||
MasterDuke | m: say Bool.^mro | 19:36 | |
camelia | ((Bool) (Int) (Cool) (Any) (Mu)) | ||
jdv79 | how could one make a usage arg that only too integer values 0-3 let's say | 19:40 | |
and not Bools | |||
hmm, seems to be inconsistency between different Int args... | 19:42 | ||
oh, not really | 19:43 | ||
xps | sub foo (Int $i where * > 0 where * < 3) | ||
MasterDuke | not quite. you can't use * to refer to the same thing twice. sub foo(Int $i where 0 <= $i <= 3) {} | 19:45 | |
though by doing it like ^^^ it's only referred to once, so you could use * | 19:46 | ||
jdv79 | except True and False are effectively 1 and 0 so cmps like that don't exclude them | 19:47 | |
xps | MasterDuke: Didn't know yet that you can't chain * refinements, good to know! Thanks! | ||
ctilmes: Must be some silly mistake or something but I can't call that method on my Buf[uint8]. No such method 'read-uint64' for invocant of type 'Buf[uint8]' | 19:48 | ||
19:48
Noisytoot left,
brtastic joined
|
|||
jdv79 | this seems to do accomplish what i want - Int :v(:$verbose) where { .WHAT !~~ Bool && 0 <= $_ <= 3 } | 19:51 | |
MasterDuke | m: my $a = Buf[uint8].new(^16); say $a.^name; say $a.read-uint64(0) | ||
camelia | Buf[uint8] 506097522914230528 |
||
jdv79 | but looks odd to me cause why am i declaring something as Int but then having to furth exclude Bools | ||
xps | Alright, so now I have to question my package distribution of rakudo-start I guess - bummer, thanks MasterDuke for the help | 19:52 | |
MasterDuke | yeah, those are kind of new | ||
xps | perl6 -v claims 6.c | 19:53 | |
MasterDuke | that the language version, you want to know the compiler version | ||
xps | This is nqp version 2017.01 built on MoarVM version 2017.01 | ||
MasterDuke | ha. yeah, that's a bit out of date | ||
xps | I'm on nixos, the version is probaly not maintained that well | 19:54 | |
Alright, now I know why - thanks for the help! | |||
MasterDuke | there's someone else here packaging stuff for nix | ||
chloekek maybe | |||
19:55
chloekek left
|
|||
xps | I will google it a bit, did come across some threads talking about the packaging on nix not being actively maintained | 19:55 | |
19:55
rindolf left
|
|||
MasterDuke | i'd try looking in the logs for this channel. colabti.org | 19:55 | |
jdv79 | hmm, if i cast from Str its less messy. | 19:56 | |
19:56
rjbs left
19:57
plicease left
20:01
blum joined
20:02
blum left
|
|||
xps | It seems like it's been updated in the unstable channel for just a couple of months ago MasterDuke | 20:03 | |
20:03
vike left
|
|||
xps | An update jump from 2017 to 2020 | 20:03 | |
Quite a jump | |||
20:04
stoned75 joined
|
|||
robertle | in case anyone was interested in the exception->response problem earlier, this is what I do now: github.com/robertlemmen/svc-shelve...akumod#L43 | 20:09 | |
20:09
rjbs joined
|
|||
robertle | it's just basic higher-order wrapping of the route block, to avoid having to repeat the catch logic in every block. :) | 20:10 | |
comments very welcome of course, I still have that inkling feeling that there must be a better way... | 20:11 | ||
20:15
plicease joined
20:16
Altai-man_ joined
20:18
sena_kun left
20:21
patrickb left,
xps left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
MasterDuke | xps: should be quite a bit faster and more stable | 20:25 | |
tellable6 | MasterDuke, I'll pass your message to xps | ||
AlexDaniel | but it depends, Rakudo from 2017 is also pretty good | 20:27 | |
maybe not as fast and not as stable, but still very usable and useful | |||
20:29
xps joined
|
|||
MasterDuke | sure. but if an update is available... | 20:32 | |
20:32
vike joined
20:33
brtastic left
20:38
cognomin_ joined
20:40
vike left
20:41
cognominal left
20:44
stoned75 left
20:45
rjbs left,
plicease left
20:46
stoned75 joined
20:50
farcas1982regreg left
|
|||
xps | What's the supposed way of outputting the compiled bytecode? -o doesn't seem to do that and --target=moar says no dump method. | 20:50 | |
tellable6 | 2020-05-08T20:25:56Z #raku <MasterDuke> xps: should be quite a bit faster and more stable | ||
MasterDuke | --target=mbc, and -o is broken. you have to use --output=<foo> | 20:54 | |
20:55
vike joined
|
|||
Geth | doc/test-for-3350: f78e05ac1f | (Stoned Elipot)++ | xt/routine-definitions.t Add test for routine header vs routune definitions ref #3350 |
20:59 | |
doc: stoned++ created pull request #3380: Add test for routine header vs routine definitions |
21:01 | ||
21:02
plicease joined
21:04
rjbs joined
21:11
pilne joined
21:33
aborazmeh left
21:35
caterfxo joined
|
|||
Geth | doc/regex-lookbehind-typo: ede6d5fa17 | (Stoned Elipot)++ | doc/Language/regexes.pod6 formatting code typo |
21:53 | |
doc: stoned++ created pull request #3381: formatting code typo |
|||
lizmat | weekly: raku-musings.com/linked-sum.html | 22:03 | |
notable6 | lizmat, Noted! (weekly) | ||
Geth | doc: ede6d5fa17 | (Stoned Elipot)++ | doc/Language/regexes.pod6 formatting code typo |
22:07 | |
doc: 6394622b6d | (Will Coleda)++ (committed using GitHub Web editor) | doc/Language/regexes.pod6 Merge pull request #3381 from Raku/regex-lookbehind-typo formatting code typo |
|||
linkable6 | Link: docs.raku.org/language/regexes | ||
22:11
stoned75 left,
xps left
22:17
sena_kun joined
22:18
Altai-man_ left
22:23
cognominal joined
22:26
cognomin_ left
22:48
ctilmes left
23:09
pecastro left
23:38
konvertex left
|