🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:24 teatime left 00:30 derpydoo left 00:51 djuber left, Sgeo joined, djuber joined 00:54 lucs_ left, lucs joined 00:58 facetious left 01:00 japhb left 01:04 cm left, gordonfish left, broquain1 left, nicole left, peder left, phogg left, ecocode left, avar left, Tirifto_ left, avuserow left, cleo left, tjr left, slu left, notable6 left, tellable6 left, bisectable6 left, bdju left, thowe left, bartolin_ left, constxqt_ left, vrurg left, Voldenet left, lucerne left, Geth left, quotable6 left, benchable6 left, shareable6 left, greppable6 left, jrjsmrtn left, _________ left, Sgeo left 01:05 antim0d3s left, dutchie left, timo left, xkr47 left, lucerne joined 01:06 thowe joined, bartolin_ joined, constxqt_ joined, vrurg joined, Voldenet joined, Geth joined, quotable6 joined, benchable6 joined, shareable6 joined, greppable6 joined, jrjsmrtn joined, _________ joined, cm joined, gordonfish joined, broquain1 joined, nicole joined, peder joined, _________ left, Sgeo joined, antim0d3s joined, dutchie joined, timo joined, xkr47 joined 01:07 _________ joined, gordonfish left, phogg joined, ecocode joined, avar joined, Tirifto_ joined, avuserow joined, cleo joined, tjr joined, slu joined, notable6 joined, tellable6 joined, bisectable6 joined, bdju joined 01:08 gordonfish joined 01:09 japhb joined 01:11 tailgate joined 01:22 jpn left 01:28 swaggboi joined 01:32 Sgeo left 01:40 jpn joined, Sgeo joined 01:42 lichtkind left 02:51 hulk joined 02:53 kylese left 03:08 japhb left
tbrowder__ tsk, tsk 03:13
03:15 hulk left, kylese joined 03:29 japhb joined 03:30 edr left 03:55 jpn left 04:34 jpn joined 04:39 jpn left 05:48 jpn joined 05:54 jpn left 05:56 cm left 06:00 cm joined 06:49 jpn joined, japhb left 06:54 jpn left 06:55 japhb joined 07:13 japhb left, japhb joined 07:22 Sgeo left 07:29 eseyman left 07:30 manu_ joined 07:31 manu_ is now known as eseyman 07:32 japhb left 07:36 Sgeo joined 07:42 japhb joined 07:50 japhb left, jpn joined 07:56 jpn left 08:10 jpn joined 08:15 jpn left 08:22 jpn joined 08:37 lichtkind joined 08:50 jpn left 08:54 jpn joined 08:55 dakkar joined 09:11 japhb joined 09:23 abraxxa joined 09:26 japhb left 09:27 sena_kun joined 09:28 Sgeo left 09:31 abraxxa left, abraxxa joined 09:35 jpn left 09:57 jpn joined 10:11 sena_kun left
tbrowder__ here is a test CSV file in English, I would appreciate a similar test CSV file in other languages: 11:13
gist.github.com/tbrowder/20632e8db...bf866ff78b
oops, that hobby should read "...railroad...on YouTube (and live)" 11:15
nemokosch what are you talking about? 11:16
librasteve gonna need an LLM for that 11:30
antononcube @tbrowder programmatically automatic translations can be obtained with “Lingua::Translation:DeepL”, or “WWW::OpenAI”, or “WWW::PaLM”, or “LLM::Functions”. 11:31
11:32 Xliff_ joined
The value of the third column of the linked CSV file. 11:32
Xliff_ \o
How compatible are C++ classes with a Raku NativeCall CStruct? 11:33
Xliff_ is still hoping somehow for a better way of interfacing Raku with C++
Seriously! I wonder what trouble I could get in with Raku bindings for Unreal Engine 5? 11:34
Would need a workaround for some STL features though (Generics in particular)
antononcube @librasteve The translation can be done with DeepL — it uses neural networks, but they are not LLMs. Their service can be used for free. 11:35
nemokosch this is a C++ question, and from what I know, C++ classes (that don't use virtual methods) are binary compatible with C structs 11:36
Xliff_ nemokosch++ -- But what about those that do use virtual methods. Is ther a workaround? 11:37
antononcube @tbrowder Here is DeepL : www.deepl.com/translator
nemokosch well, from all I know, virtual methods are internally represented as pointers/references so probably there is 11:38
Xliff_ Huh,
Something like -- class MyCPPClass is repr<CStruct> { has Pointer $!stupidVirtualMethod }
librasteve antononcube: ah - that's cool thanks! 11:40
nemokosch I think one should read the standard to say something comprehensible about it. Either you are lucky and NativeCall goes out of its way to support C++ somewhat, or I can only say maybe it's not the best idea to begin with 11:45
these C structs are for sharing data between native code and Raku 11:46
classes that contain real "class-y" things are not really data
docs.raku.org/language/nativecall#C++_support 11:47
11:51 lichtkind_ joined 11:54 lichtkind left
Xliff_ What the heck is the "is nativeconv" trait? Is it documented? 12:14
All hidden behind nqp:buildnativecall 12:16
s/:/::/
tbrowder__ antononcube: thnx for link and ideas, but i really need tranlation AND with proper unicode chars. see my Date::Names for 13 languages and native chars. i can't easily produce those non-ASCII chars on my keyboard without a lot of ff when our non-english friends here can snap it out in a heartbeat (really interesting to watch Koreans typing on their keyboards) 12:30
those translations were contributed by Raku users 12:31
i think i need to buy a special add-on keyboard 12:32
antononcube @tbrowder I strongly suspect that if you put the description you gave to an LLM you’ll get something very close to what you want. 12:38
tbrowder__ ok, sounds like a plan 12:42
librasteve tbrowder__ took me about two mins to do this on ChatGPT ... 12:51
^^^ this with ChatGPT 3.5 (free) please make me a csv with 30 rows like this name, language, hobby Steve, US English, watching railroad operations ok, now take column 3 and translate into the language please add unicode characters and decorators where appropriate
The results are in your gist as a comment 12:52
Xliff_ Do class attributes store their index in .^attributes? 13:11
13:21 edr joined
tbrowder__ librasteve: looks pretty good, thanks 13:36
Xliff: try taking .name and .value od . 13:41
of .^attributes list 13:42
items
m: class f { has $.id; has $.val }; my $a = f.new(:id(2), :val("fdot")); dd $.a.^attributes 13:45
camelia ===SORRY!=== Error while compiling <tmp>
Variable $.a used where no 'self' is available
at <tmp>:1
------> $a = f.new(:id(2), :val("fdot")); dd $.a⏏.^attributes
expecting any of:
argument list
term
tbrowder__ arg xtra dot 13:46
m: class f {has $.id; has $.val}; my $a = f.new: :id(2), :val("fdot"); dd $a.^attributes 13:48
camelia (Attribute.new, Attribute.new)
tbrowder__ take each attr and use methods .name and .value 13:49
antononcube @librasteve , @trbrowder After joining OpenAI and ChatGPT-3 is "free" for three months. Meaning, you are given an allowance of $20 that you have to spent within three months. 13:50
[Coke] m: dd flat 1..4, 10..12 14:03
camelia (1, 2, 3, 4, 10, 11, 12).Seq
[Coke] m: dd |(1..4, 10..12)
camelia 1..4
10..12
[Coke] m: dd flat(1..4, 10..12) #not the parens per se. 14:09
camelia (1, 2, 3, 4, 10, 11, 12).Seq
tbrowder__ antononcube: have you looked into github copilot? 14:24
timo infuriate people by implementing a library for path / filename operations that uses the "div" infix operator for concatenating paths 14:28
antononcube @tbrowder Yes. Also, tabnine. I cannot use them at most places I work, so I do not want to be dependent on them.
That said, for my open sources projects I use PaLM and ChatGPT a lot, especially for reprogramming from one lanugage to another. 14:29
Also, both PaLM and ChatGPT are very useful when I have to reformat, say, Markdown lists into Markdown or HTML tables. Usually, the time I spent the most is on understanding the software code (architecture, idioms, syntax, etc) and documenting it. Not so much on the actual code writing. 14:39
14:42 japhb joined
librasteve Coke: Note that the flattening is recursive, so ((("a", "b"), "c"), "d").flat returns ("a", "b", "c", "d"), but it does not flatten itemized sublists 14:45
otoh | (aka .Slip) is not recursive 14:46
there are many wrinkles like this in raku and it makes me wonder whether this lack of consistency is by sloppy design, or perhaps a way to support timtowtdi with readable and concise variants that cover (in this case) both recursive and non-recursive behaviours (but require you to know what you are doing in the detail) ... personally I lean to the latter 14:50
nemokosch and that's fair 15:05
leaning towards a certain explanation is fine. What bothers me is the fundamentalism, and routinely responding to complaints by saying "you just need to learn it and then you will understand, duh" 15:06
That's not you, to make it clear, but it's definitely a prevalent phenomenon on multiple platforms 15:07
15:08 jpn left
[Coke] btw, my flat item there was for a problem solving Q that came in recently (I don't have the number in front of me) 15:13
nemokosch I'm trying to stay away from that issue. We have spent a lot of time on it in the Raku Study meeting, AlexDaniel has complained about it for years, at this point I'd say everybody knows it, there is nothing more to say 15:14
It's only a matter of willingness to at least ban a lot of use-cases, if it cannot be remedied 15:15
Geth planet.raku.org: 93acf1641d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | perlanetrc
Fix feed URL
15:17
15:22 jpn joined
nemokosch www.youtube.com/watch?v=qBn1KpwskI0 15:30
haven't seen this before. Wholesome haha
lizmat wonders what the added value is of having it as a Youtube movie 15:38
when you're supposed to be reading all of the time
tbrowder__ ok, tried it, chatgpt is very cool, it uses unicode, AND it seems to understand Raku in my simple tests 15:55
Xliff_ tbrowder: Actually, using .name and .value are what I am trying to avoid. 15:59
After thinking about it, I can see why Attribute does NOT have an index into a classes .^attributes since that object might be used in more than one class.
tbrowder__ lizmat: at least he gave Mi6::Helper some publicity ;-D 16:00
lizmat true... but a blog post would have done the same
tbrowder__ but he didn't show using it :-( 16:01
mea culpa 16:03
[Coke] lizmat: some people learn better reading, some watching. 16:05
... as my internet connection hangs and I can't even watch it
lizmat but that's what I don't get: the video is just showing test that you're supposed to "read", with some pretty horrible background music 16:06
*text
[Coke] Yah, this isn't much more than a video blog post.
tbrowder__ Xliff_: what is your use case? 16:07
Xliff_ tbrowder: Trying to save an attribute's location at compile time for use at INIT time. The data itself does not change, but the facilities are not available when the data is collected (via trait) 16:32
So I do not want to have to do several O(N) searches of various .^attributes across classes, and I can't serialize the Attribute class at compile time. 16:33
So having an attributes index into ::?CLASS.^attributes would really be helpful.
m: multi sub trait_mod:<is> (Attribute $a, :$saveable!) { $a.package.^attributes.first( $a, :k ).say }; class A { has $.a; has $.b is saveable; has $.c }; 16:35
camelia 1
Xliff_ m: multi sub trait_mod:<is> (Attribute $a, :$saveable!) { $a.package.^attributes.first( $a, :k ).say }; class A { has $.a; has $.b; has $.c is saveable };
camelia 2
Xliff_ Although that actually worked out pretty well, LOL!
m: multi sub trait_mod:<is> (Attribute $a, :$saveable!) { $a.package.^attributes.first( $a, :k ).say }; class A { has $.a; has $.b is saveable; has $.c is saveable }; 16:36
camelia 1
2
Xliff_ That's much better, as I don't care about a compile-time performance hit from .first! :D 16:37
Wow... that video was..... helpful? 16:49
I guess?
I knew about everything in it though.
Geth advent/main: 06274eb0a6 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2023/authors.md
Schedule JJ Atria for Dec 2
16:58
[Coke] speaking of marketing, I wonder if we could get some concensus on what kind of videos we'd like to see. 17:25
I was thinking that about 5m intros on neat features would be one kind of helpful video.
17:33 dakkar left
nemokosch what do you mean, ultimate background music time 17:40
Geth advent/main: 2a7e5b5f6a | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2023/authors.md
Schedule heyajulia for Dec 3
17:57
antononcube @lizmat "wonders what the added value is of having it as a Youtube movie [...]" -- It is a Zoomer / Gen-Z thing. 18:02
lizmat I guess they can't read anymore then 18:03
I mean: the suggestion of pausing the movie to read was ... unneeded for me
at least triple speed the movie would have worked better for me
antononcube @lizmat With my previous comment I was mostly trying to indicate that I am age-prejudiced. 18:05
lizmat :-)
antononcube And, yes, most of the time I watch listen YouTube movies with at least 25% speed-up.
18:24 tirnanog joined 18:30 jpn left
nemokosch To be fair, youtube is a platform. There is no similar platform for textual content. One could insist that Facebook or Reddit would be one, in some sense - honestly, not really 18:35
librasteve substack, wordpress, medium (also reddit) come to mind 18:40
18:41 jpn joined
lucs Mr.Schneider has posted about 25K (sic) videos on his channel since he started about a year ago (over 70 posted in the last 24 hours), most lasting around 3 minutes, pretty much all the same format: he chit-chats a bit at the start, then shows one or more ways to solve some given problem. 18:41
I don't know what the quality of the solutions is, I've only been looking at his stuff since it was mentioned here earlier. 18:42
But with so many videos, I'm not sure how anyone can find one on any specific problem.
And when it would be relevant, there is unfortunately never any code that a viewer can copy/paste.
Yep, his work would probably be a couple of orders of magnitude more useful if it was plain-text based and searchable.
Geth advent/main: 5adc2a9f38 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2023/authors.md
Add 2023 Review
18:43
18:51 sena_kun joined
antononcube @lucs Of course, recommender systems can be used. Transcripts can be combined with specially biased LLMs, etc. 18:55
lucs A lot of technology to circumvent what would be so simple with plain text, no? 19:03
19:05 teatime joined
antononcube Absolutely! Why do it a simple way if we can do it in a contrived way. 19:13
lucs Gotcha :) 19:14
19:18 hxcdk joined 19:19 hxcdk left 19:21 abraxxa left 19:34 jpn left 19:43 japhb left, japhb joined 19:47 TieUpYourCamel left 19:56 teatwo joined 19:57 teatime left
tbrowder__ amen, brother! 20:01
20:09 TieUpYourCamel joined 20:49 japhb left
ab5tract Idk 20:51
sorry, what I meant to say is: regarding video content, sometimes a video can go into much more depth than a blog post. This particular video does not appear to be a good example of this 20:52
scullucs Agreed. 20:53
ab5tract regarding potential Raku video content: It could be really interesting to have a semi-regular showcase, basically a Raku channel where ad-hoc presentations can appear throughout the year. 21:07
tonyo . 21:16
tellable6 2023-11-24T14:44:42Z #raku <tbrowder__> tonyo see ref to CSV::Parser above ^^^
2023-11-24T20:19:57Z #raku <melezhik> tonyo: CVS will work in US, lol 😂
librasteve can someone look at www.reddit.com/r/rakulang/comments...l_failure/ and assist with install of docs-website please? 21:17
(mainly for woody-...)
[Coke] ... you don't install doc-website 21:18
librasteve dont tell me tell woody ;-) 21:19
This repo can be cloned and the main dependencies can be installed with zef install . --deps-only
[Coke] ah, they are just installing deps. so the doc-website is not the problem. they need `graphviz` installed, probably.
also: why are they not reporting this on the issues site. 21:20
librasteve can someone enable Discord invites for me and I will invite them here
yes - they would likely have got quicker attention 21:21
[Coke] added a note there about graphviz and the github site 21:27
(and also I replied to them originally)
librasteve github.com/Raku/doc-website/issues/320 21:31
thanks!! 21:32
btw I have worked out how to get Discord invite
21:34 japhb joined
[Coke] oddly, this is not from the OP afaict 21:39
ugexe they could probably just follow the instructions zef gives and do --exclude="curl" 21:43
github.com/CurtTilmes/raku-libcurl...6.json#L18 21:49
that has :ver<4> but the output on their netbsd system showed libcurl/8.4.0 21:50
i dunno if that is relevant
if it is relevant they can probably just do --exclude="curl" and be fine since the binding probably works with most versions 21:51
[Coke] librasteve++ ugexe++ 21:54
22:21 jpn joined
nemokosch by the way, I haven't heard of substack, wordpress doesn't aggregate content, and reddit is not really for blog posts 22:22
The server has public invites
writing here as well - the fix of github.com/Raku/doc-website/issues/320 is problematic because it alters an output file rather than the corresponding source 22:27
22:27 sena_kun left
[Coke] I'll re-fix it (probably tomorrow), thanks 22:28
22:30 jpn left
nemokosch thank you 22:33
it would be good to know what exactly finanalyst runs to update these files; it clearly is raku-pod-render some way
22:37 Sgeo joined
[Coke] yup, that'll be part of my fix is to document that. :) 22:38
most distros that do that probably use mi6 for it when they do a release, but we don't do releases. 22:39
nemokosch also, mi6 would probably use the old Pod::To::Markdown 22:41
22:50 jpn joined 23:10 jpn left 23:11 Xliff_ left 23:47 lichtkind_ left