🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs can be inspected at colabti.org/irclogger/irclogger_log/raku Set by lizmat on 1 May 2021. |
|||
00:01
reportable6 left
00:02
reportable6 joined
00:27
mowcat left
00:51
Black_Ribbon joined
01:09
tejr left
01:16
Doc_Holliwood left
01:27
[Sno] joined,
kvw_5_ joined
01:30
|Sno| left
01:31
kvw_5 left
02:12
marcusr left
02:13
marcusr joined
02:18
QhpAptyj9hj0RQwM left
03:18
bisectable6 left,
bloatable6 left,
statisfiable6 left,
quotable6 left,
sourceable6 left,
linkable6 left,
committable6 left,
evalable6 left,
releasable6 left,
reportable6 left,
tellable6 left,
coverable6 left,
shareable6 left,
squashable6 left,
unicodable6 left,
greppable6 left,
nativecallable6 left,
benchable6 left,
notable6 left,
committable6 joined,
linkable6 joined,
shareable6 joined,
nativecallable6 joined
03:19
bisectable6 joined,
greppable6 joined,
coverable6 joined,
quotable6 joined,
squashable6 joined
03:20
reportable6 joined,
bloatable6 joined,
tellable6 joined,
unicodable6 joined,
benchable6 joined,
squashable6 left,
statisfiable6 joined,
releasable6 joined
03:21
notable6 joined,
evalable6 joined,
squashable6 joined,
sourceable6 joined
03:40
a3r0 joined
04:00
MasterDuke left
|
|||
tonyo | anyone interested in a talk about fez for raku conf? trying to figure out what might be interesting about it to people? the benefits over cpan? how it actually works? the technologies behind it and what goes into an upload? | 04:23 | |
something else? | |||
04:44
frost-lab joined
04:46
maggotbrain joined
04:50
wamba joined
05:21
wamba left
05:22
wamba joined
05:25
Sgeo left
05:27
wamba left
05:28
wamba joined
05:29
defaultxr left
05:30
defaultxr joined
05:45
wamba left
05:49
parabolize left
05:50
brtastic joined
06:00
brtastic1 joined
06:02
brtastic left,
brtastic1 is now known as brtastic,
reportable6 left,
reportable6 joined
06:03
Black_Ribbon left
|
|||
ecocode[m]1 | maybe an intro on how to create a new module for upload to raku modules ? which tools to use; setup of the repo; necessary files; integration with git; what about NativeCall libraries; tests; module metadata ... | 06:10 | |
06:13
ecocode_ joined
06:14
ecocode_ left,
ecocode_ joined
06:16
ufobat joined
06:22
wamba joined
06:32
abraxxa joined
06:33
patrickb joined
|
|||
patrickb | o/ | 06:33 | |
tellable6 | 2021-05-12T21:18:03Z #moarvm <MasterDuke> patrickb you said something a little while ago about windows vms? | ||
06:36
abraxxa left
06:38
abraxxa joined,
stoned75 joined
|
|||
patrickb | tony-o: I'd like to see a talk about fez. It should include: A joke about the naming (fez vs zef), some history including the limitations of p6c and cpan, a technical overview of how the server works and why (scalability, ...), instructions of how to use it in practice, outlook including a nod toward raku.land. The talk should have slides, then it | 06:40 | |
can serve as a resource to point interested people at. | |||
MasterDuke: I can't remember talking about Windows VMs. Can you recall what I wrote about? | 06:41 | ||
tellable6 | patrickb, I'll pass your message to MasterDuke | ||
06:42
patrickb90 joined
06:46
patrickb left
06:54
patrickb90 left
06:56
domidumont joined
07:08
frost-lab left
07:15
wamba left
07:18
ecocode_ left
07:21
stoned75 left
07:35
patrickb joined
07:44
dakkar joined
07:47
wamba joined
07:50
frost-lab joined
07:58
MasterDuke joined
08:00
frost-lab left
08:09
pecastro joined
08:17
frost-lab joined
08:20
wamba left
08:37
holli joined
08:40
stoned75 joined
09:40
evalable6 left,
linkable6 left
09:42
linkable6 joined,
evalable6 joined
09:47
wamba joined
09:55
wamba left
10:11
mowcat joined
10:32
Elvin joined
10:39
kini left
10:40
kini joined
10:44
donaldh left
10:48
Guest67 joined
10:49
Guest67 left
10:50
Guest67 joined
10:51
Elvin left
10:56
unclechu joined
|
|||
unclechu | hey, is there any “autodie” thing for `run` command? | 10:57 | |
for instance if i write something like this: `run(«foo bar», :out).out.slurp(:close).chomp` it does not fail if `foo` program is not found | 10:58 | ||
instead it silently continues returning empty string as a result | |||
timotimo | you'll need to sink the object you're currently calling .out on, rather than discarding it | 11:13 | |
lizmat | but if you sink it, then you won't be able to get at its :out ? | 11:22 | |
11:33
wingfold joined
11:38
wingfold left
|
|||
unclechu | timotimo: what do you mean by “sinking”? | 11:53 | |
the only solution that comes to mind is to add a subroutine wrapper that would just check for `.exitcode` at the end and throw an exception if it’s not 0 | 11:54 | ||
but the lack of error messages is sad. nothing is telling me what the problem is (missing `foo` in `PATH`) | |||
12:02
reportable6 left
12:04
reportable6 joined
12:06
MasterDuke left
12:11
MasterDuke joined
12:14
patrickb left
|
|||
lizmat | unclechu: run(...) without putting it into a variable | 12:21 | |
"void context" in other languages | 12:22 | ||
but I see your point: maybe we need a :throw named argument to "run" to have it throw if something went wrong | 12:23 | ||
unclechu | lizmat: yeah, i have the same question then. how do i slurp the `out` then? | 12:24 | |
lizmat | right, indeed | ||
what you *could* do as a workaround is to actually call .sink yourself | |||
my $proc = run(....); $proc.sink; # will throw if something went wrong | |||
"sinking" is really just calling .sink on an object | 12:25 | ||
unclechu | lizmat: that should work i think, thanks. though it wouldn’t be a one-liner anymore | ||
lizmat | in most cases, it won't do anything | ||
unclechu | would be happy to see `:throw` or something like this in the future | ||
lizmat | I'll make a PR in a moment | 12:26 | |
12:28
linkable6 left
12:31
linkable6 joined
12:43
linkable6 left
12:46
linkable6 joined
12:47
patrickb joined
12:59
linkable6 left
13:01
linkable6 joined
13:08
xelxebar left
13:09
xelxebar joined
13:20
asymptotically joined
|
|||
lizmat | unclechu: github.com/rakudo/rakudo/pull/4368 | 13:20 | |
unclechu | thanks | 13:22 | |
13:22
Nasrudin left
13:23
uzl[m] left,
Garland_g[m] left
|
|||
unclechu | for now i did it like this: `do with run(«foo bar», :out) { .sink; .out.slurp(:close).chomp }` | 13:23 | |
13:23
GeekRuthie left,
sienet_ja_LSD[m] left
|
|||
unclechu | though i’m not sure if it’s a correct way of doing it. `.sink` waits for the end of the program, right? | 13:24 | |
what if the output does not fit the buffer for `out`? | |||
or it is okay? | |||
does raku has its own way of buffering? | 13:25 | ||
13:27
mowcat left,
Garland_g[m] joined
|
|||
lizmat clickbaits rakudoweekly.blog/2021/05/17/2021-...nodelayed/ | 13:28 | ||
13:28
sienet_ja_LSD[m] joined
13:29
timeless left
13:30
uzl[m] joined,
caasih left
13:33
rjeli left
|
|||
stoned75 | hi. I cannot convience myself that substr-rw method works on allomorph types. Any example to give to me ? | 13:35 | |
13:36
Nasrudin joined
|
|||
lizmat | m: my $a = <42>; $a.substr-rw(0,2) = 666; dd $a | 13:36 | |
camelia | Too many positionals passed; expected 1 to 3 arguments but got 4 in block <unit> at <tmp> line 1 |
||
lizmat | hmmm | ||
afk for a bit& | |||
13:37
caasih joined
|
|||
stoned75 | I meant with current rakudo. and yes I'm seeing exactly that lizmat. I feedled around without any luck | 13:37 | |
13:38
rjeli joined
13:41
asymptotically left,
asymptotically joined,
asy joined
|
|||
stoned75 | *fiddled | 13:42 | |
13:44
timeless joined
13:49
holli left,
[Sno] left
13:50
holli joined,
[Sno] joined,
ufobat left,
ufobat joined,
cog joined
13:57
asy left
13:59
[Sno] left,
vrurg left,
vrurg_ joined
14:00
[Sno] joined,
perigrin left,
perigrin joined,
brass left,
eater left,
brass joined
14:01
samcv_ joined,
Kaiepi left,
Kaiepi joined,
patrickb left,
samcv left,
eaterof joined
14:02
patrickb joined
14:04
APic left
14:07
wingfold joined
|
|||
lizmat | stoned75: looks like a thinko on my part, care to create an issue for it ? | 14:09 | |
stoned75 | sure. And I could look into adding a couple of tests in roast if that can help ? | 14:10 | |
14:11
wingfold left
14:12
Sgeo joined
|
|||
lizmat | yes, please! | 14:12 | |
14:14
wingfold joined
14:20
b2gills left
|
|||
spacebat2 | is there a raku equivalent of ruby's tap or yield_self methods? a method just about every object has, that expects a lambda and calls it with self as the argument | 14:20 | |
14:21
b2gills joined,
brtastic1 joined
14:22
brtastic left,
brtastic1 is now known as brtastic
14:24
tomasz7 joined
|
|||
lizmat | you don't need that | 14:24 | |
m: sub twice($a) { $a ~ $a }; say "foobar".&twice() | 14:25 | ||
camelia | foobarfoobar | ||
lizmat | the .&methodname() syntax allows you to call a sub as a method on any object | ||
spacebat2 ^^ is that what you meant ? | 14:26 | ||
14:26
wingfold left
|
|||
spacebat2 | that might do yes | 14:26 | |
14:27
wingfold joined
|
|||
tomasz7 | hi, has raku got into any linux distribution as a standard? | 14:27 | |
lizmat | only really old versions | ||
but El_Che manages a lot of Linux packages for Raku | 14:28 | ||
nxadm.github.io/rakudo-pkg/ # tomasz7 | 14:29 | ||
tomasz7 | i can easily find and install it on my Debian, but I wonder if it's getting any popular | ||
14:31
wingfold left
|
|||
tomasz7 | perl5 is installed by default and many standard tools are in p5 | 14:31 | |
that's what i'm asking about raku - has any distribution reached for it so far? | 14:32 | ||
El_Che | tomasz7: most distributions ship raku | 14:36 | |
14:36
ufobat_ joined
|
|||
tomasz7 | ok but do they use it? | 14:37 | |
14:39
ufobat left
|
|||
El_Che | internally? probably not, I think that only python and perl are used that way | 14:40 | |
it's a blessing and a curse | |||
for modern languages you are better off leaving system $lang to the system and install a recent version yourself | 14:41 | ||
tomasz7 | ruby too | 14:43 | |
tx | 14:50 | ||
14:50
tomasz7 left
14:51
parabolize joined
14:59
linkable6 left
15:02
linkable6 joined
15:03
APic joined
|
|||
stoned75 | lizmat: saw your fix. that's strange I'm pretty sure I tried that without luck :-} I must have been confused | 15:06 | |
ok that's what I thought after I read your commit log. And yes I had tried that but decided against it because after the substr-rw the allomorph is no more. is that really ok with you ? | 15:10 | ||
well that was the behaviour before the introduction of the Allomorph class if I am not mistaken | 15:11 | ||
15:21
reario joined
15:23
reario left
|
|||
stoned75 | ok, according to your commit ba814fde4fc46607eb143ebddeaa9ecdba85a036 we do want substr-rw to return a Str | 15:30 | |
so be it :) | |||
15:30
linkable6 left
15:31
linkable6 joined
15:33
jmerelo joined
|
|||
tonyo | ecocode[m]1: patrickb: those are good suggestions, thanks | 16:10 | |
16:27
[Sno] left
16:34
dakkar left
16:36
Guest67 left
16:42
domidumont left
17:03
stoned75 left
17:10
ecocode[m]1 left
17:16
[Sno] joined
17:22
patrickb left
17:31
stoned75 joined
17:39
stoned75_ joined,
stoned75 left
17:42
samcv_ is now known as samcv,
samcv left,
samcv joined
17:44
jmerelo left
17:46
swaggboi left
17:55
swaggboi joined
17:59
mowcat joined
18:00
aborazmeh joined
18:02
reportable6 left,
ErgoXX______ joined
|
|||
ErgoXX______ | Is this where one comes to be reborn into a perl god | 18:03 | |
18:03
reportable6 joined
|
|||
lizmat | ErgoXX______ : probably not ? | 18:04 | |
18:05
flouncy joined
18:25
ufobat_ left
18:38
holli left
18:43
aborazmeh left
18:46
MasterDuke left
19:01
ufobat_ joined
|
|||
unclechu | is there a way to find a full path to an executable from `PATH` environment variable? like what `which` command does? | 19:15 | |
19:15
camelia left
|
|||
kybr | i think i found a minor error in the docs; i thought i might confirm. i'm curious | 19:15 | |
docs.raku.org/language/5to6-perlfunc#quoting | |||
qw/.../; # is more commonly rendered as C<< <...> >> in Raku. | 19:16 | ||
19:16
nine left
|
|||
kybr | it's line 1444 of the 5to6-perlfunc.pod6 | 19:16 | |
unclechu | kind of equivalent to builtin `type -P` in Bash. for instance `type -P cat` would return `/usr/bin/cat` (the path would depend on OS) | ||
kybr | the line uses C<< <...> >> to code-quote, but it does so within a =for code :lang<perl> | 19:17 | |
19:18
MasterDuke joined
|
|||
kybr | so we see the C<< <...> >> whereas i think we want to see <...> | 19:19 | |
stoned75_ | kybr: you're quite right | ||
19:22
japhb left
|
|||
Geth | doc: kybr++ created pull request #3884: minor fix: code quote within code quote |
19:23 | |
19:24
japhb joined
19:34
camelia joined
19:37
camelia left
19:38
nine joined
19:39
nine left
19:43
nine joined
19:45
camelia joined
19:48
stoned75_ left
19:49
stoned75 joined
20:34
linkable6 left
20:37
linkable6 joined
|
|||
tusooa | <unclechu "kind of equivalent to builtin `t"> why not just traverse the PATH variable? | 20:47 | |
unclechu | tusooa: because maybe there already is a simpler solution? | 20:49 | |
tusooa: traversing `PATH` would take splitting string by `:` (this separator i believe also depends on OS), and checking each item for executable permission | 20:51 | ||
this should be a lot of code but already too noisy comparing to something like `'some-executable-name'.expand-path` | 20:52 | ||
don’t want to reinvent the wheel if it’s already invented | |||
tusooa | i can understand | ||
unclechu | this should not be | 20:53 | |
tusooa | i guess it could be a nice to have | ||
maybe there are modules for it? | |||
unclechu | maybe, but in my standalone script i’m looking for a builtin solution. so i would probably end up with traversing `PATH` instead of using some dependency | 20:55 | |
flouncy | hi | ||
ugexe | no there is no built in solution because its not an easy problem to solve in a cross platform way | 20:58 | |
what gets executed on a given system when you type 'some-command' is not just/always based on PATH depending on your system | |||
20:58
flouncy left
20:59
gordonfish- joined
|
|||
tusooa | well, on some shells it could be hashed | 20:59 | |
tonyo | it's really not even a system thing but a shell thing | 21:00 | |
21:01
gordonfish left
21:05
rir joined
21:19
ufobat_ left
21:27
asymptotically left
21:44
mowcat left
21:46
Zaid joined
|
|||
gfldex | unclechu: here is an example of how to scan $PATH: github.com/gfldex/raku-shell-pipin...kumod#L342 | 21:58 | |
22:01
dogbert17 joined
|
|||
ugexe | that can be simplified further with `$*SPEC.path` | 22:03 | |
(as well as be slightly more cross platform) | 22:04 | ||
22:06
dogbert11 left
|
|||
unclechu | gfldex: yeah, i kind of did the same: | 22:12 | |
`my List:D \paths = %*ENV{'PATH'}.split(':').cache;` | |||
`{ with IO::Path.new: e, :CWD($_) { return .absolute if .e } } for paths;` | |||
ugexe: good to know that `$*SPEC.path` exists | 22:13 | ||
tonyo | : won't work on windows | 22:16 | |
ugexe | github.com/ugexe/zef/blob/602c54f1...#L170-L181 this is what zef uses | 22:20 | |
unclechu | tonyo: yeah, that i was worried about too. that it depends OS | 22:21 | |
ugexe | $*SPEC.path handles the OS-specific path seperator | ||
but there is still PATHEXT to worry about | 22:22 | ||
unclechu | changed to this: `{ with IO::Path.new: e, :CWD($_) { return .absolute if .e } } for $*SPEC.path;` | ||
and error throwing after this line if it passes without `return`ing anything | |||
ugexe | because on windows there is no e.g. `git`, there is `git.exe` or `git.bat` | 22:24 | |
hence utilizing PATHEXT | |||
23:06
evalable6 left,
linkable6 left
23:07
evalable6 joined
23:08
linkable6 joined
23:15
thundergnat left
23:16
brtastic left
23:25
AlexDaniel` left
23:26
patrickbkr[m] left
23:27
juanfra__ left
23:30
daxim left
23:34
daxim joined
23:41
pecastro left
23:43
AlexDaniel` joined
23:46
patrickbkr[m] joined
23:51
juanfra__ joined
|