🦋 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:10 kjp left 00:43 frost joined 00:52 tejr left 01:40 guifa joined 02:40 nativecallable6 left, linkable6 left, benchable6 left, releasable6 left, committable6 left, unicodable6 left, quotable6 left, coverable6 left, reportable6 left, shareable6 left, bisectable6 left, evalable6 left, notable6 left, statisfiable6 left, greppable6 left, tellable6 left, bloatable6 left, sourceable6 left, reportable6 joined, bloatable6 joined 02:41 sourceable6 joined, notable6 joined, bisectable6 joined, statisfiable6 joined, shareable6 joined, releasable6 joined, coverable6 joined, unicodable6 joined, tellable6 joined, nativecallable6 joined, evalable6 joined 02:42 quotable6 joined, greppable6 joined, linkable6 joined, benchable6 joined 02:43 committable6 joined
guifa Nemokosch they aren't exactly the same, but in many cases they're similar enough. 02:44
02:46 guifa left 03:15 Guest35_ left 03:42 elves-upstate left 03:52 Sankalp left 03:53 Sankalp joined, Sankalp left, Sankalp joined 04:27 Sankalp left 05:16 euandreh left 05:18 euandreh joined 05:22 Sankalp joined, Sankalp left, Sankalp joined 05:40 Sauvin left, Sauvin joined 05:46 Sauvin left 05:49 Sauvin joined 06:06 reportable6 left 06:08 reportable6 joined 06:10 Sankalp left 06:11 Sankalp left 06:14 archenoth is now known as arch 06:20 frost left 06:42 Sgeo left 07:36 ocomporto left, jjido joined 07:45 jjido left
Nemokosch I think there are too many gotcha's to >>. to use it instead of map 07:52
nine Unless of course you actually want >>.'s behaviour. 07:55
08:08 dakkar joined 08:13 frost joined
Nemokosch ... which I don't think of as just a map 😉 08:27
say you have a 2d matrix of strings and you want to get the length of all of them 08:28
Voldenet I use .hyper.map instead of >>, I find the behaviour more sane 08:29
Nemokosch @matrix>>.chars is pretty much the right way to do that
Voldenet .deepmap(*.chars) would also work 08:31
the syntax is more obvious and it's likely to be actually faster 08:32
if not, you can throw in .hyper
+ hyper lets you specify parameters for parallelism 08:33
Nemokosch well _that_ is wordy for one 08:36
08:37 p6steve left
Voldenet operators are cool, but using "dumb methods" produces things that are easier to maintain in the long run 08:40
^ that's more of an opinion than a fact though 08:42
Nemokosch not everything needs to be "maintained"* "in the long run"** 08:50
* if it's exactly one step for you to turn a matrix of strings into their lengths, that's highly unlikely to ever change 08:52
** and to be frank, most of the time I'm not writing for "the long run"; actually it's more common that I quickly do something in the REPL 08:53
Raku is possibly the best language for quick shell-like scripting and prototyping 08:54
Voldenet sure, if it's in repl then go ahead 08:55
as long as you don't develop it into pathological habit of writing apl-like monstrosities everywhere 08:58
Nemokosch APL-like monstrosities would probably correspond to Java-like monstrosities, though 09:01
and eventually I think it all boils down to what you know about the language; it's almost too big to like "know-it-all" 09:07
for me, the hyper metaoperator means: 1. recursively traversing lists (when the operator is not nodal) 2. returning a list-like data structure rather than a sequence 3. allowing for some parallelism for calculating different values 09:11
in this order
when I see `.hyper.map`, I don't know which of these properties are captured or what the emphasis is
something that used to be one step that I have certain expectations for (and found favorable for a certain problem) turned into two steps and I wouldn't magically know what captures what 09:13
the docs also don't seem to be super elaborate but my impression is that the second point won't hold and I still have no clue about the first point 09:14
nine Reading a bit in here makes me think you actually know more about Raku than me. So how come you people are not more involved in core development? 09:28
09:32 mexen joined 09:36 jaguart joined
lizmat nine: excellent question :-) 09:52
Geth ecosystem: 25b062200a | (Elizabeth Mattijsen)++ | META.list
Remove modules that now live in the zef ecosystem

IO::CatHandle::AutoLines, LN, Template6
10:08 sena_kun left
Geth ecosystem: 6d7aec4f6f | (Elizabeth Mattijsen)++ | META.list
Freeze Grammar::Common

