🦋 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. |
|||
01:43
MasterDuke joined
01:51
hulk joined
01:52
kylese left
02:15
hulk left,
kylese joined
03:41
jpn joined
03:45
jpn left
04:51
beanbrain joined
05:30
Sgeo left
05:36
jpn joined
05:40
jpn left
06:06
cm left
06:07
cm joined
06:23
cm left
07:04
sena_kun joined
07:36
wayland76 joined
07:58
jpn joined
08:01
oodani left
08:02
oodani joined
08:18
sena_kun left
08:20
sena_kun joined
08:21
cm joined
|
|||
librasteve | o/ | 09:29 | |
saw some comments on community modules ... personally I think that "domain specific" modules such as Statistics::LinearRegression should not be adopted as community modules and rather, if the original author is unresponsive, then if the licence permits anyone is free to fork, change auth and bump the version in the expectation that they would follow the usual practices of semantic versioning and deprecation and | 09:32 | ||
so on eg. if they want to change the API | |||
that keeps the community's efforts, as far as community modules goes, focused on providing a path forward for general and common modules such as Text::Wrap which have been abandoned ... and here we all should feel empowered to submit and (with permission and due process) merge PRs to keep these modules from breaking | 09:36 | ||
09:52
thowe left
09:53
thowe joined
09:59
jpn left
10:08
jpn joined
10:46
avuserow_ left
10:47
avuserow_ joined
|
|||
antononcube | I agree that “Statistics::LinearRegression” is somewhat specialized. But it is: 1) simple, 2) fundamental for doing statistics, and 3) its code — or very similar — can be reliably generated with LLMs. | 11:41 | |
“Fundamental for doing statistics” means that if one, say, does benchmarking of routine performance having linear regression can be really handy. | 11:43 | ||
Now, I do not mind forking and making that package better. (With higher API version.) As I mentioned, I would rather have “Math::Fitting” which includes the functionalities of “Statistics::LinearRegression” package. | 11:45 | ||
[Coke] | tbrowder: I don't see how having him publish a version that you are immediately going to obsolete helps. | 11:51 | |
My take on community owned is similar. I don't think community means "every abandoned module that one person wants to use." | 11:52 | ||
I also didn't think taking over graphql was the plan, I thought you were talking about one of the Text::Wraps. | 11:53 | ||
12:00
thaewrapt left
12:23
jpn left
|
|||
antononcube | @Coke and @librasteve I was not aware of the community modules re-adopting rules or principles. I do agree that not every abandoned module should be made a community one. | 12:29 | |
[Coke] | I am not sure there is a documented plan. I think tbrowder would now better | 12:32 | |
antononcube | In case this statement "every abandoned module that one person wants to use." is related to my ask about "Statistics::LinearRegression" to be a community module. If I am the only one who wants to use that module in the Raku community that is really telling about the community and the ecosystem. (Honestly, no judgment here beyond that "tell.") | 12:37 | |
12:38
xinming left
|
|||
I also would like to mention that many people in Data Science would not look at Raku twice if Raku does not have at least good linear model fitting routines. (Meaning, it does not matter how much Steve and I claim or prove that Raku is good for exploratory data analysis. | 12:38 | ||
12:40
xinming joined
|
|||
[Coke] | I think we want to support both "common" modules and "strategic" ones, but whether that support is directly under the RCM umbrella or not could be discussed - but I'd hope strategic distros already had an evangelist/contributor, yes. | 12:57 | |
holmdunc | The Emacs Orphanage github org has a more fitting name for that kind of repo transfer. github.com/emacsorphanage | 13:11 | |
tbrowder | hm, maybe antononcube could start another repo for ppl interested in his specialty and could give appropriate creds to other interested raku ppl. | 13:14 | |
i see that kind of grp all over github | |||
antononcube | @Coke "Strategic" is a good characterization. I was thinking that a recent addition, "Algorithm::Diff" is kind of "fundamental" in the minds of many. "Strategic" fits better that module. | ||
@tbrowder Already done. 🙂 (With MVP-0.) : github.com/antononcube/Raku-Math-Fitting | 13:15 | ||
13:16
thaewrapt joined
|
|||
tbrowder | no, i mean top level: github.com/raku-math-fitting | 13:17 | |
13:17
jpn joined
|
|||
tbrowder | ^^^ | 13:17 | |
github/Raku-Math-Fitting | 13:18 | ||
librasteve | tbh I don't think that community modules get a lot of love except when something is broken --- imo better to have "core skilled" devs working on core ;-) | ||
antononcube | I.e. no community love for orphans... (Sigh...) | 13:24 | |
tbrowder | well, at least the comm modules are there to be adopted, or at least someone can get a PR looked at. | 13:25 | |
[Coke] | Right, we don't want core devs doing work on modules, but I think we have a bunch of core-adjacent folks who could. (myself included). I don't have them on my priority list, though. Be nice if we had someone to keep an eye on community modules and ping folks here when dev cycles are needed to fix something | 13:27 | |
I volunteer tbrowder. :) | |||
antononcube | @Coke I support your right to volunteer others. | 13:31 | |
tbrowder | well, i hope my upcoming linter can help. i plan to use it on comm modules and at least submit issues for a start. | 13:32 | |
13:47
MasterDuke left
14:04
Sgeo joined
|
|||
[Coke] | in github, I have github.com/issues - How can I say "show me all tickets in repositories owned by Raku or raku-community-modules ? | 14:11 | |
org! | 14:12 | ||
here we go: github.com/issues?q=is%3Aopen+is%3...ty-modules | 14:13 | ||
We should have a common set of labels for tickets to make it easier for devs to prioritize | 14:14 | ||
(and colors for those labels) | 14:15 | ||
librasteve | nice! this is a great set of introductory issues | 14:32 | |
14:35
sena_kun left
14:40
sena_kun joined
|
|||
Geth | ¦ problem-solving: coke self-assigned The raku-community-modules organization and its problems. github.com/Raku/problem-solving/issues/210 | 14:51 | |
15:00
sena_kun left,
sena_kun joined
|
|||
antononcube | @Coke Great! (About community modules issues list.) | 15:08 | |
(My favority communitu module issue is on top. For now.) | |||
ingy | I have a problem with a language I'm writing (ys) where I can run a program with either `ys foo` or `./foo` if foo is +x and has a shebang line... | 15:10 | |
I have a problem where foo wants to print help when it gets `-h`, but ys is getting the -h and printing its help instead. | 15:12 | ||
`./foo -- -h` works but wondering WWRD? | |||
15:15
thaewrapt left
15:17
thaewrapt joined
|
|||
ingy | interesting the behavior of `raku foo -h` and `raku -h foo` | 15:19 | |
#!/usr/bin/env raku | |||
say @*ARGS; | |||
evalable6 | [] | ||
librasteve | ingy: are you using raku sub MAIN()? maybe you can share a gist with a code example? | 15:48 | |
tonyo | raku is picky about the arg placement ingy | ||
librasteve | oh, yes I forgot you need the -h before the foo I guess like ys -h foo | 15:49 | |
ugexe | probably needs `my %*SUB-MAIN-OPTS ; :named-anywhere` | 15:52 | |
my %*SUB-MAIN-OPTS = :named-anywhere; | |||
librasteve | .oO | ||
ugexe | docs.raku.org/syntax/%25%2ASUB-MAIN-OPTS | ||
ingy | I'm not implementing in raku. raku is just a language made my people I can what with :) | 16:03 | |
ugexe | ah | 16:06 | |
_grenzo | So, I guess ys is being passed a list of arguments starting with "foo" and followed by "-h"? | 16:07 | |
ugexe | raku actually used to have a similar problem for all installed scripts :) | ||
github.com/rakudo/rakudo/commit/73...9628617885 | |||
i don't think that fix is what you'd want to do tho :P | 16:08 | ||
holmdunc | so foo is a filesystem path, and the program ys basically needs to decide that it doesn't accept flags after its positional argument? | 16:13 | |
16:26
sena_kun left
16:27
sena_kun joined
16:32
jpn left
16:36
jpn joined
17:04
melezhik joined
|
|||
melezhik | o/ | 17:04 | |
17:05
soverysour joined
17:09
melezhik left
17:15
soverysour left,
soverysour joined,
soverysour left,
soverysour joined
|
|||
ingy | ugexe: I think I need to special case when the first arg looks like a file path, and then pass the following args unparsed to it | 18:09 | |
18:10
soverysour left
|
|||
ingy | holmdunc: pretty much what you said | 18:10 | |
I currently use an options parser right away | |||
but (imho) raku should gripe on `raku -h foo` | 18:11 | ||
checking something | 18:12 | ||
18:15
Altai-man joined
18:18
sena_kun left
18:35
jpn left
|
|||
_grenzo | @ingy: is it possible you'd do something like ys -I ../lib foo.ys -h | 18:50 | |
? | 18:51 | ||
19:42
beanbrain left
|
|||
ingy | _grenzo: yeah good point… | 19:50 | |
I just added check if the first arg does not start with `-` but that's not perfect | 19:51 | ||
looking at my current opts | 19:52 | ||
gist.github.com/ingydotnet/92574ed...44f271f367 | 19:54 | ||
I don't have -I *yet* (just YSPATH env var) | 19:56 | ||
maybe at the point I either require `ys -I ../lib foo.ys -- -h` or `ys -I ../lib --run foo.ys -h` | 19:57 | ||
the former would work now | |||
and I just realized that `-` is a valid file name for stdin... | 19:59 | ||
so far the arg parsing library is great (except for today's bug) so I'd like to hold onto it | 20:00 | ||
_grenzo | @ingy is ys taking yaml and generating code from it (perl, raku, python, rust...)? | 20:01 | |
20:01
beanbrain joined,
beanbrain left,
beanbrain joined
|
|||
ingy | no, it's only generating clojure code and then evaluating it (but no jvm, all binary) | 20:02 | |
_grenzo | oh, wait, no I see | ||
ingy | the language bindings (raku etc) pass ys to libys and get back json of compile/evaluation and decode to native | 20:03 | |
_grenzo | It loads and parses yaml with bindings to those languages? | ||
you're seconds ahead of me 🙂 | 20:04 | ||
ingy | it's likely the best raku yaml loader | ||
but has no dumper | |||
but you can also add logic to yaml files, including pulling in other files etc | 20:05 | ||
if the yaml/ys file starts with !yamlscript/v0 | |||
if not, then just loaded like any other yaml | 20:06 | ||
_grenzo | hmm manipulating docker-compose files and openAPI definitions | ||
does it work both ways? | |||
ingy | ? | ||
_grenzo | loading and outputting | ||
ingy | I don't follow | 20:07 | |
the results of a load are same scope as json | |||
_grenzo | You can take yaml and turn it into json and transform that into perl/raku datastructures. Is it as easy to take json and turn it into yaml? | 20:08 | |
ingy | $ echo '["foo", 42]' | ys -Y - | 20:09 | |
- foo | |||
- 42 | |||
20:09
beanbrain left
|
|||
ingy | pandon my paste | 20:09 | |
_grenzo | no problem. I should just probably read the whole readme file | 20:10 | |
ingy | I mean that's because all json is valid yaml | ||
the ys CLI used as a loader, outputs json or yaml (or edn) but using it from raku is only gonna turn json, yaml or ys files into whatever the raku json module would return | 20:12 | ||
TPRC talks on YS (including for raku) in 12 days... | 20:13 | ||
20:38
sena_kun joined
20:40
Altai-man left
|
|||
antononcube | I am not sure is the "Math::Matrix" package abandoned or not. But its functionalities are fundamental in so many ways. I consider forking it just to make sure it can be built on different architectures, passes correctness tests, and has some "low hanging fruit" features implemented. (E.g. QR decomposition, system of linear equations solving, inversion, etc.) | 20:45 | |
I do not want my brand new "Math::Fitting" to depend on such an old package!! | 20:46 | ||
ingy | Maybe dep on it until you get burned and not helped by the author? | 20:49 | |
antononcube | Hmm... "Chemistry::Stoichiometry" depends on "Math::Matrix" -- I think I had only minor propblems with easy work-around. | 20:50 | |
ingy | I've been spending time in the clojure community for past year, and old libraries are not worried about. They seem to take library API back compat as seriously as they (or perl) takes language back compat. | 20:51 | |
It feels weird for me to trust that mindset though. | 20:52 | ||
antononcube | That reminds me -- "Chemistry::Elements" is definitely abandoned, and "Chemistry::Stoichiometry" completely replaces it functionality-wise. Many / all of the GitHub issues of the former are implemented in the latter. | 20:53 | |
ingy | I forget, does raku permit/encourage use of same named modules by different authors? | 20:54 | |
antononcube | Yes -- I think different author is fine, forking and re-authoring is fine, making a new API version is fine. | 20:55 | |
ingy | nice | 20:56 | |
antononcube | For me, to trust many of the math-packages in Raku would be much easier after I streamline the verification of their tests with Mathematica. (Something, I have started, but I have to finish.) | ||
I strongly suspect defining Gherkin tests and using LLMs might provide great transparency and speed-up of that kind of work. | 20:58 | ||
As for Clojure -- because of Mathematica I have been asked to look into Clojure. | 20:59 | ||
More precisely, because of questions and discussions at Mathematica forums and conferences. | 21:00 | ||
But I know 'too many" LISP descendents, so, I decided to skip Clojure. | 21:01 | ||
21:02
wayland joined,
wayland76 left
21:05
BooK joined
21:09
sftp left,
sftp joined
22:28
beanbrain joined
22:35
sena_kun left
23:40
teatwo left,
teatwo joined
23:59
beanbrain left
|