🦋 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
reportable6 joined
00:28
jpn joined
00:32
jpn left
01:11
razetime joined
01:37
Geth left,
Geth joined
01:41
Geth left,
Geth joined
01:42
razetime left
01:43
razetime joined
02:43
bisectable6 left,
coverable6 left,
bloatable6 left,
statisfiable6 left,
quotable6 left,
squashable6 left,
linkable6 left,
shareable6 left,
tellable6 left,
committable6 left,
releasable6 left,
reportable6 left,
nativecallable6 left,
unicodable6 left,
benchable6 left,
greppable6 left,
notable6 left,
sourceable6 left,
evalable6 left,
coverable6 joined,
tellable6 joined,
sourceable6 joined,
shareable6 joined,
reportable6 joined,
greppable6 joined
02:44
bisectable6 joined,
squashable6 joined,
bloatable6 joined,
releasable6 joined,
linkable6 joined
02:45
evalable6 joined,
nativecallable6 joined,
quotable6 joined,
notable6 joined,
committable6 joined
02:46
benchable6 joined,
statisfiable6 joined,
unicodable6 joined
03:46
quotable6 left,
nativecallable6 left,
bloatable6 left,
tellable6 left,
linkable6 left,
committable6 left,
greppable6 left,
benchable6 left,
reportable6 left,
statisfiable6 left,
releasable6 left,
sourceable6 left,
bisectable6 left,
shareable6 left,
unicodable6 left,
evalable6 left,
notable6 left,
squashable6 left,
coverable6 left,
shareable6 joined,
quotable6 joined,
notable6 joined,
benchable6 joined
03:47
nativecallable6 joined,
statisfiable6 joined,
tellable6 joined,
coverable6 joined,
linkable6 joined
03:48
squashable6 joined,
greppable6 joined,
unicodable6 joined,
bloatable6 joined,
sourceable6 joined
03:49
evalable6 joined,
bisectable6 joined,
committable6 joined,
releasable6 joined,
reportable6 joined
04:28
razetime left
|
|||
guifa__ | lizmat thank you for working on all of the regex nodes. my polyglot::regex module is looking a million times cleaner | 04:29 | |
tellable6 | 2023-07-22T17:05:34Z #raku-dev <lizmat> guifa are you aware of github.com/edumentab/p6-ecma262regex ? | ||
guifa__ | lizmat: I was. I used it to get an idea of how things should work, but it's lacks the trickiest part: captures | 04:31 | |
or it has it, but doesn't handle the differences | 04:32 | ||
so if you fed it (a(b(c))) it would translate it to raku (a(b(c))) | 04:33 | ||
the problem is that $3 would not yield c, rather Nil | |||
Also, if you do 'abc'.match(rx/(.)+/) in JS, the first match is just a, but in Raku it produces a list of matches | 04:34 | ||
so really (.)+ should convert to (.).* in Raku | 04:35 | ||
In either case, some shenanigans are required to ensure that positional captures go left to right. Also, if you naïvely insert named captures, you'll run into problems: Raku ignores named captures for the purpose of positional matches, but in Javascript, all captures are positional, and names are just aliases that point there | 04:36 | ||
I solved it in my module by inserting applying a role to the $¢, and reporting each capture back to the mothership with its left-to-right id, and then providing a name to positional id relationship. AT-POS and AT-KEY get overriden so its transparent to the user. there may be a more interesting way to do it by searching through the match tree, but I was lazy ^_^ | 04:39 | ||
04:41
tea3po joined
04:43
tea3po left,
tea3po joined
04:44
teatwo left
05:11
razetime joined
05:20
razetime left
05:33
tea3po left,
tea3po joined
05:35
siavash joined
05:39
andydude joined
05:54
jpn joined
05:58
jpn left
06:00
reportable6 left
06:02
reportable6 joined
07:02
committable6 left,
evalable6 left,
bisectable6 left,
coverable6 left,
notable6 left,
releasable6 left,
unicodable6 left,
statisfiable6 left,
squashable6 left,
linkable6 left,
shareable6 left,
sourceable6 left,
reportable6 left,
nativecallable6 left,
benchable6 left,
greppable6 left,
quotable6 left,
bloatable6 left,
tellable6 left
07:03
linkable6 joined,
evalable6 joined,
bloatable6 joined
07:04
sourceable6 joined,
releasable6 joined,
benchable6 joined,
squashable6 joined,
bisectable6 joined,
unicodable6 joined,
committable6 joined
07:05
notable6 joined,
quotable6 joined,
reportable6 joined,
nativecallable6 joined,
shareable6 joined,
coverable6 joined,
greppable6 joined,
tellable6 joined,
statisfiable6 joined
07:26
jpn joined
07:43
sena_kun joined
07:49
jpn left
07:57
dakkar joined
08:07
jpn joined
08:13
Sgeo left
08:37
andydude left
09:27
jpn left
09:40
jpn joined
09:46
sena_kun left
10:02
razetime joined
11:02
notable6 left,
linkable6 left,
evalable6 left,
evalable6 joined,
linkable6 joined
11:03
notable6 joined
11:18
razetime left
11:58
siavash left
12:00
reportable6 left
12:01
reportable6 joined
12:10
jpn left
12:34
jpn joined
12:41
jpn left
12:46
jpn joined
|
|||
lizmat | And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/07/24/2023-30-morevids/ | 13:09 | |
El_Che | again? RWN is the unforgiving ticking of time | 13:10 | |
:) | |||
lizmat: the twitter thing :) | 13:11 | ||
lizmat | hehe :-) | ||
El_Che | "I noticed that the Raku developers were deeply in love with Raku and were excited about the possibilities of the future. They had a great energy." <- the parent of the response you cited | 13:16 | |
13:31
andydude joined
|
|||
guifa__ | It amazes me the number of people who misunderstood ovid's post re Perl 8 | 13:32 | |
lizmat | well, I think the "had" is a bIt of a meh :-) | 13:33 | |
guifa__ | I mean he was narrating in the past, I didn't think anything of it. Thanks to him I have another nother side project / challenge | 13:34 | |
lizmat | If I would post something like "P5P had a great energy" in /r/perl, it would get a lot of hatemail | ||
guifa__ | last TPRC I got the challenge to do the polyglot regex module and now because lizmat++ got those nodes, I can really finish it off | 13:35 | |
13:35
jpn left
|
|||
guifa__ | this TPRC Ovid challenged me to add in logical programming into it | 13:35 | |
13:36
jpn joined
13:40
jpn left
|
|||
guifa__ | I'm thinking something like logic Foo { fact x { cat(tom) }; rule z { animal(X) :- cat(X) } }; Foo.query('animal(X)') # X = tom | 13:42 | |
obviously though `rule` doesn't really work though since that's used in grammars | |||
lizmat | SmokeMachine might also be interested in that ? | 13:43 | |
guifa__ | yup, we talked briefly about it | 13:45 | |
13:45
jpn joined
|
|||
nemokosch | yeah I'd assume that "they had a great energy" was simply meant to be about the conference, or whatever related to that | 13:52 | |
a retrospective on something you were exposed to, kind of thing | 13:53 | ||
the "no love for Raku" comment gets the post right in my opinion - or at least I misunderstand it the same way 😛 | 13:54 | ||
SmokeMachine | lizmat: yes! guifa__ if I can help on that somehow… please let me know… | ||
guifa__: would that make sense to implement the syntax with an interchangeable engine? To make it possible to implement different ones? | 13:57 | ||
nemokosch | the commenter's position was that ultimately, Perl is merely an ubiquitous legacy tool and basically any sort of development that doesn't serve the legacy use case is in vain, moreover harmful | 13:58 | |
it's not my business whether that's right or wrong, perhaps it should rather be the community that can decide that | 13:59 | ||
lizmat | a point I made 5 years ago already: www.perl.com/article/an-open-lette...community/ | ||
the response was overwhelmingly: how dare you suggest something like that | 14:01 | ||
Geth | ¦ problem-solving: lizmat assigned to codesections Issue It is time to drop the "(formerly Perl 6)" github.com/Raku/problem-solving/issues/377 | 14:03 | |
¦ problem-solving: lizmat unassigned from codesections Issue It is time to drop the "(formerly Perl 6)" github.com/Raku/problem-solving/issues/377 | |||
14:06
Sgeo joined
14:44
teatime joined
14:47
tea3po left
15:12
buffet left
16:03
knarkhov joined
|
|||
knarkhov | Hi, all! Does anyone know what's happened with Tyil's git.tyil.nl/? There were a lot of dependency modules for Rakudo Star, since the repo is down my nightly builds are totally in errors... | 16:08 | |
[Coke] | .seen tyil | 16:09 | |
tellable6 | [Coke], I saw tyil 2021-06-20T16:51:00Z in #raku-dev: <tyil> that should be all of the (non-archived) docs | ||
[Coke] | Have the modules been taken over by someone else in the community? I'm surprised to see a 3rd party git repo. | ||
El_Che | knarkhov: as far as I know someone else took over rakudo star. Anton iirc? | 16:10 | |
[Coke] | (that is, not gitlab or github) | ||
git.tyil.nl/rakudo-star/ is not the official Star repo, if that's what you're looking for. | 16:11 | ||
maybe you need to start with github.com/rakudo/star ? | |||
knarkhov | I'm building custom RStar distro with specific modules from sources | 16:12 | |
[Coke] | ok, so Star isn't the problem, it's the dep you have on tyil's repo - can you name one of the repos you're trying to get from there? | ||
knarkhov | Tyil had all his modules in one place, and those ones are used in RS repo, but some of them (those in official RS repo have outdated version) | 16:13 | |
[Coke] | also: please don't call a custom distro "Star", it will cause confusion. | ||
My recommendation would be to update those versions in RS itself. | 16:14 | ||
nemokosch | well, if he never wanted them to live in some more centralized environment then I guess this was set to happen one day | 16:15 | |
by the way, the META6 outage also makes Collection fail | |||
knarkhov | that's the list: Log, Log-Colored, Hash-Merge, IO-Path-XDG, Config, Config-Parser-toml, Config-Parser-yaml | ||
16:16
jpn left
|
|||
[Coke] | raku.land/?q=log+colored, for example, is listed as living in tyil's repo, and there's no other repo listed. | 16:17 | |
knarkhov | RS official distro uses this repo as well github.com/rakudo/star/blob/master...odules.txt | ||
as I said a lot of modules are taken from his repo and I'm not sure that we have a mirrors at GH/GL | 16:18 | ||
[Coke] | Sure. if tyil's gone (and their repos are gone), we should remove it from Star. If someone has a clone of that repo, we could theoretically put it into github under community modules, but someone should reach out to tyil. | 16:19 | |
nemokosch | yes, probably the most luck would be to have a copy lying somewhere around | ||
[Coke] | the easy solution: remove those modules from star. | 16:20 | |
I wouldn't include any unsupported modules in that distro. | |||
nemokosch | then it would basically vanish, reading through the included, well, these are rather distributions than modules | 16:22 | |
does this Readline fork really work? github.com/lathropd/perl6-readline | 16:23 | ||
[Coke] | based on that fact that one of these is on cpan, maybe [email@hidden.address] can reach him. | 16:25 | |
based on that fact that one of these is on cpan, maybe tyil@cpan.org can reach him. | |||
(also on github.com/Tyil) | 16:28 | ||
maybe open a star bug and tag him. | 16:29 | ||
knarkhov | I think he is rebuilding his home server rack: www.tyil.nl/post/2023/07/23/my-new...k-mieshu/, looks like some stuff is at migration stage. Hope git will be up again soon | 16:30 | |
16:30
jpn joined
|
|||
nemokosch | anyway, this is something to get prepared for, I mean that code like that can fall out at any moment | 16:30 | |
knarkhov | exactly | 16:31 | |
16:35
dakkar left
16:41
knarkhov left,
teatwo joined
16:42
jpn left
16:44
teatime left,
jpn joined
|
|||
tonyo | ^ that is why fez doesn't allow modules to be deleted after 24h | 16:46 | |
not that it would help if AWS went out of business tomorrow | |||
nemokosch | but yeah, I guess we convince ourselves that if AWS or Github fails, there will be much bigger problems... | 16:48 | |
and consequently that it wouldn't be let happen | |||
16:48
jpn left
|
|||
[Coke] | I have moved from wanting a rack in my home to using a cloud server if it comes up. | 16:51 | |
... but mostly it doesn't come up anymore | 16:52 | ||
(for me) | |||
scullucs | How can I tell if/where IO::String is implemented in the Rakudo source repo? (I can "use IO::String", but it's behaving differently today compared to when I was using many months ago.) | 16:59 | |
I used to be able to created an instance, then call the eof() method on it, which would return False if there was something left to read in it, but nowadays it appears to always return True. | 17:00 | ||
*create | 17:01 | ||
lucs | And docs.raku.org appears to know nothing about IO::String. | ||
nemokosch | is it really a built-in? | 17:08 | |
doesn't seem like that | |||
scullucs | True. And indeed in the past I had installed it with zef. | 17:12 | |
But the behaviour has changed, so to try to figure out what was going on, I zef-uninstalled it, yet it still can be used. | |||
And just to be sure, I nuked every single .precomp directory I could find. | 17:13 | ||
nemokosch | I can't use IO::String with Rakudo 2023.04 | ||
scullucs | Hmm... I have 2023.02. | ||
nemokosch | run zef list --installed | ||
scullucs | Good idea... | 17:14 | |
nemokosch | in case there is some instance lying around or idk | ||
scullucs | .h▸ zef list --installed | grep String ===> Found via inst#/shome/lucs/rakubrew/versions/moar-2023.02/share/perl6/site ===> Found via inst#/shome/lucs/rakubrew/versions/moar-2023.02/share/perl6/core String::CRC32:ver<0.05>:auth<cosimo> String::Utils:ver<0.0.15>:auth<zef:lizmat> | ||
Weird. | 17:15 | ||
nemokosch | don't forget (probably) my biggest "ceterum censeo" with dependency management | ||
scullucs | Listening... | 17:16 | |
nemokosch | that modules are wrapped into distributions | ||
and even though you can only install distributions, and only distributions contain a proper amount of metadata, your dependencies are the underlying modules | |||
so IO::String can be something living in a distribution called my-little-pony and you wouldn't notice | 17:17 | ||
scullucs | Oooh... | ||
nemokosch | this is a truly horrendous design | ||
do you have Text::CSV by any chance? | 17:18 | ||
scullucs | Yep. | ||
nemokosch | I suspect (based on zef search) that it has an IO::String | ||
scullucs | I think you're right. | ||
nemokosch | github.com/Tux/CSV/blob/master/META6.json | 17:19 | |
there | |||
scullucs | I'll test by uninstalling Text::CSV. | ||
nemokosch | just how many people need to be bitten by this bullshit for it to be addressed | ||
scullucs | Yeah, once that is uninstalled, IO::String can't be 'use'd. | 17:20 | |
nemokosch | the usual cop(e)-out is "always specify the author and the version, duh" | ||
but then what was the whole purpose of this system, if you basically need to run extra laps to do the reasonable thing (=depend on what is actually installed) | 17:21 | ||
17:21
observant_meat joined
17:22
[Coke] left
|
|||
scullucs | Heh, here's something "interesting". So I earlier uninstalled IO::String, and just now, Text::CSV, and I do, and get, this: | 17:23 | |
nemokosch | there is this banal truth that people don't know what they don't know | 17:24 | |
scullucs | .h▸ zef install IO::String ===> Searching for: IO::String ===> Updating fez mirror: 360.zef.pm/ ===> Updated fez mirror: 360.zef.pm/ ===> Updating rea mirror: raw.githubusercontent.com/Raku/REA.../META.json ===> Updated rea mirror: raw.githubusercontent.com/Raku/REA.../META.json ===> Testing: Text::CSV:ver<0.012>:auth<github:Tux> ===> Testing [OK] for | ||
Text::CSV:ver<0.012>:auth<github:Tux> ===> Installing: Text::CSV:ver<0.012>:auth<github:Tux> | |||
nemokosch | higher version number wins 🤡 | ||
scullucs | Er, but I didn't ask for Text::CSV, eh. | 17:25 | |
nemokosch | no no. You asked for a module named IO::String | ||
and zef will give you the highest version of that | |||
... which is to be found in Text::CSV 🤡 | 17:26 | ||
scullucs | Hmm... | ||
LTA | |||
nemokosch | it absolutely doesn't care at this point if there is a distribution named exactly the same way | ||
it's actually pretty dangerous; I'd say dangerous enough to not be allowed to happen implicitly | 17:27 | ||
one can just hijack any module installed without the :auth<> yadda yadda if they give a sufficiently large version number to the malicious distribution it's in | 17:28 | ||
And as everyone can see really, people just don't know about this, and they can't anticipate it | 17:30 | ||
I hope you will never feel safe again after installing something without the :auth<> yadda yadda; you'd be very right with that | 17:34 | ||
scullucs | Okay, I get it. I just looked at the Text::CSV META6.json file, and it indeed "provides" IO::String, thus the conflict. | ||
Right 😦 | 17:35 | ||
nemokosch | It's crippling to think that this would be pretty easy to fix from the technical side (I mean, dependencies should just be the distributions) - however, there is the (legitimate) counter-argument that it would (potentially/probably) break the ecosystem into atoms | 17:37 | |
and to that I can't say anything still, apart from this shouldn't have ever made it into production 🤷♂️ | 17:39 | ||
scullucs | Halfway "solution": at compile time, if more than one non-"auth" qualified Baz::Foo is available when use'ing it, fail to compile and insist that the "auth" (and maybe "version") be specified? | 17:42 | |
Er, I meant: "..., if use'ing a non-"auth" qualified Baz::Foo and more than one is available, ..." | 17:51 | ||
17:55
sena_kun joined
18:00
reportable6 left,
reportable6 joined
|
|||
nemokosch | Yeah well, there are two things | 18:15 | |
Dependency management and module resolution | |||
Dependency management pretends to be module resolution and that could have been avoided easily | 18:16 | ||
Module resolution has no easy fix if all modules are stored globally and the names don't have to be unique | 18:17 | ||
Arguably, both should fail loud and clear when there's ambiguity, though | 18:18 | ||
Because that's always better than guessing wrong | |||
18:21
knarkhov joined
|
|||
at that point it's not even sure if the user can recover actually | 18:22 | ||
18:24
knarkhov left
|
|||
if the dependency resolution succeeds but then the code complains about the ambiguity in the use statement that's probably hell though | 18:25 | ||
18:26
observant_meat left
|
|||
@scullucs oh right, isn't it also funny that zef install IO::String installs Text::CSV but zef uninstall IO::String won't uninstall it? | 18:28 | ||
18:39
hellwolf left
18:49
jpn joined
18:58
jpn left
19:21
dogbert17 joined
19:34
Zen93 joined,
Zen93 left
19:55
jpn joined
19:59
jpn left
20:59
linkable6 left,
evalable6 left,
benchable6 left,
sourceable6 left,
unicodable6 left,
releasable6 left,
greppable6 left,
bisectable6 left,
nativecallable6 left,
bloatable6 left,
statisfiable6 left,
tellable6 left
21:00
benchable6 joined,
sourceable6 joined,
releasable6 joined,
linkable6 joined
21:01
unicodable6 joined,
jpn joined,
greppable6 joined,
bisectable6 joined
21:02
tellable6 joined,
statisfiable6 joined,
evalable6 joined,
nativecallable6 joined,
bloatable6 joined
|
|||
tbrowder__ | lovate | 21:06 | |
pls disregard | 21:07 | ||
i have an IO/String from hoelzro pre 2019 | 21:09 | ||
lizmat: any progress on getting File::Find transferred from tadzik? | 21:11 | ||
21:13
eroux left
21:17
eroux joined
21:21
jpn left
22:20
sena_kun left
22:28
rf joined
|
|||
lizmat | tbrowder__: I privmsg'd tadzik, no reply yet | 22:40 | |
22:49
rf left
|
|||
nemokosch | oh I even sent an email several months ago... | 22:53 | |
tbrowder__ | lizmat: thank you | 23:15 | |
23:17
jpn joined
23:22
jpn left
23:30
teatime joined
23:32
teatwo left
|