🦋 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:00
reportable6 left
00:01
reportable6 joined,
Kaiepi left
|
|||
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 | |
00:20
jpn joined
|
|||
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 | |
00:25
jpn left
|
|||
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 | ||
00:58
lichtkind_ left
01:00
jjido left
01:01
Kaiepi joined
01:04
xinming left,
xinming_ left
01:05
xinming joined
01:06
xinming_ joined
01:31
epony left
01:37
jetchisel left
01:39
jetchisel joined
01:51
epony joined
02:05
Kaiepi left,
Kaiepi joined
02:08
jpn joined
02:13
jpn left
02:23
rf left
03:23
unicodable6 left,
quotable6 left,
sourceable6 left,
nativecallable6 left,
coverable6 left,
committable6 left,
tellable6 left,
benchable6 left,
bisectable6 left,
statisfiable6 left,
bloatable6 left,
notable6 left,
squashable6 left,
shareable6 left,
linkable6 left,
greppable6 left,
reportable6 left,
releasable6 left,
evalable6 left
03:24
benchable6 joined,
bisectable6 joined,
bloatable6 joined,
unicodable6 joined,
releasable6 joined,
reportable6 joined,
statisfiable6 joined,
nativecallable6 joined,
tellable6 joined,
committable6 joined
03:25
quotable6 joined,
sourceable6 joined,
greppable6 joined,
squashable6 joined,
coverable6 joined
03:26
shareable6 joined,
linkable6 joined,
evalable6 joined,
notable6 joined
04:01
Homer_Simpson joined
|
|||
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 | |
04:25
Kaiepi left
05:25
linkable6 left,
committable6 left,
nativecallable6 left,
tellable6 left,
shareable6 left,
unicodable6 left,
notable6 left,
squashable6 left,
quotable6 left,
bloatable6 left,
benchable6 left,
bisectable6 left,
releasable6 left,
shareable6 joined,
Kaiepi joined
05:26
bisectable6 joined,
tellable6 joined,
benchable6 joined
05:27
quotable6 joined,
releasable6 joined,
nativecallable6 joined,
squashable6 joined
05:28
unicodable6 joined,
committable6 joined,
linkable6 joined,
bloatable6 joined,
notable6 joined
05:48
jpn joined
05:53
jpn left
06:00
Kaiepi left,
reportable6 left,
reportable6 joined
06:13
Homer_Simpson left,
alfonsox joined
06:21
Kaiepi joined
07:21
quotable6 left,
squashable6 left,
releasable6 left,
bloatable6 left,
bisectable6 left,
unicodable6 left,
nativecallable6 left,
benchable6 left,
coverable6 left,
sourceable6 left,
linkable6 left,
notable6 left,
tellable6 left,
shareable6 left,
greppable6 left,
committable6 left,
reportable6 left,
statisfiable6 left,
evalable6 left,
nativecallable6 joined,
evalable6 joined,
unicodable6 joined,
benchable6 joined,
shareable6 joined
07:22
bloatable6 joined,
statisfiable6 joined,
quotable6 joined,
releasable6 joined
07:23
bisectable6 joined,
coverable6 joined,
squashable6 joined,
greppable6 joined,
sourceable6 joined,
linkable6 joined,
tellable6 joined,
reportable6 joined
07:24
committable6 joined,
notable6 joined
07:31
abraxxa joined
07:32
Sgeo left
07:33
abraxxa left
07:35
abraxxa joined
07:38
jpn joined
07:39
razetime joined,
abraxxa left
07:40
abraxxa joined
07:42
jpn left
07:50
razetime left
08:04
razetime joined
09:04
coverable6 left,
bisectable6 left,
releasable6 left,
notable6 left,
greppable6 left,
statisfiable6 left,
linkable6 left,
nativecallable6 left,
evalable6 left,
shareable6 left,
quotable6 left,
unicodable6 left,
reportable6 left,
tellable6 left,
benchable6 left,
bloatable6 left,
squashable6 left,
sourceable6 left,
committable6 left,
coverable6 joined,
evalable6 joined,
nativecallable6 joined,
bloatable6 joined,
committable6 joined,
unicodable6 joined
09:05
tellable6 joined,
releasable6 joined,
linkable6 joined,
quotable6 joined,
sourceable6 joined
09:06
statisfiable6 joined,
greppable6 joined,
reportable6 joined,
squashable6 joined,
benchable6 joined,
notable6 joined
09:07
shareable6 joined,
bisectable6 joined
09:16
lichtkind_ joined
09:17
dakkar joined
09:29
sena_kun joined
09:49
razetime1 joined
09:50
razetime left,
razetime1 is now known as razetime
10:40
spacekookie left
10:41
spacekookie joined
10:47
sftp left
10:58
sftp joined
11:09
tejr left,
tejr joined
11:13
grondilu joined
|
|||
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 | ||
11:18
sftp left
11:19
sftp joined
|
|||
Nemokosch | logically it should, indeed... | 11:22 | |
11:31
jjido joined
11:57
Kaiepi left
12:00
reportable6 left
12:01
reportable6 joined
12:09
lichtkind__ joined
12:11
lichtkind_ left
12:13
MoC joined
12:21
razetime left,
razetime joined
13:03
jjido left
13:22
Kaiepi joined
13:29
razetime left
14:05
Kaiepi left,
Kaiepi joined
14:11
razetime joined
14:32
rf joined
14:38
grondilu left
15:12
Sgeo joined
15:16
[Coke]_ is now known as [Coke]
15:22
Kaiepi left
15:39
TieUpYourCamel left
15:50
jpn joined
15:51
TieUpYourCamel joined
15:54
gabiruh joined
15:55
MoC left
15:56
Kaiepi joined
16:43
nine left,
m_athias left,
nine joined
16:44
m_athias joined
16:59
nine left,
m_athias left
|
|||
tonyo | is there going to be raku at the perl con in toronto? | 17:01 | |
17:02
jpn left
17:07
camelia left,
abraxxa left
17:11
jjido joined,
m_athias joined,
camelia joined
|
|||
rf | tonyo: I am certainly interested if there would be one :D | 17:13 | |
17:13
nine joined
|
|||
[Coke] | I would go to a toronto con. | 17:14 | |
link to the con info? | 17:17 | ||
17:17
m_athias left,
nine left,
nine joined
17:18
m_athias joined
17:19
nine left,
m_athias left
17:22
nine joined,
m_athias joined
17:24
nine left,
m_athias left
17:25
alfonsox left
17:27
Sauvin left
17:29
Sauvin joined
17:35
dakkar left
17:38
nine joined,
m_athias joined
17:39
Kaiepi left
17:40
razetime left
17:42
nine left,
m_athias left
17:43
nine joined,
jjido left,
m_athias joined
|
|||
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 | |||
18:00
reportable6 left,
reportable6 joined
18:02
Kaiepi joined
18:14
jjido joined
|
|||
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 | |
18:34
jjido left
19:02
Kaiepi left
19:08
Kaiepi joined
19:10
jpn joined
19:15
jpn left
|
|||
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 | |
19:56
jjido joined
20:06
Kaiepi left
20:15
Kaiepi joined
21:15
linkable6 left,
evalable6 left,
linkable6 joined
21:16
evalable6 joined
|
|||
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 | ||
21:56
jgaz joined
|
|||
[Coke] has a slang to write! | 22:07 | ||
guifa | You could do it with a trait | 22:24 | |
22:25
xinming left
22:55
sena_kun left
|
|||
[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 | |
23:03
jjido left
|
|||
[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 | |
23:20
jaguart left
23:23
merpaderp left,
merpaderp joined
|
|||
[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? | |||
23:26
jaguart joined
|
|||
[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& | |||
23:51
foonly joined
23:53
foonly left
|