🦋 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:02 jrjsmrtn_ left 00:03 reportable6 joined 00:17 jrjsmrtn joined 00:23 askmeaboutloom joined 00:24 jrjsmrtn left 00:25 euandreh left 00:28 euandreh joined 00:40 jrjsmrtn joined 00:48 euandreh left 01:09 euandreh joined 01:18 jpn joined 01:24 jpn left
SmokeMachine I’m playing with a new project for writing configuration with Raku and make it easy to do the changes needed live inside the code. This is just my first commit, but I like how it’s going… fosstodon.org/@smokemachine/110687351925396075 02:19
02:24 linkable6 left, evalable6 left, evalable6 joined
Voldenet SmokeMachine: first of all and most importantly, why not use json, yaml or xml? 02:25
or toml
02:27 linkable6 joined, teatwo left 02:28 teatwo joined 02:33 askmeaboutloom left, askmeaboutloom joined 02:34 askmeaboutloom left, tea3po joined
Voldenet I get it that rakuconfig is actually raku code, and using attribute accessors uses FALLBACK – it's neat, but 02:35
since it's code, someone might be debugging the config at some point
which sounds like a pain to maintain in the long run 02:36
antononcube @Voldenet I was reaching similar conclusion(s) earlier today -- using JSON for "computational Markdown" plugin specifications (instead of Raku.)
Voldenet I once did write config system that used javascript, it was pure hell for admins :/ 02:37
02:37 teatwo left
antononcube Did the admins deserve it? 02:37
Voldenet No, nobody deserves using js in configs
it's medieval-level torture 02:38
antononcube Or you just did for the love of JavaScript?
Ah, ok. 🙂
Voldenet I honestly thought it would be a good idea, but after having to maintain configurations of configurations
I scrapped it all
antononcube It was JS-love, then. 02:39
Voldenet but imagine, if you have one variable, you can simply define that variable and use it
instead of copying it twice… :) 02:40
antononcube There is a UNIX rule to have "smart data" and "dumb algorithms". So, I am not sure can say that using Raku -- or JavaScript -- for configurations is against that rule, or adheres to it. 02:41
@Voldenet I think what you are saying is that using Raku in configuration files, would imply making unit tests for the configuration files themselves. 02:43
Voldenet indeed
antononcube @Voldenet Which, would mean the overall algorithm becomes too clever... 02:44
Voldenet the overall algorithm shifts the weight of maintaining code to people who can't maintain the code 02:45
antononcube Right!
03:04 rf left 03:15 guifa joined 03:22 guifa left 03:25 guifa joined 03:53 guifa left 03:57 guifa joined 04:28 guifa left 04:36 guifa joined 04:38 guifa left 05:38 benchable6 left, squashable6 left, reportable6 left, notable6 left, quotable6 left, bloatable6 left, coverable6 left, greppable6 left, committable6 left, tellable6 left, shareable6 left, releasable6 left, unicodable6 left, linkable6 left, sourceable6 left, bisectable6 left, evalable6 left, statisfiable6 left, nativecallable6 left, notable6 joined, nativecallable6 joined 05:39 committable6 joined, linkable6 joined, evalable6 joined, greppable6 joined, unicodable6 joined, bisectable6 joined 05:40 benchable6 joined, bloatable6 joined, statisfiable6 joined, tellable6 joined, quotable6 joined, reportable6 joined, coverable6 joined, releasable6 joined 05:41 sourceable6 joined, shareable6 joined, squashable6 joined 06:00 reportable6 left, reportable6 joined 06:03 nine left, m_athias left, nine joined, m_athias joined 06:06 willthechill left 06:08 abraxxa joined 06:18 euandreh left 06:21 euandreh joined
SmokeMachine Voldenet: I think that’s more flexible, it can be harder in some cases, but it’s more flexible. For example, I can’t see vim using json as config, or emacs, there are several window managers also using the same languages for its code and its configuration, as well “package managers “/“system managers” (nixos, guix). I started playing with this project because I’m planing writing a “home manager” to manage my 06:48
modules locally installed, my project repositories on my home, my dot files, etc… and I thought using Raku for its configuration would make it easier…
07:21 evalable6 left 07:24 evalable6 joined 07:30 discord-raku-bot left, discord-raku-bot joined 07:35 Sgeo left 07:48 sena_kun joined 08:00 jpn joined 08:04 jpn left 08:10 squashable6 left 08:13 squashable6 joined 08:35 jpn joined
nemokosch I don't think you can stop people from being stupid 09:33
and definitely not merely by offering them less choices 09:34
09:35 linkable6 left, evalable6 left
also, I think it should be just discouraging enough how bloated this "configuration format industry" is already 09:35
09:36 linkable6 joined
in the case of YAML, you might even hear people encouraging the use of predefined functions to be executed within the configuration itself so it's already happening 09:36
09:37 jpn left
El_Che lo 09:37
SmokeMachine: what's the scope? Something puppet like specific for raku projects?
09:38 evalable6 joined
SmokeMachine El_Che: more like nix… storing different generations on dirs and create links on home for the files… 09:40
El_Che no experience there 09:41
SmokeMachine El_Che: it could be said that it’s like a functional puppet… and you can do rollbacks… 09:42
El_Che so the scope is not raku projects but the developer's environment?
09:42 jpn joined
SmokeMachine This would be the Raku project I would use this configuration module for… (I would also use that on my tiled raku window manager if I write it someday…) 09:44
El_Che: ^^
09:45 abraxxa left
SmokeMachine El_Che: I may have misunderstood your question? The Configuration should be something generic that could be used on any Raku project. And My first project using it will, probably, be this home dir manager which the scope is my environment and I suppose it could be useful for other developers... 09:47
MitarashiDango[m I'm at the airport to head for the con, my flight is both delayed and overbooked 😭 09:51
10:06 razetime joined, ecocode left
nemokosch overbooking (or overselling, rather) is such a disgusting habit 💀 10:06
10:08 ecocode joined
xinming_ m: (1..3 Z, "a".."c").raku.say; 10:20
camelia ((1, "a"), (2, "b"), (3, "c")).Seq
xinming_ In this example, It generates pairs, Is there a way to make Z meta operator generate a list without pairs? 10:21
we can do postprocessing afterwards, But that's now I wanted. :-)
dutchie do you want that to give (1, "a", 2, "b", 3, "c") without the nesting? 10:23
xinming_ Yea 10:24
Hmm, I don't mean the pairs, Z=> generates list of pairs, Z, generates lists in lists
dutchie: I mean without further processing, with Z meta-operator directly BTW. 10:25
nemokosch I don't think that works. One could argue if it's a bug or not, let me look it up in my collection 10:26
xinming_ m: (1..3 Z, "a".."c").map(|*).raku.say; # <-- This removes the nesting, But want to know if it's possible to do it with Z directly. 10:27
camelia (1, "a", 2, "b", 3, "c").Seq
nemokosch "Slips - X and Z disregards them" apparently that's all I wrote down
irclogs.raku.org/raku/2022-10-11.html#10:15 10:31
it's still the same: if you copy the output and evaluate it, suddenly you get a flat array 10:32
xinming_ my @test = <A B C> X[&slip] <a b c>; dd @test.Slip 10:34
evalable6 slip($(slip("A", "a")), $(slip("A", "b")), $(slip("A", "c")), $(slip("B", "a")), $(slip("B", "b")), $(slip("B", "c")), $(slip("C", "a")), $(slip("C", "b")), $(slip("C", "c")))
xinming_ my @test = <A B C> X[&slip] <a b c>; @test.Slip 10:35
m: my @test = <A B C> X[&slip] <a b c>; @test
camelia WARNINGS for <tmp>:
Useless use of @test in sink context (line 1)
xinming_ m: my @test = <A B C> X[&slip] <a b c>; @test.raku.say;
camelia [slip("A", "a"), slip("A", "b"), slip("A", "c"), slip("B", "a"), slip("B", "b"), slip("B", "c"), slip("C", "a"), slip("C", "b"), slip("C", "c")]
xinming_ I now need to read the doc on X and Z again. :-(
nemokosch they work with any infix 10:36
and you can fake any subroutine as infix with this [&sub] syntax 10:37
m: sub adder { $^left + $^right }; dd(15 [&adder] 17) 10:38
Raku eval 32
nemokosch one might say that Z and X are just special-cased Z, and X, respectively 10:42
tbrowder__ .tell tonyo disregard, i think the window is only 2 hrs (but should be imho) 10:44
tellable6 tbrowder__, I'll pass your message to tonyo
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/07/10/2023-...mposition/ 11:07
11:08 linkable6 left, evalable6 left 11:10 evalable6 joined 11:11 linkable6 joined
El_Che lizmat++ 11:19
11:46 jpn left
leont I forgot to release so didn't make it into this weeks list of updated modules :-o 11:56
lizmat you'll be in next week's :-)
12:00 reportable6 left
nemokosch I still don't get this hate towards JS, to be frank, and especially not from Raku users 12:00
okay, it's not downright Ruby but other than Ruby I couldn't name a scripting language that has a more similar spirit to Raku than JS 12:01
lizmat it reminds us too much of the early Perl days without 'use strict'
SmokeMachine lizmat: but it even has `use strict`... 12:02
nemokosch perhaps the only thing I can't cast into this frame is that it has no operator overloading
12:03 reportable6 joined
but in general it's a language that lies on excessively ambitious abstractions, and lately it has been turning into a huge language to hide the guts of the language from you 12:04
this is very much like Raku, and very much unlike Python for that matter
leont I don't hate Javascript at all, but I do hate the NPM ecosystem 12:06
12:06 jpn joined
leont The hypes go too fast, the modules are too small, none of it makes sense 12:06
nemokosch ironically enough, JS is also a language that has more than one way to indicate the absence of a value
although I doubt it will ever catch up to Raku in that regard
leont: about NPM - the funny thing is that often even widely used modules suck hard 12:08
leont That's true on any ecosystem, really
nemokosch there is an infinite number of HTTP clients
I used axios for some time - well, exactly until I first checked the code
12:10 jpn left
a friend of mine wanted to port socketio, either to Dart or just Deno, I don't remember 12:10
I do remember the horror, though
and I guess to some extent this is indeed the fault of dependants as well, like with Raku 12:13
how outdated and unmaintained modules still get picked as dependencies
12:15 jgaz_ left 12:17 jgaz joined 12:18 guifa joined 12:21 guifa left 12:30 guifa joined 12:52 melezhik joined
melezhik 0/ 12:52
tellable6 2023-06-29T16:48:34Z #raku <tonyo> melezhik: i'll take a look
melezhik I am designing some DSL to build configurations, I wonder if Raku allows nested named parameters? Here is some example code - gist.github.com/melezhik/d8493a9d5...b8982a0166
so, I Iove Raku's named parameters mechanism, but I wonder if it could be applied for nested arguments (like hash of hashes, etc) 12:53
12:53 jpn joined
melezhik the reason I don't want to use just Hashes is I want to have a control on every level , so that passing argument ends up in invoking method of specific class an any level 12:55
maybe there more elegant and more idiomatic solution for that ...
leont You can destructure hash arguments 12:56
melezhik if you drop some examples please? 12:57
leont m: sub foo(:%foo (:$bar, :$baz)) { dd $baz }; foo(foo => { :bar, :42baz })
camelia 42
melezhik even better how this would like from client code )))
like -> look like 12:58
oh, I see
leont m: sub foo(:%foo (:$bar, :$baz)) { dd $baz }; foo(:foo{ :bar, :42baz }) 12:59
camelia 42
melezhik m: sub foo(:%foo (:$bar, :$baz)) { dd $baz }; foo :foo( { :bar, :42baz }))
camelia ===SORRY!=== Error while compiling <tmp>
Unexpected closing bracket
at <tmp>:1
------> { dd $baz }; foo :foo( { :bar, :42baz })⏏)
12:59 razetime left
melezhik m: sub foo(:%foo (:$bar, :$baz)) { dd $baz }; foo(:foo( { :bar, :42baz })) 12:59
camelia 42
melezhik look good
13:00 jpn left, razetime joined
leont In particular you can do interesting things with multi-methods with this 13:00
melezhik you mean overloading ?
leont Yeah
melezhik yeah, more or less what I want - thanks!
I wish they allowed me to use Raku for that, but that's another story ))) 13:01
13:02 guifa left
leont You can select both on presence of arguments, and on their types. 13:02
13:05 heartburn left 13:06 heartburn joined 13:13 melezhik left
antononcube I like “configuration format industry”! 🙂 13:14
Good luck! Safe travels! 13:16
I am not sure is this a political statement or not… 🙂 13:17
13:17 buffet left 13:20 jpn joined
The R package ecosystem is changed by RStudio a lot with exactly the same goal and means. (That annoys a lot of old school R programmers, because their knowledge of the very arcane “old R” becomes obsolete, or at least not respected.) 13:25
nemokosch what's the big deal with R anyway? 13:28
antononcube LOL. None!!! It is just free and it is not Mathematica… 🙂 13:30
But, although it is LISP based/inspired, R does not suffer the LISP curse (because it is too arcane.) Hence, there are plenty of online questions/examples/help for R-users, which, in turn, made it popular. 13:34
nemokosch you mean it's too inconvenient to use on your own to have isolated hackers as the "community"? 😆 13:36
antononcube More seriously four things about R are hard to beat: 1) package system, 2) great IDE support, 3) good integration with LaTeX and Markdown, 4) easy and “quick” making of interactive interfaces. 13:37
13:39 guifa joined
SmokeMachine melezhik: I’m also playing with configurations: github.com/FCO/Configuration 13:39
tellable6 SmokeMachine, I'll pass your message to melezhik
antononcube Yeah, something like that. R is a fairly inconsistent language, but its main, arcane workflows are clear or obvious to a subset of people. After using R for awhile, one can see the convenience or merit of those workflows. Pretty much like English, actually. 13:42
It can be said that most R functionalities work most of the time — because R was made “from statisticians for statisticians.” 13:43
13:44 guifa left
nemokosch 😂 13:44
antononcube R has all features of a “design by a committee.” Still, I would rather program in R than in Python… 13:45
@nemokosch I might make another LLM generated document — this time explaining why R sucks. 13:47
That kind of text generation might be censured though. 13:48
13:48 guifa joined
For example, OpenAI moderated/prevented image- and text generations for “Python programmers are like babies.“ 13:49
BTW, yesterday I made a “12 steps to quit Python (and replace it with Raku).” See: github.com/antononcube/RakuForPred...ia-PaLM.md 13:50
13:50 rf joined
Hm… this latest committed version does speak about Raku… I recover the one that did. 🙂 13:55
lizmat m: dd (:foo{a => 42 }) 13:57
camelia :foo({:a(42)})
14:09 guifa left, willthechill joined
nemokosch the other thing is, you know, this "Unix philosophy" 14:11
not even the composability; composability is nice indeed
but this "everything should do one thing and do that one thing well"... I don't know if it's just a deceptive motto or a viral mistake 14:12
tbh I hope this is not too controversial here of all places
the whole Perl philosophy is the exact opposite 14:13
[Coke] Seems a controversial take to me. 14:24
jast well I don't think the unix philosophy necessarily applies to everything 14:25
if you apply it to the right things it makes a lot of sense 14:26
for instance, /bin/cat not having syntax highlighting and pagination is a good thing IMO :) 14:27
14:27 teatwo joined
nemokosch cat is actually a great example of how the whole "one thing well" is just an excuse to give horrible names to useful utility programs 😛 14:28
it's "for concatenation" but most of the time you don't care about that, just about pushing a file to stdout 14:29
and the other way around: there is "kill", "sort", "su", "yes" which can do vastly different things from what the name implies/describes 14:30
jast naming is a different topic :-)
14:30 tea3po left
nemokosch but you do notice that "kill" or "su" aren't just bad names 14:30
jast switch user? seems okay :>
nemokosch they are overly specific names for generic operations with certain defaults
jast and yes, I know that's not the original meaning 14:31
nemokosch this "do one thing well" can make sense for a completely closed domain I guess 14:34
so, pretty much the opposite of Unix itself
jast well, the idea of having a separate tool for each thing makes sense, right? even though the naming isn't so great 14:35
14:35 buffet joined
jast and obviously for a general purpose programming language you'd usually want to do more than "one thing", so the unix philosophy doesn't apply there in the first place 14:35
nemokosch well, I think if these things are connected that it doesn't make a lot of sense
just take the not-so-uncommon situation in a Unix environment that you need to take a file with textual content and produce another file with textual content. If there is a built-in for what you want, you are going to use that, right? 14:37
If you can describe it in less than 20 keystrokes in sed, you are going to use sed
if you can describe it in less than 20 lines in awk, you are going to use awk
jast sure 14:38
leont Perl and Raku are about combining whipuptitude and manipulexity, so yes and no
nemokosch you notice that you need to add some configurability or custom logic so you use up your shell scripts to build your awk script into it
jast and well, text processing gets arbitrarily complex so realistically you couldn't do all of it with a purist unixy philosophy-y thing 14:39
nemokosch then you might even notice that all of this sucks and wrap it all up in a standalone Python script, at that point it doesn't even matter a lot if you do or not...
jast which is definitely superior over having a frankentool that has 1000 different command line switches for doing 1000 different text transformations 14:40
nemokosch the point is, you will be converging towards a general-purpose language while touching several completely unrelated technologies that don't help you understand one the other
they compose via the piping mechanism that Unix provides but the knowledge itself doesn't scale or compose thanks to the "do one thing well" principle 14:41
[Coke] will probably return. 14:42
14:42 [Coke] left
nemokosch you might notice that you could have just used Perl all along and you'd be much better off 14:42
14:43 Sgeo joined
antononcube I have not heard / seen that before. 🙂 14:44
jast both sed and awk existed LONG before perl
had perl existed at the time probably nobody would have bothered making them
but at the time they filled a meaningful gap, and today they're still not useless 14:45
nemokosch that's right but this doesn't explain the existence of people who "still use sed/awk and haven't used Perl since ages" 14:46
but I would say that's kind of besides the point, the case is more just an illustration of the illusoric nature of "do one thing well"
jast well, I kind of get it because Perl has rather more warts than awk/sed and not everyone wants to learn a full language to do the more basic things
I think all of these (awk, sed, Perl) fall outside of that 14:47
awk and sed are compromises already
nemokosch that's part of the point - it's questionable whether that "one thing" and the "one tool for it" ever existed... 14:48
14:48 teatwo left
leont awk started as a sed replacement the same way perl started as an awk replacement; replacements tend to be partial 14:48
14:48 teatwo joined
jast obviously "one thing" doesn't work for every task out there 14:49
still it makes sense to keep things orthogonal where possible
in the end it's called a philosophy and not "The Law" :)
nemokosch but it could be just as much called a myth 😛 14:50
jast by that logic, most rules of thumbs are myths
nemokosch I don't think that follows
this is simply something that doesn't even really have a good example case within the system that the philosophy refers in its name 14:51
jast I just think your interpretation of the unix philosophy is a little too stringent for it to make any sense
I don't interpret it quite as strictly and so it works for me
nemokosch well, that's where the example should have helped I think 14:52
I said what I mean about the commands and tools
jast I do think most of the core utils do this fairly consistently (if we disregard the various GNU extensions), though quite a few of the names could have been better 14:55
nemokosch orthogonality is great but it doesn't contradict having a unified vision - the common Unix tools that survived often (regularly) don't even have the same convention with the arguments 14:56
and I'd say this is a very obvious risk of the "I'm just going to do my job well and don't care about the rest" mentality
jast which seems to be a flaw in standardization rather than philosophy 14:57
14:57 jpn left
jast and, well, that's what happens in decentralized and uncoordinated development. tough luck. 14:58
14:58 jpn joined
jast in fact it happens even in centralized but uncoordinated development, see Microsoft's APIs and tools for inspiration 14:58
antononcube By ChatGPT : "Perl and Raku are like the lovechild of a cooking show and a Rubik's Cube, all tangled up in a language full of whip-up skills and mind-bending complexity." 15:00
jast that sounds like ChatGPT all right
or random twitter user #432789643297432897, hard to distinguish
nemokosch I'd rather say that by coordinated effort you can account for problems a mental framework might foster. You know, this is an engineering discipline, the impossible doesn't exist 😛 15:01
jast of course anything is *possible*... but even when people actually try it still often goes wrong 15:02
if only because they can't agree on the correct indentation :)
nemokosch well, that's at least somebody that people can equally understand ^^ 15:03
jast nothing ruins collaboration better than bikeshedding
antononcube And cluster bombs. 15:04
nemokosch I wonder if the IT produces people who are naturally talented at bikeshedding or it's just more visible (to me?) than in other fields 15:05
jast antononcube: I don't have personal experience with that kind of collaboration, I'll take your word for it
nah, bikeshedding happens everywhere. the origin of the term is nice evidence for that :)
nemokosch What I do think is that there is a great share of overthinkers in the IT world 15:07
jast for sure
but the same is true outside of the IT world
antononcube @jast You can also read the news. 🙂
nemokosch I meant disproportionally much
jast ever look at business administration? :) 15:08
which often seems to devolve into a bizarre mix of overthinking and underthinking
antononcube Damn, my wife is a "business administrator". Now she studies to be a "network engineer." 15:09
nemokosch is that the only other option? 😛 you don't need to win the grand prix immediately to be a decent competitor
jast no, it's one example
nemokosch actually it's often really just fun to read completely oppositional theories of how something works in the industry, or how it should work
by people who often have no financial motives in these theories whatsoever 15:10
it just reflects different ways of thinking, "out loud"
antononcube ... using inferior languages and paradigms as background. 15:11
jast to be fair, modelling complex real world things is prohibitively difficult 15:12
antononcube @jast That is my bet against the AI hype.
jast eh 15:13
antononcube So, you might see soon Raku modules for doing logistics.
nemokosch the "lisp curse" itself is an interesting concept, or how the Tcl/Sqlite squad is proud to their "cathedral style development" which was originally meant to be a negative term
jast the main problem with AI at this point is that we don't know how to adaptively scale models
LLMs are cool but haven't changed anything about this
antononcube @jast Right -- you are saying that the main problem with AI is that it is no AI. 15:14
jast it's AI but not "strong AI" (or generalized AI)
and no matter how much people are getting excited about ChatGPT and such, nobody knows how to make that 15:15
(though people read all kinds of things into what ChatGPT does)
antononcube @jast LLMs have changed many perceptions of the people who (do/would) employ me.
jast makes sense
I majored in AI at university but it's not a field I really want to work in tbh 15:16
15:16 razetime left
jast currently my main thing is the fun playground on which scalability, concurrency and data integrity meet 15:17
15:17 razetime joined
antononcube I (mega-)majored in Mathematical Modeling and unfortunately I am "forced" to do Machine Learning and Data Science. 15:17
jast ScIeNcE :-) 15:18
I learned a lot more useful things from the foundation courses about modeling and statistics and the quick intro to machine learning which did a good job at covering the limitations 15:19
antononcube From that perspective, COVID-19 was very good for my carrier in scientific computing. 15:20
Everybody understood the limitations of AI / ML / DS when it comes to these kind of problems. 15:21
jast fortunately now we have ChatGPT which has zero limitations :-) 15:23
antononcube @jast Interesting conjecture. I would say, that might be true only for "verbalizable world" (if at all.) 15:24
jast did I forget the sarcasm tag? dear me 15:25
nemokosch well it's a breakthrough for generating content "out of thin air"
and if it was kind enough to lie less often, it could be a really good "search engine" 15:26
antononcube @jast I thought you might mean "with sarcasm", but decided to manifest Poe's law anyway.
@nemokosch Well, my attitude is: LLMs hallucinations are interesting, sometimes useful. 15:28
jast exactly 15:30
nemokosch khalidelborai.github.io/posts/raku-nativecall a gift from the gods 15:32
antononcube @jast BTW, I am writing an article titled "Harnessing LLM hallucinations into precise specifications." (Too wordy title, I might change it.) My big obstacle is making the decision should I write it using Raku or Mathematica (or both.) 15:39
It is a very small gift. So far, at least... 15:41
nemokosch beggars can't be choosers
jast Rakumathica :-) 15:42
antononcube @jast 🙂 Sure. Or "Rakuntica". 15:43
15:44 jpn left
This reminds me -- I have to upload / publish the Mathematica notebook with Raku generated grammar graphs. 15:45
16:37 jpn joined 16:44 jpn left 16:46 jpn joined, razetime left
xinming_ m: class A { method t () { $.end.raku.say; }; }; A.new.t; 17:10
camelia 0
xinming_ Where is the $.end attribute defined please?
Got it, It's a rountine. 17:11
lizmat xinming_: by default, a class is Any, and .end is defined on Any 17:12
and since scalars can be considered 1-element lists, the highest index is 0
17:18 willthechill left 17:25 jpn left 17:26 squashable6 left, squashable6 joined 17:36 jpn joined 17:40 jpn left 18:00 reportable6 left
tbrowder__ i'm interested in the SOD bindings. is SOD as usav 18:01
usable as graphicksmagic for photo manipulation? 18:02
18:03 reportable6 joined
tbrowder__ i tried to contact the author but the link in the weekly article didn't work 18:05
ah, the link in bottom-left corner seems to work 18:08
18:28 abraxxa-home joined 18:33 abraxxa-home left 18:34 jpn joined 18:35 abraxxa-home joined 18:39 jpn left 19:13 jpn joined 19:17 jpn left 19:27 sena_kun left 19:29 sena_kun joined 19:31 deoac left, deoac joined
antononcube @EBNF-graphs with Raku Mathematica notebook : community.wolfram.com/groups/-/m/t/2955399 19:39
19:52 jpn joined 20:05 jpn left 20:19 abraxxa-home left 20:56 sena_kun left
Voldenet SmokeMachine: Well, it's possible to generate code from json, so it's possible to write a rakuconfig that'd load its properties from json – just make sure it's possible to use arrays for things like endpoints 20:59
21:18 merp joined 21:23 squashable6 left 21:26 squashable6 joined
SmokeMachine I just tried using cro with my Configuration module... it seems it's working well: usercontent.irccloud-cdn.com/file/.../image.png 21:41
Voldenet: yes, it's possible, but that needs complex json, in that case it would be easier to just write code, no? 21:44
Voldenet well, there's deserializers already, so routing config through the Configuration module would be silly 21:53
for people who actually know raku rakuconfig is more elegant anyway 21:55
but use cases are limited to those people, which makes it usable only in dev contexts
SmokeMachine Voldenet: I'm thinking on cases for exactly where the users are developers (or hard users) 22:00
22:02 jpn joined 22:07 jpn left 22:24 guifa joined 22:31 vrurg_ left 22:32 vrurg joined 23:00 squashable6 left 23:01 euandreh left, Xliff joined
Xliff How can I tell if a method is a proto method? 23:01
23:01 euandreh joined 23:02 squashable6 joined
Xliff Wasn't there a method that handled this? 23:03
guifa um, not sure. but on a multi, it seems that the value of multi is falsey on the proto and true on the candidates 23:21
meh but that wouldn't necessary work because a single method would look identical 23:23
Xliff So I am thinking it is .is_dispatch. 23:29
So how can I add candidates to a proto?
guifa I don't think you can after compilation. At least not as of a month or few ago 23:30
guifa tried to do a global addition to multi sub &infix:<...>
23:33 japhb joined
Xliff That's odd. You can use add_method, but not add candidates to a proto you just added? 23:41
23:41 guifa left, guifa joined