🦋 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:02
reportable6 left
00:15
frost joined
01:05
reportable6 joined
01:18
charsbar_ joined
01:19
charsbar left,
charsbar_ is now known as charsbar
01:21
ggoebel joined
01:26
ggoebel left
02:26
unicodable6 left,
evalable6 left,
statisfiable6 left,
linkable6 left,
nativecallable6 left,
releasable6 left,
quotable6 left,
coverable6 left,
sourceable6 left,
benchable6 left,
squashable6 left,
bisectable6 left,
bloatable6 left,
reportable6 left,
greppable6 left,
committable6 left,
tellable6 left,
shareable6 left,
notable6 left
02:27
unicodable6 joined,
nativecallable6 joined,
linkable6 joined,
shareable6 joined,
coverable6 joined,
committable6 joined
02:28
bloatable6 joined,
quotable6 joined
02:29
benchable6 joined
02:35
leont left
02:37
leont joined
03:01
frost left
03:05
frost joined
03:26
greppable6 joined
03:28
tellable6 joined
03:29
evalable6 joined,
statisfiable6 joined
|
|||
mfiano | Hello again. | 03:44 | |
I would like to get a better idea of what people are using Raku for these days. I haven't looked at Perl in about 20 years, and historically it has been mostly used for text processing and cgi scripts (which I suppose is a subset of the former). I am told Raku is more suitable to other tasks, and while I know it is a general-purpose language, I'm still curious what members of the community are | 03:47 | ||
actually using it for these days, outside of text processing, parsers, and the like. | |||
04:04
monkey_ joined
04:15
monkey_ left
|
|||
moon-child | mfiano: you mentioned earlier gl; I made a very basic interface to it here github.com/moon-chilled/glarkum | 04:25 | |
04:26
reportable6 joined
|
|||
mfiano | Thanks moon-child | 04:26 | |
moon-child | be advised it takes a very long time to compile | 04:27 | |
mfiano | Shouldn't be a problem is parallel compilation is possible | ||
if* | |||
moon-child | well, it's a single translation unit sooo | ||
but there is caching | |||
04:27
squashable6 joined
|
|||
moon-child | timo: my recollection is vulkan structs are not too bad from an abi perspective. Always passed/returned by pointer, so no problem that dyncall can't handle value structs | 04:28 | |
04:28
bisectable6 joined
|
|||
mfiano | I've mostly just been trying to read about Raku and success stories for now. | 04:29 | |
04:29
releasable6 joined
|
|||
mfiano | Ordered a book. For now reading official docs. Still hard to find what people are using it for. Seems mostly just exploratory programming and parsers. | 04:29 | |
and web apps with Cro | 04:30 | ||
moon-child | 6guts.wordpress.com/2021/09/29/the...m-is-here/ mentions its use in 'Agrammon, an application calculating farming emissions' | 04:32 | |
mfiano | Wonder how it'd do for declarative, data-driven tasks, like a lot of traditional AI. Probably best to stick to CL for that ;) | 04:33 | |
moon-child | there are no symbols, which is a shame. But you can do interning yourself. Beyond that you're probably mostly fine | 04:54 | |
mfiano | No symbols...hmm, odd. | 04:55 | |
05:26
notable6 joined
05:28
tejr left,
tejr joined
05:33
berber44 joined
05:39
gordonfish- joined
05:40
gordonfish left
05:55
berber44 left
06:02
reportable6 left
06:04
reportable6 joined
07:04
reportable6 left,
quotable6 left,
statisfiable6 left,
linkable6 left,
nativecallable6 left,
releasable6 left,
benchable6 left,
bloatable6 left,
shareable6 left,
bisectable6 left,
coverable6 left,
committable6 left,
tellable6 left,
squashable6 left,
evalable6 left,
unicodable6 left,
greppable6 left,
notable6 left,
nativecallable6 joined,
benchable6 joined
07:05
unicodable6 joined
07:06
tellable6 joined,
bisectable6 joined,
releasable6 joined,
notable6 joined,
squashable6 joined
07:07
linkable6 joined
07:27
sourceable6 joined
|
|||
Nemokosch | what are "symbols"? | 07:45 | |
moon-child | a symbol is an identifier. Given two symbols you may ask whether they identify the same thing (i.e. compare them). That's it | 07:47 | |
frequently symbols are used to represent variable and function names in code. Raku uses strings instead | |||
mfiano | THe thing that a string maps to in a symbol table of a compiler. Lisp just exposes these as a primitive. | ||
moon-child | notably symbols are interned, where strings are not. So you can use === to compare them in constant time | 07:48 | |
Nemokosch | I don't quite get the use case | 07:55 | |
moon-child | @Nemokosch you can think of it a bit like the dynamic typing version of enums | 08:03 | |
08:04
bloatable6 joined
|
|||
El_Che | moon-child: symbols is something I dislike about Ruby | 08:04 | |
08:04
committable6 joined
|
|||
moon-child | :/ | 08:04 | |
08:05
greppable6 joined,
monochromec joined
|
|||
monochromec | Hi! Who's the right person to contact as a dev advocate or community liaison for Raku? | 08:06 | |
Nemokosch | moon-child: how is it useful to make it compile time, then? | 08:13 | |
moon-child | how not? | 08:14 | |
Nemokosch | I mean, could you give an example for using it compile time? lol | 08:17 | |
because there are constants in Raku, it's just a matter of implementation to make them evaluated compile-time in a switch-like scenario | 08:18 | ||
moon-child | hm, I may have misinterpreted your initial question. Can you rephrase/elaborate? | ||
Nemokosch | No, not really | 08:21 | |
I genuinely don't get what these "symbols" are when it really sounds like they are just typeless constants | 08:22 | ||
moon-child | 'typeless constants' exactly | ||
Nemokosch | like IterationEnd for the matter | ||
moon-child | but you do not need to explicitly declare them. You can just use them as you see fit | 08:23 | |
Nemokosch | What does that mean? How would either a person or a compiler know they are something? | ||
It sounds more weird than useful, to not need to declare them | 08:24 | ||
moon-child | they are not _anything_, by themselves. The only way to 'get' any information out of a symbol is to compare it to another symbol and see if they are the same | ||
mfiano | Are you sure about that? | 08:25 | |
Nemokosch | This sounds like IterationEnd but without declaration... | ||
mfiano | They are objects, like everything else in CL. They have 5 fields, such as the value bound to it. | 08:26 | |
moon-child | mfiano: sure, in cl you have symbol-package and symbol-name and such, but those are incidental, not The Point | ||
mfiano | Fair enough. | ||
moon-child | and, talking about symbols as an abstract concept, not specifically as in cl | ||
mfiano | Ok, then pick up any compiler theory book and be done with it. | 08:27 | |
They are an integral part | |||
moon-child | fair enough | ||
08:27
monochromec left
|
|||
Nemokosch | In Javascript, Symbols absolutely don't mean "typeless constants" | 08:29 | |
MasterDuke | .tell monochromec you could try asking in #raku-steering-council | ||
tellable6 | MasterDuke, I'll pass your message to monochromec | ||
Nemokosch | and in Raku, there _are_ "typeless constants" | ||
09:04
quotable6 joined
09:05
shareable6 joined
09:06
coverable6 joined
09:07
evalable6 joined
|
|||
lizmat | .tell monochromec sending an email to [email@hidden.address] would be the best cause of action, I think | 09:07 | |
.tell monochromec sending an email to rsc@raku.org would be the best cause of action, I think | |||
tellable6 | lizmat, I'll pass your message to monochromec | ||
09:23
monochromec joined
09:28
RaycatWhoDat left
09:29
RaycatWhoDat joined
09:41
patrickb joined
09:56
monochromec left
09:57
monochromec joined
10:04
statisfiable6 joined
10:07
reportable6 joined
10:42
Sgeo left
11:23
ggoebel joined
|
|||
RaycatWhoDat | mfiano: re: "what is Raku being used for", it might not be anything fancy or overly interesting but I use it in my day-to-day work. Usually, I want to write a shell script or some sort of file/directory watcher or similar. | 11:24 | |
Now you may say that "lol, just learn shell scripting properly" and you'd be right | 11:25 | ||
But, in my head, pound-for-pound, Raku provides the smoothest development experience to a point where it feels like cheating sometimes | 11:26 | ||
mfiano | I see, thanks for your input. | 11:27 | |
11:31
monochromec left
11:32
monochromec joined
|
|||
RaycatWhoDat | mfiano: gist.github.com/RayMPerry/f2e1df44...d6170c2db8 | 11:33 | |
mfiano | I won't "lol" either. shell scripting is the worst, and I say that with 30 years of still banging my head over trivial tasks | 11:34 | |
I haven't tried raku out yet, been mostly reading still. i would definitely consider replacing some sh and lisp scripts with something like that. my only concern would be warmup time; most shell scripts are short-lived processes so waiting 20 seconds for it to even begin would be worthless. | 11:37 | ||
mfiano has no idea what startup time is like | 11:38 | ||
tbrowder | mfiano: i'm with RaycatWhoDat, i have used Perl since 1993 for both text processing as well as a wrapper for heavy duty numerical processing prof | 11:39 | |
mfiano | Nice, yes I figured that would be most of you. | ||
I am mostly an AI / data visualization guy. | 11:40 | ||
tbrowder | *processing pgms and postprocessing reams of data. Raku is the Perl i wish i had when i was working for a living. | ||
RaycatWhoDat | Oh, yeah. Raku can definitely chug if you start using a bunch of the arcane magick constructs in the language but, for 95% of what you're doing, Raku is ready to go in like 0.5 secs. | ||
Give or take. I haven't measured a damn thing. | |||
tbrowder | and when i need a serious bash prog, i use raku instead | 11:41 | |
mfiano | Are there any interesting programs written in Raku? Like something that you might see on HN or something? | ||
tbrowder | and i use raku for cgi progs, too | ||
RaycatWhoDat | The biggest one *might* be Red | 11:42 | |
I need to double-check, one second | |||
tbrowder | find jnthn's lecture on his BIG prog for one of the European gov agencies | ||
now that's heavy duty use of Raku | 11:43 | ||
RaycatWhoDat | Oh, yeah, yeah | ||
mfiano | link? | 11:45 | |
RaycatWhoDat | tbrowder: He's done so many, I've forgotten which year it was. Do you remember? | ||
tbrowder | er, no, but i'll see if i can duckduckgo it... | 11:46 | |
MasterDuke | raku-advent.blog/2020/12/20/day-20...-the-wild/ and github.com/oposs/agrammon | 11:49 | |
tbrowder | see jnthn.net for all his public slides and talks. he has many on composable concurrency and one of those may be it... | ||
yeah, that ^^^ one, too | 11:51 | ||
RaycatWhoDat | MasterDuke++ | ||
mfiano | Ah cool | 11:52 | |
11:54
ggoebel left
12:02
reportable6 left
12:03
berber44 joined
12:06
monochromec left
12:10
berber44 left
|
|||
Anton Antonov | @mfiano: re: "what is Raku being used for" -- I use Raku to make Conversational Agents (CA) for computational workflows. At this point most of them are not CAs, but "single-line interpreters", but I do use them to generate Data Science or Machine Learning workflows for different languages: Mathematica, Python, R. | 12:31 | |
@mifiano This recent presentation of mine, "Raku for prediction", goes into more details: conf.raku.org/talk/157 . | 12:35 | ||
avuserow | I wrote a simple password manager in raku which I use daily. Also writing a "network jukebox", for controlling speakers remotely via a web interface with a shared queue and music library from multiple users. Once upon a time, I did some video game modding using raku (replacing sounds, textures, etc). | 12:36 | |
Anton Antonov | '@' ~ discord-user(329084082162106371.Str) Is in PAUSE? Or GitHub? | 12:37 | |
avuserow | Soon :) | 12:38 | |
Which one are you most interested in? | 12:39 | ||
Anton Antonov | '@' ~ discord-user(329084082162106371.Str) Ah, sorry... The password managing one. | ||
@RaycatWhoDat Do you have blog posts and/or videos explaining your approach to make "shell scripts"? | 12:47 | ||
avuserow | '@' ~ discord-user(694526400488669234.Str) , okay I'll see what I can do. it's nothing super involved, just a CLI in the spirit of passwordstore.org - but not GPG and not bash 🙂 | 12:56 | |
13:03
keutoi joined,
reportable6 joined
13:30
sena_kun joined
13:33
Altai-man left
|
|||
'@' ~ discord-user(694526400488669234.Str) - github.com/avuserow/saiph - quick release after finishing off a few TODOs. It installs and still reads my local database, so it may even work for other people too 🙂 | 13:37 | ||
perryprog | looks like discord-raku-bot is having a moment | 13:38 | |
avuserow | The integration tests don't work any longer since the format changed. Haven't really thought about how to fix it. | ||
perryprog | Anyone know who's it maintainer? | 13:39 | |
its* | |||
avuserow | looks like it's confused when someone is at-mentioned on the discord side | 13:40 | |
perryprog | yeah | ||
MasterDuke | gfldex maybe? | 13:41 | |
avuserow | I dropped a note in discord's <#538407879980482562> | 13:42 | |
ha, and that got formatted weirdly too, naturally. the "general" channel is what I meant. | |||
perryprog | see if you just used irc we wouldn't have these problems ;) | ||
avuserow | my computer running my IRC client died | 13:43 | |
perryprog | well, heck | ||
avuserow | so I'm using discord as my bouncer 🙂 | ||
gfldex is looking into it | |||
perryprog | Thanks! | ||
Anton Antonov | '@' ~ discord-user(329084082162106371.Str) What is Go used for in your "saiph" package? (I am too lazy to read and comprehend the code...) | ||
avuserow | the golang code is just a parallel implementation to dump one of the encrypted files. still requires the password, just helped make sure I wasn't silently using the library wrong | 13:44 | |
(originally the code was using gpg so you could just `gpg -d somefile` as a way to peek into it, so I wanted to keep that) | 13:45 | ||
13:46
discord-raku-bot left,
discord-raku-bot joined
|
|||
gfldex | @glfdex testy, testy? | 13:49 | |
gfldex | this looks better | ||
gfldex | @gfldex#8222 well, I acutally have to have a link, tho. | 13:50 | |
13:50
discord-raku-bot left
|
|||
perryprog | gfldex, can I bother you to just remove the ID codes outright? :P | 13:50 | |
13:50
discord-raku-bot joined
|
|||
perryprog | just since it shouldn't matter for a bridge, IMO | 13:51 | |
gfldex | The bridge has to translate stuff that IRC doesn't understand. Discord is using `@ ~ 'some stuff here'` quite heavily. | 13:52 | |
13:52
monkey_ joined
|
|||
perryprog | Oh, I mean in username tags | 13:52 | |
gfldex | That would be very confusing. | ||
perryprog | As in make <@123> into @person instead of @person#456 | 13:53 | |
Anton Antonov | @avuserow#1203 Do I have to install `xclip` or I can skip it? | 13:56 | |
gfldex | Quite in contrast to IRC, usernames are not uniqe on Discord. There are also per-server usernames. | ||
perryprog | I'm aware. There's just no need to have the #1234 portion for an IRC bridge of this scale. | 13:57 | |
avuserow | You can skip it. It's used in a few commands but if you just want to echo things to stdout, you're fine | ||
perryprog | (In my opinion, of course :)) | ||
avuserow | I used it have it on a headless server with no X11 and it worked fine. | ||
Anton Antonov | Installing it now it now with `brew`... | 13:58 | |
Nemokosch | Username#Discriminator should be good enough | ||
also, it is unique to my knowledge | |||
or nicks as well | |||
Anton Antonov | Any "discriminator" would do? | ||
gfldex | perryprog: For the channel itself, not-so-unique usernames might be fine. But there are public IRC logs that I don't want to confuse. | ||
avuserow | <@694526400488669234> I have no idea if saiph will run on a Mac. Let me know how it goes and patches welcome. | 13:59 | |
Nemokosch | I mean your discriminator is 7232, it's random generally | ||
perryprog | Right. It doesn't give any information on the IRC side of things. I bet $20 imaginary dollars that there isn't—and hasn't—been a single username collision on the discord side of the bridge. | 14:00 | |
Anton Antonov | OK, right, it is not something I could make-up on the spot. | ||
I am getting now a failure for installing Raku's `Readline` -- not a `saiph` error per se. | 14:01 | ||
14:02
frost left
|
|||
avuserow | I probably could use something else. I think I just use it for tab completion on field names when editing an entry, and maybe completion for dot commands | 14:13 | |
14:17
Xliff joined
14:22
keutoi left
|
|||
Anton Antonov | @avuserow#1203 It looks like on Mac OS X `gpg` is used instead of `gpg2` : stackoverflow.com/q/54895263/ . | 14:35 | |
@avuserow#1203 So, I changed the test `ok which('gpg2'), 'gpg2 in PATH';` to `ok which('gpg'), 'gpg in PATH';` and I was able to install `saiph`. | 14:36 | ||
avuserow | I should remove that. gpg is no longer used for the current format. (I guess you could trick it into using the older format but I'd rather not...) | 14:39 | |
15:22
linkable6 left,
evalable6 left,
evalable6 joined
15:24
linkable6 joined
15:26
hkdtam joined
15:38
sena_kun left
15:39
sena_kun joined
|
|||
gfldex | lolibloggedalittle: gfldex.wordpress.com/2021/10/09/do...spiration/ | 15:40 | |
15:43
Altai-man joined
15:44
sena_kun left
15:54
Altai-man left,
sena_kun joined
16:10
monkey_ left
16:47
rypervenche joined
16:56
notna joined
16:58
monochromec joined
17:19
Sgeo joined
17:46
monochromec left
17:47
monochromec joined
18:02
reportable6 left
|
|||
Geth | doc: 2a2ac73c91 | (Joseph Brenner)++ (committed by Juan Julián Merelo Guervós) | 2 files documenting when order-of-declaration matters with multi-dispatch (Fixes #3970) |
18:03 | |
doc: 6c101243bc | (Joseph Brenner)++ (committed by Juan Julián Merelo Guervós) | 2 files Some small fixes for clarity and brevity |
|||
18:03
linkable6 left
18:06
linkable6 joined
18:10
notna left
|
|||
Geth | doc: 8b8d817db3 | Coke++ | doc/Language/functions.pod6 whitespace |
18:29 | |
doc: 52ca420fae | Coke++ | 2 files new words |
|||
linkable6 | Link: docs.raku.org/language/functions | ||
[Coke] | crap. %!sort -u screwed up the unicode sorting in xt/pws | 18:32 | |
guessing related to my recent os x upgrade to latest OS | 18:33 | ||
if someone could fix that and make sure xt/words.t passes, I'd appreciate it. | |||
18:39
berber44 joined
|
|||
RaycatWhoDat | Anton Antonov: I haven't really written anything on tech | 18:41 | |
18:41
vrurg left
18:42
avar left,
berber44 joined
|
|||
RaycatWhoDat | Anton Antonov: I haven't really written anything on tech | 18:42 | |
18:42
vrurg_ joined
18:43
japhb left,
monochromec left,
japhb joined,
avar joined
18:52
MasterDuke left
|
|||
berber44 | Hello, I found a "Complete course" of Raku that looks promising, but it only has the first, most basic, part. I wonder whether other parts follow up? course.raku.org/ | 18:53 | |
tellable6 | 2021-10-07T02:03:14Z #raku <tbrowder> berber44 you are very welcome | ||
2021-10-07T05:13:02Z #raku <japhb> berber44 test-t is part of a benchmark suite whose performance results are posted semi-regularly to #raku-dev by |Tux|. You can find them in the channel logs. | |||
18:54
monkey_ joined
|
|||
mfiano | berber44: The about page mentions that only the first part is published. It seems that part 2 development has been stalled since February though. | 19:01 | |
berber44 | That's sad | 19:02 | |
The chaper names look good | |||
^chapter | |||
^chapter | 19:03 | ||
19:03
MasterDuke joined,
reportable6 joined
19:10
monkey_ left
19:16
jjido joined
19:17
berber44 left
|
|||
Xliff | What's the best hash initializer when keys are actually scalars? AKA Is there a shorter, more idiomatic way to do: "my %hash; my $key = 'key'; %hash{$key} = 'value'" | 19:19 | |
What's the best hash initializer when keys are actually scalars? AKA Is there a shorter, more idiomatic way to do: "my %hash; my $key = 'key'; %hash{$key} = 'value'" | 19:20 | ||
MasterDuke | m: my $k = "a"; my %h1 = $k => 1; dd %h1; my %h2 = $k, 1; dd %h2 # like these? | 19:32 | |
camelia | Hash %h1 = {:a(1)} Hash %h2 = {:a(1)} |
||
Xliff | MasterDuke: Hmmm... something like that, yes. | 19:41 | |
m: my $k = 'a'; my %h = ( $k => 1 ); dd %h | |||
camelia | Hash %h = {:a(1)} | ||
Xliff | <- Derp | ||
19:52
jdv left,
jdv joined
20:15
patrickz joined
20:39
cog__ joined,
cognominal_ left
20:40
[Coke] left
20:41
cog__ joined,
[Coke]_ joined
20:48
euandreh left,
euandreh joined,
ggoebel joined
21:21
ggoebel left
21:31
hkdtam left
21:32
ggoebel joined
22:12
jmcgnh left
22:44
euandreh left
22:46
jjido left
22:49
jmcgnh joined
23:00
vrurg_ is now known as vrurg
23:07
monkey_ joined
23:12
patrickz left
23:14
patrickb left
23:22
[Coke]_ is now known as [Coke]
23:52
ggoebel left
23:58
euandreh joined
|