🦋 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.
cpan-raku New module released to CPAN! Tomty (0.0.13) by 03MELEZHIK 01:50
hythm Hello, have a question in this gist gist.github.com/hythm7/7bafa02262e...dd7472c2f1 , I know it's late, but asking anyway :) 02:50
moritz hythm: what's happening is that STDOUT and STDERR are pipes. If you read from STDOUT until there is nothing left (so EOF), you risk filling the STDERR pipe until its maximum buffer size 05:49
tellable6 2020-10-14T14:24:16Z #raku <SmokeMachine> moritz Hi! Do you know if is thee a way of doing this work?`grammar Bla { rule num($a) { \d+ } }; say 42 ~~ /<num=.Bla::num(13)>/`
moritz hythm: then when the program you are calling tries to write to its STDERR, that write operation blocks until somebody reads from the STDERR pipe 05:50
moritz SmokeMachine: IMHO it's a rakudo bug. If the call works without arguments (and no params in the declaration), then it should work with params as well 06:01
SmokeMachine: it seems without arguments, rakudo passes `self' implicitly, without it not. 06:02
hythm moritz, Thanks, If I understood correctly I guess setting the buffer size of STDOUT and STDERR to 0 should fix the issue 06:47
hythm may be not, I think I understand now why it worked when I tried with `Proc::Async`, as I read the output from STDOUT and STDERR `whenever` there is any. Thanks moritz. 06:56
moritz hythm: another, pretty simple option is to use :merge if you don't need stdout and stderr separately 07:06
Geth_ doc: c0b85935bd | (Moritz Lenz)++ | doc/Type/Proc.pod6
Proc: add a section explaining deadlocks

people have stumbled across that at least twice in the last two weeks, so it seems prudent to at least document it.
07:30
linkable6 Link: docs.raku.org/type/Proc
hythm_ thanks moritz 07:36
SmokeMachine moritz: thanks 07:53
I think I found a intermittent bug on .relative
m: multi a(IO() $file where .f) { start { my $a = $file.relative: "/etc"; say $a; die "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a "/etc"
camelia default/grub_installdevice.old
default/useradd
default/grub_installdevice
default/nss
default/useradd.rpmnew
default/runuser
default/su
default/grub.rpmnew
default/grub.old
default/grub
sysconfig/bootloader
rpm/macros.fdupes
rp…
SmokeMachine m: multi a(IO() $file where .f) { start { my $a = $file.relative: "/etc"; die "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a "/etc" 07:54
camelia An operation first awaited:
in code at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/etc/ppp': Failed to open dir: Permission denied
in code at <tmp> line 1
SmokeMachine m: multi a(IO() $file where .f) { start { my $a = $file.relative: "/etc"; die "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a "/etc"
camelia An operation first awaited:
in code at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/etc/ppp': Failed to open dir: Permission denied
in code at <tmp> line 1
SmokeMachine m: multi a(IO() $file where .f) { start { my $a = $file.relative: "/tmp"; die "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a "/tmp" 07:55
camelia An operation first awaited:
in code at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/tmp/systemd-private-38777dfab8ff4fffb49cfca2d846111e-ntpd.service-61H4XY': Failed to open dir: Permission denied
SmokeMachine I'm not being able to reproduce here... 07:55
bu I'm getting error 70% of time I run the same code... 07:56
could, please, someone else try to reproduce that?
www.irccloud.com/pastebin/t2c7IihR/
that do not happens without the start 07:58
some times `$a eq "."` is true and some times `$a.starts-with: "../"` is true... but none should be true ever, right? 08:00
usercontent.irccloud-cdn.com/file/.../image.png 08:08
SmokeMachine m: multi a(IO() $file where .f) { start { my $a = $file.relative: %*ENV<HOME>; die "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a %*ENV<HOME> 09:56
camelia WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was:
Failed to find '/home/camelia/.local/share/systemd/user' while trying to do '.d'…
SmokeMachine m: multi a(IO() $file where .f) { start { my $a = $file.relative: %*ENV<HOME>; say "wrong: file: $file, a: $a" if $a eq "." || $a.starts-with: "../" } }; multi a(IO() $dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a %*ENV<HOME> 09:57
camelia wrong: file: /home/camelia/evalbot/build.pl, a: .
WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was:
Failed to find '/home/cameli…
SmokeMachine could anyone reproduce that? 11:32
MasterDuke SmokeMachine: yep 12:30
SmokeMachine That’s a bug, right? 13:45
moritz I'm not sure 14:33
is every possible Failure handled there?
you could add a 'use fatal' to see where it's coming from 14:34
SmokeMachine but that doesn't throw an error, only returns the wrong value... 14:38
SmokeMachine m: multi a($file where .f) { start { my $a = $file.relative: %*ENV<HOME>; say "wrong: file: $file, a: $a; 2nd try: { $file.relative: %*ENV<HOME> }" if $a eq "." || $a.starts-with: "../" } }; multi a($dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a %*ENV<HOME>.IO 14:47
camelia wrong: file: /home/camelia/rakudo-j-2/config.status, a: .; 2nd try: rakudo-j-2/config.status
WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The …
SmokeMachine trying the same file twice give different results 14:48
m: multi a($file where .f) { start { my $a = $file.relative: %*ENV<HOME>; say "wrong: file: $file, a: $a; 2nd try: { $file.relative: %*ENV<HOME> }" if $a eq "." || $a.starts-with: "../" } }; multi a($dir where .d) { start await do for $dir.dir -> $file { a $file } }; await a %*ENV<HOME>.IO
camelia wrong: file: /home/camelia/rakudo-m-2/inst-perl6-debug, a: .; 2nd try: rakudo-m-2/inst-perl6-debug
WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods…
SmokeMachine m: my $path = "/etc"; multi a($_) { start { when .d { await do for .dir -> $f { a $f } }; default { my $a = .relative: $path; say "wrong: $_\n\t$a\n\t{ .relative: $path }" if $a eq "." || $a.starts-with: "../" } } }; await a $path.IO 15:09
camelia wrong: /etc/rpm/macros.ruby-common
.
rpm/macros.ruby-common
An operation first awaited:
in block at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/etc/ppp': Failed to open dir: Permission denied…
SmokeMachine m: my $path = "/etc"; multi a($_) { start { when .d { await do for .dir -> $f { a $f } }; default { my $a = .relative: $path; say "wrong: $_\n\t$a\n\t{ .relative: $path }" if $a eq "." || $a.starts-with: "../" } } }; await a $path.IO
camelia wrong: /etc/passwd.YaST2save
../passwd.YaST2save
passwd.YaST2save
An operation first awaited:
in block at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/etc/ppp': Failed to open dir: Permission …
SmokeMachine m: my $path = "/etc"; multi a($_) { start { when .d { await do for .dir -> $f { a $f } }; default { my $a = .relative: $path; say "wrong: $_\n\t$a\n\t{ .relative: $path }" if $a eq "." || $a.starts-with: "../" } } }; await a $path.IO
camelia wrong: /etc/shadow.YaST2save
../shadow.YaST2save
shadow.YaST2save
An operation first awaited:
in block at <tmp> line 1

Died with the exception:
Failed to get the directory contents of '/etc/ppp': Failed to open dir: Permission …
moritz a few hours ago, I pushed something to the doc repo, but the website hasn't been updated since 15:49
can I check the build logs somewhere?
Altai-man moritz, alas, there is no auto-update anymore AFAIK. It was lost like since previous server was dead and JJ prefers to update it by hand. And nobody is free enough to contribute, I think. 15:52
moritz :-(
El_Che can't it be automated through travis and the like? 16:31
moritz I'm sure it can, it "just" needs doing 16:32
El_Che my question is rather "is it desired"? 16:34
(e.g. JJ preferring doing it by hand)
Altai-man El_Che, I don't think it's a nice idea to give travis push access to our server and all that. I mean, there are secret keys services or something, but still. Previously it was a script running on the server itself. 16:36
El_Che it depends on the components
e.g. if itś a server you can restrict what commands it can run through ssh 16:37
eg 1 single script
moritz or you could have the server poll for the newest build artifact on travis, and download and unpack that 16:47
Altreus isn't that what webhooks are for 16:50
Altai-man whatever does the job 16:54
El_Che repo push is better in my view 17:26
than a pull from the server
but both are ok
I proposed that because travis has support for secrets and is hookable for pushes 17:27
[Coke] we should automate the docs build/deploy. 18:14
Having it single thread through JJ's personal setup is not sustainable.
Zero_Dogg Is there any raku lib that's roughly equivalent to perl's Mojo::DOM? Ie. HTML parser with CSS selector support 18:15
Grinnz i believe DOM::Tiny is an equivalent lib 18:27
Zero_Dogg Grinnz: looks like, thanks! 18:29
woolfy1 I just thought of something. That Perl 6, now Raku, is the only and single modern language that was carefully designed, painstakingly even, and even carefully and painstakingly implemented. 20:09
Therefore, anybody who claims that Raku is not properly designed, has had no proper design process, has had no proper implementation, and that it is just rubbish and full of foolish things, is not understanding stuff, not having followed history. 20:11
[Coke] I feel like that is a bold claim.
woolfy1 I know I have not contributed anything. I just feel angry about some other claims on this channel and elsewhere.
[Coke] (the first send)
woolfy1 [Coke]: anybody who claimed the opposite was also claiming boldly. 20:12
patrickb I think [Coke] is only referring to the "only" in the first statement. As in "no other language there is". 20:13
timotimo maybe the vast majority of other languages are not modern?
lizmat and/or not carefully designed :) 20:14
timotimo we know that most of the science that's slowly being implemented here and there are all from like the sixties
and of course lisp has had everything first already
woolfy1 Which other modern languages? Liz just mentioned Pascal to me, and I reacted "hahaha".
Lisp? Really?
timotimo not saying lisp is modern 20:15
i think it was a meme that lisp has done everything first?
a meme before memes were memes, so maybe a running gag / running joke?
woolfy1 timotimo: Very funny, indeed, but not a proper rebuttal to people (whoever) who claim that Raku was not properly designed. 20:19
timotimo you're right, sorry for not having anything interesting to add 20:20
[Coke] Yup, I was only saying that "only and single" was a bold claim. patrickb++ 20:21
timotimo i think i don't have enough general knowledge of other languages to comment on that 20:29
woolfy1 Ehrm, I am pretty sure I mentioned "modern". :-)
woolfy1 So, languages from before Perl should really be ignored in my comparison. I did not make a comparison, I know. i just made a bold statement. 20:30
timotimo so "from before perl" probably includes haskell and prolog for example? 20:30
woolfy1 I will go away soon, again, because I just wanted to vent some anger and frustration about how discussions go to idiotic ways, and I am watching from afar and doing facepalms and since I am pretty strong they hurt and now my nose is hurting really bad. Please do better and make me love you all again. 20:31
timotimo: Perl 6 -> Raku: 2000 20:32
Haskell: 1990
Prolog: 1972
Yep. Y ou are right about your assumption.
timotimo ok, and of course BCPL and C as well, probably also C++ 20:33
but i think PHP is newer than perl
(and its design process was not quite as painstaking or at the very least not as careful)
well, i'm blanking on languages now 20:34
[Coke] Modula-3! :)
timotimo java is very old, but older than perl? 20:35
ruby is newer than perl for sure
woolfy1 PHP was designed?
[Coke] Java is newer than Perl, according to my brain.
timotimo oh, huh
woolfy1 Perl Help Pages. That was the oldest explanation of PHP I encountered in my 26 years of using Perl. Before PHP became a "programming language", that was. 20:36
El_Che Oak (java's origin language) is from 1991
Raku is a beautifully designed language, but it's not the only one 20:38
timotimo ~you may say raku's a dreamer, but it's not the only one~
El_Che hehe 20:39
woolfy1 El_Che: please tell me more. I mean, names, dates (or just years), design quality. I came with dates for Haskell and Prolog, and I told about PHP being a descendant of Perl Help Pages. Feel free to enlighten me, and us all. 20:42
El_Che woolfy1: I am very impressed by Go's design philosophy *and* implementation. 20:45
it's one of the reason I love Raku and Go, both chose a very different path 20:46
less vs more features
orthogonality vs praticallity
and so on 20:47
El_Che some feature will never enter the language because they break the simplicity rule: no OO (only composition), no overloading, etc 20:52
other feature are considered only when there is a prototype that is "native" enough: generics must be the nr 1 request, but still not there. And luckily because the proposal were very complex compared to the rest of the lang 20:53
Module system als took 10 years to be reworked and even there they gave up some functionality to keep is simple 20:54
Raku took another road, but most choices were very natural to the language 20:55
it's pure magic to have a ton of built-in instead of implementing stuff all over again 20:56
so in my eyes, beautiful design does not lead to copies
it's mostly the rationale why or why not implement features 20:57
woolfy1 I am impressed by the info about Go. Less so about the thoughts behind it, and the company pushing it. But still, impressed.
El_Che oh yeah, there are certainly downsize
Google is one, but google is not really pushing go
it's pushing Java and Kotlin nowadays
Android is the moneymaker
Go is the result to giving money and time to language veterans 20:58
woolfy1 I wish Raku was going to make serious money.
El_Che Robert Griesemer, Rob Pike, and Ken Thompson are big names
woolfy1 From now on, I will think of Raku and Go as the languages with good design. And only one of them as the older language that was designed with hardly any funding. :-) 21:00
El_Che I think Go was just there when Docker popularity exploded and devops got big
coincidense mostly
the authors wanted a better (more dynamic, modern and safe) C 21:01
woolfy1 Devops got big? You know Liz and I were the first devops of The Netherlands, right? And we were big. I mean, Liz was 150+ kg, and I was 135+s.
El_Che but they ended with a lot of Perl, Python and Ruby people :)
hehe
woolfy1 :-)
El_Che maybe raku will get lucky 21:02
having a solid implementation helps
but the days of 1 popular lang to rule them all are gone 21:03
woolfy1 Sleep well. I am off to whisky. Love you all. Was nice to see my friends again. Miss you.
AFK
El_Che see you woolfy1, nice to talk to you 21:03
cpan-raku New module released to CPAN! File::Copy (0.0.2) by 03TBROWDER 22:57
tbrowder cpan rocks better than ecosystem...IMHO 22:58
tbrowder i just filed issue with cpan for Raku module searches 22:58
actually got a response very quickly 22:59
PRs are welcome of course 23:00
tbrowder .ask ugexe how long should it take before zef finds just-upgraded modules on cpan? 23:22
tellable6 tbrowder, I'll pass your message to ugexe
tbrowder .ask ugexe and modules.raku.org already shows the upgraded module 23:23
tellable6 tbrowder, I'll pass your message to ugexe