🦋 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:07
reportable6 left,
reportable6 joined
00:54
swaggboi joined
01:10
squashable6 left
01:13
jgaz joined,
jgaz left,
squashable6 joined,
jgaz joined
01:46
[Coke] left
01:54
[Coke] joined
01:55
jgaz left
02:55
unicodable6 left,
tellable6 left,
squashable6 left,
evalable6 left,
statisfiable6 left,
linkable6 left,
reportable6 left,
sourceable6 left,
coverable6 left,
notable6 left,
bloatable6 left,
releasable6 left,
committable6 left,
shareable6 left,
quotable6 left,
bisectable6 left,
greppable6 left,
benchable6 left,
nativecallable6 left,
quotable6 joined
02:56
evalable6 joined
02:57
shareable6 joined,
coverable6 joined,
reportable6 joined,
committable6 joined,
bisectable6 joined,
sourceable6 joined,
squashable6 joined
02:58
statisfiable6 joined
03:01
ggoebel left
03:14
xinming joined
03:55
bloatable6 joined
03:56
benchable6 joined
04:55
releasable6 joined,
unicodable6 joined
04:56
linkable6 joined,
notable6 joined
04:57
nativecallable6 joined,
greppable6 joined
05:57
statisfiable6 left,
benchable6 left,
evalable6 left,
squashable6 left,
releasable6 left,
bisectable6 left,
reportable6 left,
quotable6 left,
bloatable6 left,
notable6 left,
linkable6 left,
nativecallable6 left,
sourceable6 left,
unicodable6 left,
greppable6 left,
shareable6 left,
coverable6 left,
committable6 left
05:58
greppable6 joined
06:00
statisfiable6 joined,
nativecallable6 joined,
coverable6 joined,
linkable6 joined
06:08
reportable6 joined
06:58
shareable6 joined,
squashable6 joined
06:59
bisectable6 joined,
evalable6 joined
07:00
benchable6 joined,
committable6 joined
07:04
atroxaper joined
07:20
seednode left
07:21
seednode joined
07:27
Xliff left,
atroxaper left,
Xliff joined
07:58
quotable6 joined,
bloatable6 joined
07:59
releasable6 joined
08:00
casaca left
08:15
atroxaper joined
|
|||
atroxaper | What if I need version higher then 1.5 but not 2. I thought that 1.5+ is what I need, but... | 08:17 | |
m: v2.0.0 ~~ v1.5+ | |||
camelia | ( no output ) | ||
atroxaper | m: say v2.0.0 ~~ v1.5+ | 08:18 | |
camelia | True | ||
08:19
Sgeo left
08:21
casaca joined
08:35
seednode left,
seednode joined
|
|||
atroxaper | As I see in version.t, such logic was not provided at all. | 08:46 | |
08:58
notable6 joined
08:59
unicodable6 joined
09:00
sourceable6 joined
09:04
abraxxa joined
09:06
abraxxa left,
abraxxa joined
09:09
atroxaper left
09:11
abraxxa left,
abraxxa joined
09:50
abraxxa left
09:51
abraxxa joined
09:58
tellable6 joined
|
|||
lizmat | atroxaper: I think :api was more foreseen for these types of situations? | 10:01 | |
tellable6 | lizmat, I'll pass your message to atroxaper | ||
lizmat clickbaits rakudoweekly.blog/2021/12/20/2021-...ransiting/ | 10:07 | ||
Anton Antonov | @lizmat I find your update of `Acme::Text::UnsideDown` instructive. (The CLI part.) | 10:08 | |
lizmat | nice :-) | 10:09 | |
I was thinking of adding 🙃 , but am unsure of what the counterpart should be | |||
I guess 🙂 | 10:12 | ||
Anton Antonov | @lizmat Right! I was thinking about non-English / non-Latin characters too. | 10:15 | |
@lizmat BTW, I am intensively working on the "Raku for Data Wrangling" article. There are just lots of little things to clear-up. (E.g. program and completely understand...) | 10:17 | ||
lizmat | do you intend that as an Advent blog post ? | ||
Anton Antonov | Yes. I will put a draft in GitHub within 2 hours. | 10:19 | |
As far as I know I missed the deadline for FOSDEM22 | |||
moritz_ | wasn't that extended to 2021-12-31? | ||
lizmat | indeed, extended to 31-12! | 10:20 | |
Anton Antonov | <@171354420292878346>tz_ and @lizmat Great then! | 10:21 | |
CIAvash | m: say v2.0.0 ~~ v1.5 ..^ v2 | 10:28 | |
camelia | False | ||
moon-child | hmm, now I am thinking | 10:29 | |
there should be range junctions | |||
CIAvash | atroxaper: maybe `v2.0.0 ~~ v1.5 ..^ v2` | 10:30 | |
tellable6 | CIAvash, I'll pass your message to atroxaper | ||
moon-child | hmm, no, that wouldn't work | 10:31 | |
junctions need to be discrete for dispatch | 10:32 | ||
:/ | |||
lizmat | Anton Antonov: PRs accepted :-) | 10:34 | |
10:58
evalable6 left,
linkable6 left
11:00
evalable6 joined
|
|||
ugexe | v1.* | 11:08 | |
Yeah guess that isn’t quite it either | |||
I’d just treat it like two expressions | 11:11 | ||
11:33
atroxaper joined
|
|||
atroxaper | lizmat: yes. I've already figured that out. I prepare a post about versioning at all and in Raku in particular. | 11:35 | |
tellable6 | 2021-12-21T10:01:12Z #raku <lizmat> atroxaper: I think :api was more foreseen for these types of situations? | ||
2021-12-21T10:30:33Z #raku <CIAvash> atroxaper: maybe `v2.0.0 ~~ v1.5 ..^ v2` | |||
atroxaper | tellable6: I think I cannot write Module:ver<1.5 .. ^2> ^^ | 11:41 | |
tellable6 | atroxaper, I haven't seen I around, did you mean I`? | ||
atroxaper | CIAvash: I think I cannot write Module:ver<1.5 .. ^2> ^^ | ||
lizmat | atroxaper: indeed, one cannot atm, but I don't see why that syntax couldn't be supported in a use statement | 11:42 | |
I assume you'd still want the highest version number in that range, right ? | |||
atroxaper | lizmat: yes. | 11:43 | |
lizmat | that *should* be doable, I guess... :-) | ||
atroxaper | lizmat: In languages without API option in versioning the first digit is an api version, you know that. Usecase: I 'know' that some functionality is appears in version 1.5. But I want to be safe and do not use v2 automatically. | 11:46 | |
lizmat | understood | 11:47 | |
11:59
linkable6 joined
12:07
reportable6 left
12:10
reportable6 joined,
p6steve left
12:23
p6steve joined
12:24
ggoebel joined
|
|||
xinming | releasable6: status | 12:26 | |
releasable6 | xinming, Next release will happen when it's ready. 3 blockers. 0 out of 188 commits logged (⚠ 18 warnings) | ||
xinming, Details: gist.github.com/8cfbcaab16868cffa1...9a3e4f4cea | |||
xinming | Waiting for the xmas release. :-) | ||
lizmat | jdv is still on it afaik :-) | 12:27 | |
12:30
p6steve left
|
|||
Geth | ecosystem: abeff82834 | (Elizabeth Mattijsen)++ | META.list Slang::Roman now lives in the zef ecosystem raku.land/zef:raku-community-modul...ang::Roman |
12:32 | |
MasterDuke | i don't know why github.com/rakudo/rakudo/issues/4314 is marked as a blocker, and i think github.com/rakudo/rakudo/issues/4593 can be closed | 12:35 | |
12:36
ggoebel left
|
|||
lizmat | MasterDuke: unmarked and closed | 12:37 | |
12:51
TheAthlete joined
12:58
ggoebel joined
13:01
p6steve joined
13:06
p6steve left
13:11
jgaz joined
13:19
tejr_ joined
13:20
p6steve joined
13:22
tejr left
13:52
discord-raku-bot left
13:53
discord-raku-bot joined
14:12
eseyman left
|
|||
atroxaper | lizmat: one more thing about range in :ver<>. We will need something appropriate in META6->depends then. | 14:17 | |
14:23
p6steve left,
getimiskon joined
14:35
p6steve joined
14:39
p6steve left
14:40
p6steve joined
14:45
p6steve left
14:46
p6steve joined
14:51
p6steve left
14:52
p6steve joined
|
|||
[Coke] | raku-advent.blog/2021/12/21/day-21...ing-along/ - code formatting looks a little odd. | 14:56 | |
14:57
p6steve left
14:58
p6steve joined
15:02
p6steve left,
Manifest0 joined
15:04
p6steve joined
15:22
Sgeo joined,
eseyman joined
|
|||
ugexe | versions are already ranges | 15:26 | |
1.* is a range. 1.5+ is a range | 15:27 | ||
which is to say syntax like v1 ~~ vX .. vZ wouldnt really work | |||
we have api, perhaps we should just use that | 15:28 | ||
you have your api range, and your version range | 15:29 | ||
Foo:api<1>:ver<0.5+> | |||
version literals also complicate things | 15:32 | ||
m: say v1.1..^1 | |||
camelia | v1.1..^1 | ||
ugexe | so im not sure trying to cram semver semantics into our existing version semantics has been given sufficient forethought | 15:33 | |
to be clear im not against it, just pointing out the problems | 15:39 | ||
16:08
p6steve left
16:14
p6steve joined
16:24
daxim left,
daxim joined
|
|||
atroxaper | ugexe: I was just surprised that 2.0~~1.5+ is true. Not all authors observe cleanliness in versioning. I would like to be able to depend on such projects more flexibly. If I could write something like 2.0!~~1.5? is true, it would be great. | 17:03 | |
In any case, there is a need to tell people how, in what cases and why to use versions in the projects. I plan to write an article about it. | |||
Python and Java, for example, have closed project environment (venv and jar). Raku has a shared place for all libraries. And in our case, the attention to versioning (both on the part of the authors and on the part of the users) should be high. I think. | |||
ugexe | you just need to check api and version separately | ||
$dist.meta<api> ~~ 1.* && $dist.meta<ver> ~~ 0.5+ | 17:04 | ||
that relies on the author versioning their stuff in the idiomatic raku way, but that would be the case regardless of what versioning semantics were used | 17:05 | ||
atroxaper | ugexe: I completely agree with the last sentence. | 17:08 | |
17:10
ggoebel left,
ggoebel joined
|
|||
atroxaper | ugexe: I didn't find in the documentation some simple recipe for "do this, but don't do that." For example, it was a finding for me (although obvious) that writing a version in META6 depends section is not enough - you also need to write a version in use. In addition, I still cannot understand what usage can be found for specifying the version and authorship over a specific class in the code (class A: version<1> {... }) - because the use op | 17:14 | |
erates with the concept of compunit, but not package. | |||
ugexe | then again the synopsis said that 6.2.3+ should match 6.2.* | 17:15 | |
well you could set your in-code version/authorship with the data from the meta6.json | 17:16 | ||
atroxaper | verstion.t disagree :) | ||
ugexe | sure, the synopsis were written like 20 years ago and aren't the spec | 17:17 | |
atroxaper | yes. | ||
ugexe | class Foo:ver($?DISTRIBUTION.meta<ver>) { } | 17:19 | |
evalable6 | Use of Nil in string context |
||
atroxaper | ugexe: but for what I would need to set in-code (not in use statement) version/authorship at all? | ||
ugexe | i dunno, you tell me | 17:20 | |
atroxaper | WOW! Cool! I didn't know about $?DISTRIBUTION.meta<ver>. | ||
ugexe | yep, and you can `use Module::In::My::Dist:ver($?DISTRIBUTION.meta<ver>);` as well | ||
atroxaper | localhost:3000/language/typesystem#...I_version. I can set version for class. But... I don't know why. And nobody do not know. Until I started to deal with versioning through experiments, this possibility confused me. | 17:22 | |
ugexe | i dont think its really used by anything | 17:23 | |
atroxaper | bad link docs.raku.org/language/typesystem#...I_version. | ||
ugexe | i'd probably just mention that at all | 17:25 | |
not mention^ | |||
atroxaper | ugexe: yes! And it confused me. For example, I think "the smart guy FCO write this. For what?!' github.com/FCO/Red/blob/master/lib/Red.pm6#L25 | ||
'Should I write that too?...' | 17:26 | ||
17:33
casaca left
17:48
holyghost left
17:51
abraxxa left
17:54
atroxaper left
17:59
ggoebel left
18:08
reportable6 left,
reportable6 joined
18:21
casaca joined
18:23
casaca left
18:58
TheAthlete left
19:48
ggoebel joined
19:55
swaggboi left
|
|||
kybr | do we have argmin? or the like? | 20:08 | |
20:11
vrurg_ is now known as vrurg
|
|||
lizmat | kybrL what does argmin do? | 20:18 | |
kybr: what does argmin do? | |||
kybr | m: sub argmin(@list) { my $min-i = -1; my $min = Inf; for @list.kv -> \k, \v { if v < $min { $min = v; $min-i = k; } } $min-i, $min } | 20:27 | |
camelia | ===SORRY!=== Error while compiling <tmp> Strange text after block (missing semicolon or comma?) at <tmp>:1 ------> v < $min { $min = v; $min-i = k; } }⏏ $min-i, $min } |
||
kybr | darn. sorry. return the index of the element with the lowest value | ||
a common function in MATLAB-y environments. R, numpy, etc. | 20:28 | ||
lizmat | kybr: is that the first lowest value, or all lowest values? | ||
20:29
jgaz left
|
|||
kybr | hmmm. first will do, but i could see a argument for all. | 20:29 | |
gfldex | kybr: We hardly ever work with indexes, because they can be a little brittle. You can get the smallest element with `[min] @list`. | ||
kybr | i thought there might be a more rakuvian way to do it | ||
gfldex: thanks. yes. i love the [x] op. I found `[Z] $list` to do a sort of matrix transpose the other day | 20:30 | ||
20:32
jgaz joined
|
|||
[Coke] | m: sug argmin(@list) { @list.pairs.sort(*.value)[0].key}; argmin(<5 6 3 1 0 2 4>).say | 20:38 | |
camelia | ===SORRY!=== Error while compiling <tmp> Variable '@list' is not declared. Did you mean any of these: '&list', '&last', '&gist', 'List'? at <tmp>:1 ------> sug argmin(⏏@list) { @list.pairs.sort(*.value)[0].ke |
||
[Coke] | m: sub argmin(@list) { @list.pairs.sort(*.value)[0].key}; argmin(<5 6 3 1 0 2 4>).say | ||
camelia | 4 | ||
[Coke] | that gets all the key/value combos as pairs, sorts them by value, and then gets the position of the first sorted pair. | 20:39 | |
(assuming you do need index) | 20:40 | ||
SmokeMachine | .tell atroxaper maybe FCO is not that smart… :) but Red has :ver there because it’s updated by Mi6 and I could be wrong but I think that broke mi6 release when I removed that… | 21:06 | |
tellable6 | SmokeMachine, I'll pass your message to atroxaper | ||
21:13
melezhik joined
|
|||
melezhik | I gave been playing with Sparky JobAPI. It turns out that Sparky async jobs work really well with Raku embedded async features - github.com/melezhik/sparky#job-api | 21:14 | |
tellable6 | 2021-12-17T15:34:23Z #raku <tbrowder> melezhik thanks | ||
melezhik | some examples are here | ||
I am not sure if this is possible in any existing CICD system - for examplescontrolled recursive builds :] | 21:15 | ||
technically it give an extreme freedom to write CICD pipelines and workflows of any complexity ... and all Raku async none blocking fashion | 21:16 | ||
plus Sparky itself runs jobs (builds) asynchronously - in a sense - as parallel jobs - processes | 21:17 | ||
while high level scenario would wait till jobs are finished using supply/tap/Curlie HTTP | |||
21:32
ggoebel left
21:34
ggoebel joined
|
|||
Skarsnik | m: grammar A {...}; grammar B is A {token TOP {piko}}; grammar A {token foo {foo}} | 21:48 | |
21:48
Skarsnik joined
|
|||
Skarsnik | m: grammar A {...}; grammar B is A {token TOP {piko}}; grammar A {token foo {foo}} | 21:48 | |
camelia | ===SORRY!=== Error while compiling <tmp> 'B' cannot inherit from 'A' because 'A' isn't composed yet (maybe it is stubbed) at <tmp>:1 |
||
Skarsnik | I guess that only work for class? | 21:49 | |
ugexe | m: class A {...}; class B is A { }; class A { } | 21:51 | |
camelia | ===SORRY!=== Error while compiling <tmp> 'B' cannot inherit from 'A' because 'A' isn't composed yet (maybe it is stubbed) at <tmp>:1 |
||
Skarsnik | (A is generated for me, I would rather have it at the end of the file ^^) | ||
I am not sure I could put A in its own file since it inherit another grammar from the same file as B | 21:57 | ||
22:01
euandreh left
|
|||
[Coke] is boosted. | 22:12 | ||
lizmat hopes to get one on the 25th | 22:15 | ||
MasterDuke got boosted on thursday right into bed for most of the day friday | 22:22 | ||
Skarsnik | part 3 of my dumb thing x) blogs.perl.org/users/sylvain_coline...day-3.html | 22:25 | |
[Coke] | heh. it's only been an hour or so. I expect I'll feel like crap tomorrow (I'm off work until Jan) | ||
Skarsnik | nice ^^ | 22:27 | |
I wish I did not have to work until January. | 22:29 | ||
22:31
euandreh joined
22:35
jgaz left
|
|||
thowe | my booster pretty much killed the next day for me, too | 22:46 | |
[Coke] | I had a lot of vacation time that I had to squeeze in or lose it, and our company gives everyone the week between xmas & nye off! | 22:48 | |
thowe | nice | 22:51 | |
lizmat booster for x-mas is a bit of a mixed blessing, I guess. :) | |||
lizmat | yeah, and that would also be on my birthday :-) | 22:52 | |
fortunately, I celebrate my birthday always in summer :-) | |||
thowe | No kidding! I'll raise my Saturday morning coffee mug in your honor. | 22:53 | |
lizmat | thank you :-) | ||
tbrowder | and i, too! | ||
[Coke] | best of luck all around. | 22:54 | |
tbrowder | as a new year’s eve baby i empathize | ||
Skarsnik | I have another shot the 24, I hope that will not ruin the we x) | 22:55 | |
thowe | Merry Boosterx! May spike proteins bless us, everyone! | 22:56 | |
lizmat | meanwhile, search results on logs.liz.nl now have highlighting of the needle(s) in the messages :-) | 22:58 | |
e.g. logs.liz.nl/search.html?query=f.o&...annel=raku | 22:59 | ||
and with that /me calls it a day | |||
MasterDuke | nice. lizmat++ | 23:03 | |
thowe | I don't understand the difference between say and put and at this point I'm too afraid to ask. | 23:06 | |
lizmat | say is: print foo.gist ~ "\n" | 23:07 | |
put is: print foo.Str ~ "\n" | |||
thowe | oh, gist vs Str | ||
23:16
Skarsnik left
23:18
melezhik left
23:22
Colt left
23:23
Colt joined
23:29
Colt left,
Colt joined
23:56
[Coke] left
|