While it's being moved to the zef ecosystem
10:09 jjido joined 10:10 sena_kun joined 10:44 jjido left 10:48 Sankalp joined, Sankalp left, Sankalp joined, sjn_ is now known as sjn 11:10 frost left
Geth ecosystem: fe558df857 | (Elizabeth Mattijsen)++ | META.list
Freeze MIME::Types

While it's being moved to the zef ecosystem. Also fix capitalization on the URL
11:57 discord-raku-bot left, discord-raku-bot joined
Voldenet re java-like monstrosities: yes, it all boils down to how familiar the syntax is to people, that's why I voiced it as an opinion :P 12:04
Nemokosch I doubt the average Joe has good feelings about Java-like monstrosities, whether it seems familiar or not 12:06
Voldenet it's all cool until you see proxy facade for flyweight bridges factory
12:06 reportable6 left
Voldenet in fact, java took the debatable route of using regular methods even as getters and setters 12:07
12:07 reportable6 joined
Voldenet regarding core development involvement – not sure if that remark is even pointed towards me, but I don't know enough and I doubt I'm good enough at what I think I know 12:25
Geth ecosystem: 494259aefc | (Elizabeth Mattijsen)++ | META.list
Revert capitalization on MIME
Nemokosch Whatever you refer to as "APL-like monstrosities", I think that would take more than one operator or two 12:28
So I thought the fair comparison would be something sufficiently complex 12:29
12:35 elves-upstate joined
Voldenet I'm just convinced that it's possible to solve complex problems interactively in repl (by adding more and more operators to it) and then persist it as a solution in a file 12:40
Nemokosch how is this different from adding more and more methods to it, though 12:41
Voldenet My reasoning was that method calls are visually longer, so you can't put as much in one line 12:46
Nemokosch hahaha 12:49
you imagine 😂 12:51
tbh I didn't get the presumption; I don't think disposable or "immutable" code mixes that much with long-term development 12:55
it often really just boils down to what you accept as a "common solution of a common task"
I've grown used to int conversion of arrays giving the length 12:56
now I don't even need to think 12:57
but if you asked me "tabula rasa", I would definitely say that this is an odd conversion choice I rather disagree with
lizmat OOC, so what should your tabula rase self have expected ? 12:58
Nemokosch Most probably that it won't convert to an Int at all 😅 but I can tell you a couple of behaviors that don't seem less valid than taking the length 13:01
I might be weird but after JS, I could have anticipated something like "length - 1", for the biggest present index 13:03
Or first element as an int
Or, restricting ourselves to int arrays: the sum
lizmat well.. the sum would be a bad idea, as that would only work for int arrays, and sometime you don't know what you're getting back from a sub 13:05
Nemokosch anyway, it's not a big deal; I just thought this is a good example of what you accept as a legitimate solution for a common problem
and this is often more a community choice than a language choice
indeed, that was rather a hypothetical, if arrays were inherently bound to a certain type 13:06
like I could imagine another language / another data structure where that makes sense 13:07
another one: if you are a fan of vector operations, +@something could mean: turn this "vector" into an "int vector", converting all the elements or someting 13:08
Back to the point... In Javascript, the community moved towards stigmatizing coercion rules, I would say, beyond rational reasoning, with that === paranoia and all. 13:11
While from what I see, it's kind of the other way around in Raku. "Type coercions are a great thing - if you have predictable, well-documented rules." And it's apparent that this was the goal.
13:14 discord-raku-bot left, discord-raku-bot joined
In JS, using the unary plus for numeric conversion is considered a weirdo thing, in Raku, it's considered pretty normal, including the named array conversion. These are like community or "culture" choices, 13:17
and if `+@foo` is accepted for the common task of "take the length of the array @foo", I don't see why `@table>>.chars` couldn't be accepted for a moderately common (but still rather generic) task of "turn the table into the string lengths in the table" 13:19
13:24 discord-raku-bot left, discord-raku-bot joined
Voldenet >I don't think disposable or "immutable" code mixes that much with long-term development 13:26
Voldenet stares into the sky profoundly
it happens a lot more often than you'd expect 13:28
13:35 elves-upstate left
Voldenet `@foo -> int` conversion exists since perl5, but I think I see more of @foo.elems 13:35
than +@foo
nine Voldenet: I joined core development during the great list refactor. Didn't know anything then. I just tried if some code that had been commented out would actually already work and it did. Thus my first commit was made 13:38
It was really not more than that. The rest followed by applying a normal debugging process and discovering how stuff works along the way 13:39
There's very little magic involved. Its mostly just code 13:40
Truth is, no one knows enough when they start :) I'm not sure I know enough even now. I just ignore that topic altogether ;) 13:46
13:46 vrurg_ is now known as vrurg
Voldenet 'very little magic', but not zero - ideally I'd expect to understand well how core grammar and jit work before doing anything, otherwise I might be introducing bugs that are impossible to debug/reproduce 13:48
and probably gc as well 13:49
13:52 dakkar left 13:53 jaguart left
nine thats what reviews are for 13:57
Nemokosch > it happens a lot more often than you'd expect 13:59
for whom, though
At my work, it's next to impossible to mix up the "serious" C and Java codes with the "casual" shell and Perl codes 14:01
if the latter doesn't work well, it might as well be thrown to the trash bin
14:04 Guest35_ joined 14:06 elves-upstate joined
Voldenet Sometimes I get asked to make "single use powershell/sql/raku/js" and after a year get improvement requests for it :( 14:12
Nemokosch 😅 14:20
14:21 bigdata joined 14:23 Sgeo joined 14:29 Kaipei joined 14:32 elves-upstate left 14:33 Kaiepi left
gcd is prove6 the preferred way to run tests? 14:36
15:02 Kaipei is now known as Kaiepi
gfldex gcd: not mine, see: gfldex.wordpress.com/?s=raku-test-all 15:13
15:55 childlikempress joined 15:56 moon-child left 16:07 morte_ joined
gcd I can't get prove6 to acknowledge my DYLD_LIBRARY_PATH environment variable I need for DBIish, so I'm doing for file in `ls t/*`; do raku -Ilib $file; done at the moment. 16:09
16:16 morte_ left 16:20 simcop2387 left, perlbot left 16:23 p6steve joined 16:24 qorg11 left 16:28 simcop2387 joined 16:29 perlbot joined 16:37 morte_ joined 16:48 warriors joined
warriors so libera how replaces freenode? 16:48
sjn warriors: yes; freenode was hijacked by new management a while back, which led to a huge exodus to other networks. libera.chat was set up as an alternative managed by the same people as the old freenode, and I believe a majority of the old communities there moved here 16:56
some old freenode channels moved to OFTC.net (the Debian network) and probably others. 16:57
warriors why did they do that, is there any money in it 17:00
people hardly use irc anymore
Voldenet ¯\_(ツ)_/¯ 17:05
because some guy had money and needed to 'fix irc', but broke it instead by mistake 17:12
17:21 morte_ left
warriors :) 17:22
did he declare regrets
i think elon musk might be doing the same thing with twitter, much more money thought 17:23
rjbs There's an amazing graph that shows average number of users on various IRC networks, and you can see Freenode utterly plummer while Libera skyrockets. It's almost unbelievable. 17:39
lizmat yeah, the move was pretty swift and pretty complete
17:48 bigdata left 17:58 jjido joined
Nemokosch Has Twitter ever been good though 18:05
18:07 reportable6 left 18:10 reportable6 joined
xinming DBDish::Pg: Error: could not access file "$libdir/plpgsql": No such file or directory <--- This issue is fixed by upgrading postgres to newest, before was 13.x running quite well, didn't notice the postgres update. 18:47
19:10 evalable6 left, linkable6 left 19:11 sena_kun left 19:12 evalable6 joined
[Coke] (prove6) I use 'zef test .' for many things these days 19:13
19:13 linkable6 joined 19:23 sena_kun joined
lizmat yeah, for CI I use zef test . only if there are no dependencies 19:30
19:31 mexen left 19:32 warriors left 19:44 jaguart joined, dwarring joined 20:16 perlbot left 20:17 simcop2387 left 20:23 simcop2387 joined 20:24 perlbot joined 20:26 euandreh left 20:30 jjido left 21:19 jjido joined 21:33 kueppo joined 21:36 childlikempress is now known as moon-child 22:06 Altai-man joined 22:08 sena_kun left 22:16 jjido left 22:33 jaguart left
gcd `zef test .` doesn't see my environment variable either. 22:42
23:27 kueppo left