🦋 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: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel! Set by lizmat on 25 August 2021. |
|||
00:06
reportable6 left
00:08
reportable6 joined
00:21
Sgeo left
00:23
Sgeo joined
00:30
silug joined
|
|||
Xliff | How do I get the "Rakoon" tag on reddit? | 01:03 | |
01:05
frost joined
|
|||
uzl[m] | .tell Xliff Go to r/rakulang and in the sidebar to the right, click "edit" and select one of the flairs | 01:14 | |
tellable6 | uzl[m], I'll pass your message to Xliff | ||
guifa | Xliff let me know if you have any trouble with it, I'm one of the mods | 01:23 | |
guifa just changed raiph from Experienced to Wise Elder because… really? Why did they choose the middle tier?! | 01:25 | ||
01:31
silug left
01:33
silug joined
01:50
ocomporto joined
02:06
guifa left
|
|||
jdv | raiph is insane | 02:22 | |
02:54
Kaiepi left
03:05
guifa joined
03:21
Guest35 left
|
|||
moon-child | jdv: many wise elders are | 03:22 | |
jdv | :) | 03:36 | |
03:55
Sankalp left
04:03
Sankalp joined
04:05
bigdata left
04:13
[Coke] joined
04:17
[Coke] left
04:19
[Coke] joined
04:29
[Coke] left,
guifa_ joined
04:31
[Coke] joined,
guifa left
04:38
Kaiepi joined
04:50
xinming left
04:52
xinming joined
05:02
[Coke] left
05:03
[Coke] joined
05:08
[Coke] left
05:11
silug left
06:05
mexen joined
06:06
reportable6 left
06:09
reportable6 joined
06:29
silug joined
06:31
abraxxa joined
06:38
abraxxa left
06:39
abraxxa joined
07:01
[Coke] joined
07:03
Sgeo left
07:07
[Coke] left
07:18
[Coke] joined
07:31
[Coke] left
07:32
[Coke] joined
07:41
[Coke] left
07:57
[Coke] joined
08:09
dakkar joined
08:10
[Coke] left
08:39
lichtkind_ joined
09:11
[Coke] joined
09:23
[Coke] left
09:24
[Coke] joined
09:32
TempIRCLogger left
09:35
TempIRCLogger joined
09:48
[Coke] left
09:50
[Coke] joined
10:01
[Coke] left
10:15
sena_kun left
10:22
wingfold joined
10:24
sena_kun joined
10:56
linkable6 left
10:58
linkable6 joined
11:04
[Coke] joined
11:21
wingfold left
11:22
[Coke] left
11:44
jrjsmrtn left
11:48
wingfold joined
11:54
ocomporto left
12:06
reportable6 left
12:08
reportable6 joined
12:17
Sankalp left
|
|||
Geth | ecosystem: c9ac84ce1f | (Elizabeth Mattijsen)++ | META.list Freeze Inline::Brainfuck While we move it to the zef ecosystem |
12:20 | |
12:22
Sankalp joined
|
|||
Geth | ecosystem: b5acf1b362 | (Elizabeth Mattijsen)++ | META.list Remove Lingua::Conjunction It now lives in the zef ecosystem |
12:50 | |
ecosystem: fc748e1c60 | (Elizabeth Mattijsen)++ | META.list Freeze Benchy While we move it to the zef ecosystem |
13:00 | ||
13:09
Kaiepi left
13:13
Guest35 joined
13:30
morte_ joined
13:31
morte_ left
14:07
morte_ joined
14:09
bigdata joined
15:04
Sgeo joined
15:07
abraxxa left
15:09
frost left
15:56
robbob joined
|
|||
robbob | Hi | 15:57 | |
Is Raku an Esolang? | 15:58 | ||
El_Che | no | 16:00 | |
robbob | What's the use of it? | 16:19 | |
guifa_ | What's the use of any programming language? lol | 16:24 | |
16:28
morte_ left
16:30
morte_ joined
16:45
dakkar left
16:48
perlbot left,
simcop2387_ joined
|
|||
robbob | Well, I suppose that's generally a good question, but there are languages with certain uses. For example, shell is good for quick scripts, C is good for lower-level programs and things that would be worth the writing time to be fast. | 16:49 | |
16:49
perlbot joined,
simcop2387 left,
simcop2387_ is now known as simcop2387
16:55
mexen left
16:57
perlbot left
16:58
perlbot joined
|
|||
lizmat | robbob: I guess Raku somewhere between those two, especially if you value your developer's time | 17:00 | |
robbob | Okay, that's helpful to know, thanks! So it gives you good control, without too much complication? | 17:01 | |
lizmat | not sure what you mean with "good control" ? | 17:06 | |
17:14
wingfold left
|
|||
Xliff | robbob: I would say "Yes" to this. | 17:22 | |
tellable6 | 2022-05-19T01:14:32Z #raku <uzl[m]> Xliff Go to r/rakulang and in the sidebar to the right, click "edit" and select one of the flairs | ||
17:22
robbob left
|
|||
Voldenet | >shell is good for | 17:23 | |
in general shell is great for shooting yourself in the foot | 17:24 | ||
17:26
jrjsmrtn joined
|
|||
Nemokosch | not even that, to be honest | 17:29 | |
Shell is good for giving you a headache | |||
Actually I don't know a pragmatic reason why all POSIX compatible shell dialects have to be this bad | 17:30 | ||
Voldenet | they're always skip edge cases and only solve the general case well | 17:31 | |
skipping, even | |||
Nemokosch | but like even the syntax is a big mess | 17:33 | |
with the fake functions and fake control structures | |||
17:34
morte_ left
|
|||
and not even faking data structures, the best you can get is an associative array of strings and then you must feel really thankful | 17:34 | ||
Voldenet | syntax is not that horrible if you use it on files | 17:37 | |
17:39
guifa_ left
|
|||
Nemokosch | I'm not sure what "use it on files" should mean | 17:39 | |
17:39
guifa joined
|
|||
Voldenet | something like: for i in *.txt ; do cp $i /mnt/backup/$i ; done | 17:39 | |
ofc, it gets incredibly hairy if you have spaces in filenames… | 17:40 | ||
Nemokosch | that's just one thing | 17:41 | |
but why wouldn't it not even a terribly difficult thing do solve, you just gotta know the difference between $foo and "$foo" | |||
Voldenet | except every programming language does the right thing | ||
s/every/most/ | 17:42 | ||
17:42
morte_ joined
|
|||
Nemokosch | but tbh I don't get why wouldn't that be horrible syntax, with the ; do and ; done | 17:43 | |
tonyo | you guys sound like you're talking about bash and not shells in general | 17:44 | |
Voldenet | zsh fans have joined the chat :D | ||
Nemokosch | I'm not saying what $foo does is always handy - in fact, it's more often not handy than it is | 17:45 | |
but that's hardly an anomaly in my eyes, among the overall behavior of shell | |||
tonyo | i use bash | ||
Nemokosch | I said POSIX compatible shell | ||
tonyo | and dislike zsh : ) | ||
Nemokosch | in fact, Bash already extends "/bin/sh" in several ways | 17:46 | |
tonyo | nushell, for instance, is different | ||
Voldenet | fish has saner `for` syntax too: for i in * ; echo $i ; end | 17:47 | |
Nemokosch | and if you don't really aim for POSIX compatibility - why not just use an actual programming language? | ||
there are loads of perl scripts in the software we are working on, for example | |||
tonyo | fish copies bash in a few irritating ways | ||
Nemokosch | Perl is for all intents and purposes an actual programming language, not yet another string parsing madness with fake control structures | ||
Voldenet | perl has at least some weird defaults | 17:48 | |
error handling is weird too | |||
tonyo | in fish: `echo "test '"$(echo -n)"'" | ||
outputs nothing | 17:49 | ||
s/\$// | |||
Voldenet | '"'"' is a well-known bash idiom for escaping ' character ;) | 17:53 | |
tbh. writing any bash-level things is raku is painless | 17:56 | ||
Juerd | In bash I prefer '\'' | 18:06 | |
'"'"' gives me a headache when I try to see what's what. | 18:07 | ||
18:07
reportable6 left,
reportable6 joined
|
|||
Xliff | I'd switch to fish if it supported powerline shell and rakubrew | 18:08 | |
Voldenet | in raku you can confidently say `for 'something'.IO.dir { run("thing", $_); }` and it will just work (and die when thing fails), without any tricks involved | 18:16 | |
similar thing in shell is deceptively hard to get right | |||
Geth | ecosystem: 171449a87b | (Elizabeth Mattijsen)++ | META.list Freeze WhereList While it is being moved to the zef ecosystem |
18:18 | |
Nemokosch | Perl defaults seem sane when you compare it against anything with "shell" in its name tbh | 18:20 | |
tbh if I want to do any automation that involves at least one control structure, I go for Raku | 18:22 | ||
interfacing with shell is simple and effective, you get decent output with minimal regex processing | |||
18:24
p6steve joined
18:40
hhcryfqnut joined
|
|||
hhcryfqnut | Hey lizmat do you have any opinions/thoughts on "tilde communities"? Recently became aware of tildeverse.org/ and places like sdf.org and remembered one of your conference talks where you talk about PLATO www.youtube.com/watch?v=MXIJjdNdjjk (great talk, btw) | 18:43 | |
18:44
morte_ left
|
|||
lizmat | hhcryfqnut must admit I don't have a lot of thoughts about that :-) | 18:45 | |
18:45
Xliff left
18:48
morte_ joined
|
|||
hhcryfqnut | ha! that's ok. wasn't sure if you had found something fun like PLATO and wanted to share. It's a trip down memory lane, in some ways, exploring these tilde communities. it reminds me of the web before everyone started having conversations/posting stuff in just a few places (places that are desperate to make money without having "users" pay) | 18:49 | |
18:50
abraxxa-home joined
|
|||
lizmat | PLATO ended for me in 1981 or so... so that's quite a long way down memory lane | 18:53 | |
hhcryfqnut | *checks when the movie WarGames came out* | 18:55 | |
yep. that's a long time ago. lol | |||
lizmat | I did visit www.wired.com/1997/03/platofest-to...community/ and it was fun seeing old friends, some of which I'd never seen IRL :-) | ||
18:56
Xliff joined
|
|||
lizmat | BTW, Brian Dear's book did get published: www.amazon.com/The-Friendly-Orange...B0777XSZKW | 18:58 | |
recommended if you're interested in PLATO and/or early online communities | 18:59 | ||
19:04
guifa left
|
|||
hhcryfqnut | I'll read it! Thanks! | 19:04 | |
19:21
morte_ left
19:22
Sankalp left
19:23
morte_ joined,
n1to joined
19:29
rypervenche_ left
19:48
hhcryfqnut left
20:04
morte_ left
20:08
Sankalp joined
20:11
morte_ joined
20:26
linkable6 left
20:28
linkable6 joined
|
|||
p6steve | wonders if raku MOARVM implements Copy On Write (COW) semantics | 20:51 | |
20:52
[Coke] joined
20:54
morte_ left
21:00
guifa joined
|
|||
gfldex | p6steve: Values are immutable, so no write is allowed. Values will be shared where ever possible. | 21:03 | |
m: my $a = "abc"; my $b = "abc"; say ($a.WHERE, $b.WHERE)».fmt('%X'); | 21:04 | ||
camelia | (5FF046D4BA8 5FF046D4BA8) | ||
21:23
phogg left
21:24
Kaiepi joined
21:33
bigdata left
21:39
phogg joined
|
|||
Voldenet | it's more obvious when you see most variables as pointers | 21:47 | |
21:49
phogg left,
phogg joined
21:50
morte_ joined
|
|||
Voldenet | my $a = 123; my $b = $a; # int symbol = 3; int *a = &symbol; int *b = a; | 21:52 | |
21:52
londoed left
21:53
londoed joined
21:57
morte_ left
22:09
n1to left
22:18
discord-raku-bot left
22:19
discord-raku-bot joined
|
|||
guifa | values will be shared when possible but that's not a guarantee AFAIK (it just happens to be that's how Rakudo does it) | 22:22 | |
this can actually cause problems | 22:23 | ||
m: role B-Role {;}; my $a = 5; my $b = 5; $b does B-Role; say $a.WHAT; | 22:24 | ||
camelia | (Int+{B-Role}) | ||
Voldenet | …doesn't that mean that using 'but' is safer fox mixins? | 22:33 | |
m: role B-Role {;}; my $a = 5; my $b = 5; $b = $b but B-Role; say $a.WHAT; | |||
camelia | (Int) | ||
guifa | Voldenet: yes, but (lol) `but` creates a copy, whereas `does` mixes in in place | 22:41 | |
Voldenet | m: role B-Role {;}; my Int $b = 5; $b = $b + 1; $b does B-Role; say 6.WHAT; | 22:44 | |
camelia | (Int+{B-Role}) | ||
Voldenet | Huh… | ||
22:46
lichtkind_ left
|
|||
Voldenet | m: role B-Role {;}; my Int $b = 15; $b = $b + 1; $b does B-Role; say 16.WHAT; | 22:48 | |
camelia | (Int) | ||
22:50
Kaiepi left
22:54
Kaiepi joined
|
|||
japhb | Voldenet: Tripping over the small Int cache? | 23:06 | |
Voldenet | m: for ^16 { $_ does role :: { method CALL-ME { self + 1 } } }; say 10()()(); | 23:09 | |
camelia | 13 | ||
Voldenet | it's actually quite fun thing | ||
i'll use it in my code | |||
23:09
abraxxa-home left
|
|||
Voldenet | m: for ^16 { $_ does role :: { method ACCEPTS($x) { False } } }; my $x = 11; say 11 ~~ $x | 23:13 | |
camelia | False | ||
Voldenet | I'll use this if I ever need to make someone mad | 23:15 | |
23:39
simcop2387 left
23:42
simcop2387 joined
23:55
Kaiepi left
|