🦋 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.
tonyo haha anton: `becoming the best python programmer i know` ! 00:03
Nemokosch vrurg made the same joke with Python twice 00:04
guifa is still proud of his elders + BASIC joke 00:05
Nemokosch "if you wanted to implement... sorry for this word... PYTHON [on Rakudo maybe, not 100%]"
Anton Antonov @tonyo "haha anton: becoming the best python programmer i know !" -- Yeah, I like trolling the Pythonistas. 🙂 00:09
The talk "Becoming the best Python programmer I know" was also rejected by the "Python dev room" committee at FOSDEM 2023. 00:11
Nemokosch tonyo: this is somewhat off-topic but sometimes we need to bring in the good vibes as well... so the "zef ecosystem" has basically become the biggest Raku ecosystem in less than two years, if I can count
This might be the biggest, visible achievement of 2022 in the Raku space 00:12
Anton Antonov I plan to implement the core Mathematica language in Raku (using RakuAST.)
tonyo maybe, it's hard to say without doing some analysis of cpan
i've been waiting for rakuast to write a datalog ORM
2493 dists nemokosch 00:13
from 124 authors
Anton Antonov I decided I cannot wait for RakuAST for the development of my DSL projects, so I actively program "work-arounds".
Nemokosch raku.land only knows like 2100 in total 00:14
"everything" (supposedly) considered
Anton Antonov I did some data analysis of raku.land / zef ecosystem last year for TRC-2022.
tonyo 115k downloads of those dists
2493 dists means unique Module:auth:ver:api 00:15
where is this, anton?
Nemokosch is this for all versions? ohh, gotcha, late
Anton Antonov Hmm... trying to find the links. 00:16
@tonyo Here is a teaser: imgur.com/33P7QmG 00:18
I posted the corresponding notebook I do not think it can be seen without Wolfram Cloud account. 00:19
Nemokosch ha, I saw HTML::Tag on it 😄 00:20
Anton Antonov <@297037173541175296> I am using your IRC handle in examples often. 00:22
Nemokosch Well I kind of overflew the chat so that's easy. Imo this is neither a virtue, nor a shame per se... 00:24
Anton Antonov @tonyo In order to make the “Zef ecosystem recommender” presented here : youtu.be/efRHfjYebs4&t=196s , I downloaded the Meta6 files and some/most of the README files (if they are “easy” to get.) 00:27
Just a fruitful example.
jaguart maxim bollocks... 😂😂😂 00:30
rf tonyo: Yeah I'm not sure how I would do it, but I think it can be simplified more. 00:32
jaguart wow that is nice :))
Anton Antonov Agh, I remember that ! Oh, well… it illustrates well why in my DSLs I have to handle misspellings, etc. 00:35
jaguart there's a lot packed into that presentation - 😶 00:45
Nemokosch Did you attend the conference, good sir? 00:47
jaguart sadly not - I'm not usually in the right part of the World.pm6 at the right time 00:49
Nemokosch oh right :c 00:50
Anton Antonov Yeah, way too much… 00:51
Nemokosch it's hard because there was already a sort of compromise, so that at least the east coast can join the mostly European core
but yeah, the "east coast" doesn't really refer to Melbourne 00:52
jaguart where / when for 2023?
this? www.reddit.com/r/rakulang/comments...ence_2023/ 00:54
Nemokosch Yes
jaguart oh that might be doable, as probably in the UK around that time... 00:55
Nemokosch the last two years (so basically all Raku Conferences) were online
Homer_Simpson . 04:01
@rf I would prefer a purley procedural version of raku that compiles to assembler 04:03
purely* 04:04
jaguart yeah - I used to work in COBOL and still hanker after 'alter goto' - them were the good ol mainframe days 04:11
grondilu m: role vec[$n] { has @.x[$n]; }; say class :: does vec[2] {}.new: x => ^3 11:14
camelia <anon|1>.new(x => [0, 1, 2])
grondilu ^I thought that would throw an exception
I mean I wanted to restrict the size of @.x
m: role vec[$n] { has @.x[$n]; submethod TWEAK { die "size mismatch" unless @!x.elems == $n } }; say class vec2 does vec[2] {}.new: x => ^3 11:17
camelia size mismatch
in submethod TWEAK at <tmp> line 1
in block <unit> at <tmp> line 1
grondilu meh, that will do
Nemokosch logically it should, indeed... 11:22
tonyo is there going to be raku at the perl con in toronto? 17:01
rf tonyo: I am certainly interested if there would be one :D 17:13
[Coke] I would go to a toronto con. 17:14
link to the con info? 17:17
tonyo ingy: ^^^^^ 17:47
i think they're still planning it
rf: i think it'd have to get down to a slang to make it behave like an actual monad 17:59
then you'd be able to implement guards, etc
rf Maybe some sort of pure functional slang 18:23
tonyo yea
rf That might be a fun project
tonyo that would be a nice one
rf My result interface isn't too bad, ok('Value'), error('value') 18:24
tonyo i'm excited about a datalog slang. would be nice to query csv/sql/etc with one common lang
no, it's pretty cool looking
rf +1 for that too
tonyo abap's approach to that is also interesting
rf I was wondering about a slang for partial application, it would be very nice for humming-bird so we don't have to group with .assuming 18:26
tonyo what would that syntax look like? 19:41
not sure that even really needs a slang 19:42
m: sub pt(Callable:D $fn, *@l) { sub (*@_) { $fn.(|(|@l, |@_)); }; }; my $partial = pt(&printf, "test: %d %d\n", 2, ); $partial(4) 19:48
camelia test: 2 4
tonyo can be extended to handle named params too 19:50
rf tonyo: I was thinking that any function would return a closure implicitly if its arguments weren't fully filled 21:27
basically sub f($x, $y) { $x + $y }; f(1) == -> $y { 1 + $y } 21:28
[Coke] has a slang to write! 22:07
guifa You could do it with a trait 22:24
[Coke] github.com/Raku/nqp/blob/main/docs...own#qastop - is the callmethod syntax example here still good? 22:56
Or: is there a better way to call .new? 22:58
Nemokosch does --target=ast not help with the actual behavior? 23:03
[Coke] there's a lot of extra wrapper code there, but it's generally the same as what I have. ah well, something annoying about a slang, no doubt. 23:04
thanks for the tip 23:05
lizmat [Coke]: that seems like valid QAST to me 23:17
[Coke] i think the issue is trying to get Date as a WVal 23:23
QAST::WVal.new( :value(Date) ), 23:24
eventually the whole thing is dying with This type (Scalar) does not support positional operations 23:25
gist.github.com/coke/337ac40624575...88ec72b035 look ok?
[Coke] oh, maybe i need to wrap the whole thing in a statment 23:27
nope, same issue 23:28
I'll cleanup the wip and push it somewhere tomorrow. 23:30
lizmat gist looks valid to me, but it is also late :-) 23:34
but why the QAST?
[Coke] Slang 23:36
lizmat ah
Nemokosch RakuAST 😼
[Coke] need it (I think) to return from the Actions
yes, looking forward to rewriting this in 3 months.
lizmat you could think about rewriting it now :-)
[Coke] I don't have the brain atm. we'll see what tomorrow brings. 23:37
lizmat neither 23:38
sleep&