🦋 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. |
|||
avuserow | I'm getting a `429 Too Many Requests` errors often on raku.land. Is this for me or for everyone? | 00:11 | |
[Coke] | i can hit refresh 20 times and get a 429 | 00:22 | |
but normal clickthroughs seem fine | |||
avuserow | I seem to get it when searching. I wonder about the autocomplete, since it gives me results even with a single character typed which seems a bit eager | 00:26 | |
mort | I don't really understand how to specify the return type of a function | 00:30 | |
`sub foo() returns Int` makes sense and all | |||
but isn't it a bit important to communicate whether it returns an int scalar or an array of ints or a hash map of ints | 00:31 | ||
00:37
jpn joined
|
|||
[Coke] | Int is a single Scalar Int. | 00:39 | |
you can define a subset of Array where all the elements are int and declare that as the return type if you like | 00:40 | ||
er, Int | |||
mort | I guess my question is, if the body contains "my byte @foo = ... " and then returns @foo, what should I specify as the return type of the function | 00:42 | |
nemokosch | m: my byte @foo = 1, 2, 3; @foo.WHAT.say; | ||
evalable6 | (array[byte]) | ||
Raku eval | (array[byte]) | ||
nemokosch | apparently it's array[byte] | 00:43 | |
a native array of a native (meaning, C compatible) integer type | |||
mort | isn't the @() thing sometimes array and sometimes list | ||
[Coke] | an Array is a List, so you can use that. | 00:46 | |
mort | Array and List or array and list | ||
[Coke] | or use Iterable or Positional | ||
m: dd array | |||
camelia | array | ||
[Coke] | any lowercase type is a native. if you want native, use that. | 00:47 | |
mort | how do I know if I want a native or a non-native? | ||
this might be better in #raku-beginner maybe | 00:48 | ||
[Coke] | if you don't know, you want non-native | ||
mort | so I want Array[byte] I guess | ||
[Coke] | natives arten't objects, you get a more compact representation, but you auto-coerce them to objects doing most operations on them. | ||
mort | I see | 00:49 | |
m: (10, 20).WHAT.say; | 00:50 | ||
camelia | (List) | ||
mort | I'm guessing you can't really express "a 2-element list where the first element is an int and the second is a string" | 00:52 | |
[Coke] | was trying to come up with an example, but: | ||
m: sub foo(--> Array of Int) { my @a = 3,4,5,6; return @a }; dd foo | |||
camelia | Type check failed for return value; expected Array[Int] but got Array ([3, 4, 5, 6]) in sub foo at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
mort | how do people declare the return type when doing multiple returns of different types? | 00:53 | |
nemokosch | I mean maybe you don't want byte in the first place | 00:54 | |
or like, do you | |||
mort | sorry, these are separate things; the Array[byte] thing is very definitely a byte array | 00:55 | |
00:55
MasterDuke joined,
sdfgsdfg joined
|
|||
mort | but the multiple returns thing is separate | 00:55 | |
nemokosch | they aren't really separate but I wouldn't sweat too much on that | ||
By the way, working with typed arrays is just painful. That absolutely isn't your fault, don't let anyone gaslight you, it should just be better | |||
mort | apparently there's a place where I am returning an array[byte] so it doesn't fit the `returns Array[byte]` | 00:57 | |
00:58
antim0d3s left
|
|||
MasterDuke | types in raku are nominal, i.e., depending on their "names". not structural, i.e., depending on their "shape" | 01:01 | |
so e.g., `sub foo(Int @bar) { ... }` need to be passed something that is explicitly an array of Ints, not just an array that happens to only contain Ints | 01:03 | ||
and yes, it can be annoying/tricky | |||
mort | I guess the closest analogy to something I'm familiar with would be boxed types in Java right, where `return 10` doesn't work if the function returns an Integer rather than an int | 01:04 | |
is that somewhat the right track? | |||
nemokosch | We can talk about types being "nominal" but that's not really a useful framing... it's really just that there is no inference | 01:06 | |
MasterDuke | but your request would be done via something like `subset Int_and_Str of List where { .[0] ~~ Int and .[1] ~~ Str }; my Int_and_Str $a = (1, "b"); dd $a; my Int_and_Str $b = ("a", 2); dd $b` | 01:07 | |
m: subset Int_and_Str of List where { .[0] ~~ Int and .[1] ~~ Str }; my Int_and_Str $a = (1, "b"); dd $a; my Int_and_Str $b = ("a", 2); dd $b | |||
camelia | List $a = $(1, "b") Type check failed in assignment to $b; expected Int_and_Str but got List (("a", 2)) in block <unit> at <tmp> line 1 |
||
MasterDuke | i mention nominal vs structural because those are words/concepts people might be familiar with | 01:08 | |
oh, guess i should have added an `.elems == 2 and` at the beginning of the where | 01:10 | ||
01:11
Xliff_ joined
|
|||
Xliff_ | antoncube: You around? | 01:11 | |
Is there a service that can create Gantt charts from a text description? | 01:12 | ||
01:14
mort left
01:15
mort joined
|
|||
mort | is there a way to write an array[byte] to a file? The write method takes a Blob, and logically, array[byte] is a blob but I don't know how to make the types happy | 01:16 | |
MasterDuke | mort: i think so. though raku is sort of the opposite in the details of that example, in that the literal `10` is an Int, not an int | 01:17 | |
mort | actually maybe I should be using Buf throughout rather than array[byte] | ||
MasterDuke | does `my array[byte] $a .= new(1, 2, 3, 4); "foo".IO.spurt($a)` do what you want? | 01:20 | |
mort | I don't know, but using Buf does what I want so I'm happy | 01:26 | |
I kind of ended up writing a compiler for my first raku project | 01:31 | ||
MasterDuke | accidents happen to the best of us, don't beat yourself up about it | 01:37 | |
for what language? | 01:38 | ||
mort | MasterDuke: my own silly little language, for my own silly little VM | 01:52 | |
MasterDuke: p.mort.coffee/VnO.auto here's the source code for this compiler so far | 02:03 | ||
it's very bare bones | |||
but hey, it now manages to compile `x = 10; y = x; dbg-print y` | 02:04 | ||
02:39
jpn left
02:40
jpn joined
02:43
constxqt_ left
02:49
hulk joined
02:50
kylese left
02:57
edr left
03:02
jpn left
03:05
constxqt_ joined
03:15
hulk left,
kylese joined
03:16
constxqt_ left
03:22
constxqt_ joined
|
|||
MasterDuke | nice | 03:25 | |
03:35
constxqt_ left
|
|||
mort | p.mort.coffee/4Vi.png it does the thing | 03:35 | |
as you can see, this is a super serious project, the virtual machine lolvm and the programming language lol | 03:36 | ||
03:41
constxqt_ joined
03:48
constxqt_ left
04:08
constxqt_ joined
04:24
constxqt_ left
04:27
constxqt_ joined
04:34
constxqt_ left
04:40
constxqt_ joined
05:06
constxqt_ left
05:19
constxqt_ joined
05:26
constxqt_ left
05:45
constxqt_ joined
05:50
constxqt_ left
06:08
MasterDuke left
06:48
constxqt_ joined
06:53
constxqt_ left
07:13
constxqt_ joined
07:18
constxqt_ left
07:39
avuserow left,
avuserow joined
07:41
constxqt_ joined
07:46
constxqt_ left
07:56
constxqt_ joined
08:11
constxqt_ left
08:26
constxqt_ joined
08:27
teatime left
08:31
constxqt_ left
08:54
Xliff__ joined
08:57
Xliff left
09:01
constxqt_ joined
09:06
constxqt_ left
09:24
sena_kun joined
09:29
constxqt_ joined
09:38
constxqt_ left
09:41
jpn joined
09:42
sena_kun left
09:46
lichtkind__ joined
09:48
Sgeo left
09:55
constxqt_ joined
10:00
constxqt_ left
|
|||
Geth | planet.raku.org: e75add3751 | Andinus++ | perlanetrc Update paths |
10:20 | |
planet.raku.org: afc6548793 | Andinus++ | perlanetrc Update 'url' to 'feed' perlanet emits these warnings: Your config file uses 'url' for the URL of the feed. Please update that to 'feed'. The attribute was renamed in this commit: github.com/davorg-cpan/perlanet/co...42122a63a1 |
|||
planet.raku.org: 9caa4ddce9 | Andinus++ | perlanetrc Remove perl6maven.com feed The domain has expired and was registered by a "dropcatch" service -- registers expired domains. Other feeds that misbehave currently: - wakelift.de/rss -- 404 Not Found - cry.nu/feed.xml -- Validation Failed (perlanet error) - hoelz.ro/perl6.rss -- 404 Not Found |
|||
10:27
constxqt_ joined
10:32
constxqt_ left
11:03
constxqt_ joined
11:08
constxqt_ left
11:36
constxqt_ joined
11:42
constxqt_ left
12:04
constxqt_ joined
12:10
constxqt_ left
12:17
xinming left
12:19
xinming joined
12:21
jpn left
12:25
constxqt_ joined
12:48
constxqt_ left
12:56
clarkema1 joined
|
|||
lizmat | It's advent calendar time again: raku-advent.blog | 12:56 | |
13:06
constxqt_ joined
13:11
constxqt_ left
13:15
constxqt_ joined
13:23
notagoodidea joined
|
|||
notagoodidea | Hey there, is there a place that collect AOC solutions in Raku by any chance ? | 13:23 | |
lizmat | I don't know, but if you find out, please do a weekly: here so I can mention it in the weekly on Monday | 13:26 | |
afk& | |||
notagoodidea | Noted :) I will look a bit more around, thanks ! | 13:27 | |
andinus | codesections has been creating repo every year github.com/codesections/advent-of-raku-2022 | 13:28 | |
13:28
constxqt_ left
|
|||
Geth | advent: librasteve++ created pull request #108: add librasteve |
13:31 | |
notagoodidea | Thanks andinus, will see if @code | 13:32 | |
Thanks andinus I will see if codesections do it again this year :) I also found this one : github.com/Bogdanp/awesome-advent-of-code#raku | 13:33 | ||
13:38
lichtkind_ joined
13:39
constxqt_ joined
|
|||
notagoodidea | (For what is worth, I am putting mine here for now : github.com/notagoodidea/aoc23 ... Beginner warning, having some fun :) ) | 13:40 | |
By the way, si there a way for `trans` to do multiple pass besides calling it twice? I did not see anything in the documentation so far :/ | 13:41 | ||
13:41
lichtkind__ left
13:44
constxqt_ left
13:45
constxqt_ joined
13:53
jpn joined
13:58
constxqt_ left
|
|||
[Coke] | no, you'd have to loop. | 14:00 | |
if you need to do something a specific number of times you can: | 14:01 | ||
m: say 3 for ^4 | |||
camelia | 3 3 3 3 |
||
14:01
constxqt_ joined
|
|||
notagoodidea | Oh I forgot about the ^x syntax :D | 14:03 | |
m: $_.trans(<a b c> => <xa yb zc>).say for ^2 for <abc bbb> | 14:05 | ||
camelia | ===SORRY!=== Error while compiling <tmp> Missing semicolon at <tmp>:1 ------> trans(<a b c> => <xa yb zc>).say for ^2 ⏏for <abc bbb> |
||
[Coke] | the ^2 is just if you're doing it twice with no other considerations, if you want to run it for each of two inputs, it's not needed. | 14:09 | |
m: $_.trans(<a b c> => <xa yb zc>).say for <abc bbb> | 14:11 | ||
camelia | xaybzc ybybyb |
||
notagoodidea | Yeah, my brain did not connect. I was looking for another way to do x.trans().trans() in order to apply it twice in sequence (so feeding the output of the first trans into the second one) | ||
[Coke] | that is running it for two different inputs, I had thought you were looking for an iterative approach | ||
ah, you are. | 14:12 | ||
m: my $a = "thingstuff"; $a.= trans(<i u > => <u x>) for ^2; say $a | 14:13 | ||
camelia | thxngstxff | ||
[Coke] | you could also do the .= line until some condition was met, if it's not a simple # of iterations | 14:14 | |
notagoodidea | m: my $a = "abc"; $a .= trans(<a b c> = <x a z>) for ^3; say $a | 14:18 | |
camelia | Cannot modify an immutable Str (a) in block <unit> at <tmp> line 1 |
||
notagoodidea | m: my $a = "abc"; $a .= trans(<a b c> => <x a z>) for ^3; say $a | ||
camelia | xxz | ||
14:24
dutchie left
14:26
dutchie joined
14:43
melezhik joined
|
|||
melezhik | o/ | 14:43 | |
how can I do introspection of Raku function? | |||
say, I have a Raku function and I'd like to dump it's signature | |||
for example - list of named parameters | |||
is it possible? | |||
nemokosch | m: sub demo(:$foo, :$bar) { ... }; &demo.signature.say | 14:44 | |
evalable6 | (:$foo, :$bar) | ||
Raku eval | (:$foo, :$bar) | ||
melezhik | I have a 60-80 Raku functions/classes and I'd like to have a sort of autogenerated documentation accessible via web , where a user could see those classes private attributes and / or functions signature | 14:45 | |
lemme git it a try, nemokosch | |||
El_Che | it does not say much or rather absolutely nothing (CI setups, repo metadata updates, etc) but since moving to the CloudSmith repos rakudo-pkg has had 42515050 according to them :) | 14:49 | |
linkable6 | (2022-08-07) github.com/openstreetmap-polska/ae...425150507c AED update (C: 0, M: 0, D: 0) | ||
melezhik | nemokosch - can I dump class private attributes ? | 14:52 | |
14:52
constxqt_ left
|
|||
nemokosch | well, the attributes metamethod will give you all; it doesn't care about "privacy" | 14:53 | |
melezhik | thanks | 14:54 | |
14:57
edr joined
|
|||
ugexe | tbrowder_: you could simply check-https further by doing just `sub check-https("path/file" --> Bool { so shell :!out, :!err, "curl -1sLf path/file -o /localpath/file" }` | 15:01 | |
no need for `try`, as shell won't return an exception (just a Failure), and so will boolify as appropriate without exploding the Failure | |||
15:02
constxqt_ joined
|
|||
ugexe | and quietly isn't needed if you just disable stdout and stderr on the process via :!out :!err | 15:02 | |
15:18
melezhik left
15:23
notagoodidea left
15:48
melezhik joined
|
|||
melezhik | m: 'class Foo { has $!a = "hello"}' | 15:48 | |
camelia | WARNINGS for <tmp>: Useless use of constant string "class Foo { has $!a = \"hello\"}" in sink context (line 1) |
||
melezhik | m: 'class Foo { has $!a = "hello"}; for Foo.^attributes -> $I { say $i}' | 15:49 | |
camelia | WARNINGS for <tmp>: Useless use of constant string "class Foo { has $!a = \"hello\"}; for Foo.^attributes -> $I { say $i}" in sink context (line 1) |
||
melezhik | m: 'class Foo { has $!a = "hello"}; for Foo.^attributes -> $I { say $i}' | 15:53 | |
camelia | WARNINGS for <tmp>: Useless use of constant string "class Foo { has $!a = \"hello\"}; for Foo.^attributes -> $I { say $i}" in sink context (line 1) |
||
melezhik | how can I print out the content of Raku class attribute? | 15:56 | |
looks like this - docs.raku.org/type/Attribute#class_Attribute | 16:03 | ||
get_value | |||
[Coke] | in your use of m: there _ don't wrap the code in quotes, and your $I and $i don't match | 16:09 | |
m: class Foo { has $!a = "hello"}; for Foo.^attributes -> $i { dd $i.name } | 16:12 | ||
camelia | "\$!a" | ||
[Coke] | I think once you have the attribute, you have to ask the instance what it's value is, I don't think you can get it directly from the Attribute itself. | ||
m: class Foo { has $!a = "hello"}; for Foo.^attributes -> $i { dd $i.name, $i.get_value(Foo.new) } | 16:14 | ||
camelia | "\$!a" Str $!a = "hello" |
||
16:14
Sgeo joined,
donaldh joined
|
|||
[Coke] | you can't get attributes from a type object, so we create a new foo, and use the attribute to ask that what it's value is, then you get the default | 16:14 | |
Geth | advent/main: d0b2b5ade8 | librasteve++ (committed using GitHub Web editor) | raku-advent-2023/authors.md add librasteve (#108) |
16:17 | |
16:29
melezhik left
16:31
MoC joined
17:08
MoC left
17:38
dpb left
17:41
dpb joined
|
|||
librasteve | o/ | 18:08 | |
my advent post draft is ready on Wordpress - please can someone with the powers schedule it? | 18:09 | ||
tbrowder__ | ugexe: good points, but shouldn't we encourage not usinf | 18:10 | |
librasteve | wordpress.com/post/raku-advent.blog/2754 | ||
tbrowder__ | *using shell unless absolutely necessary? | 18:11 | |
lizmat | librasteve: ready to be scheduled? | ||
librasteve | yep | ||
btw I can possibly squeeze another one out in a week or so if demand is there | 18:12 | ||
lizmat | librasteve I'd say the demand is there :-) | 18:13 | |
ugexe | tbrowder__: sure, you can use `run` instead as well. you used shell in the post so i just reused that | 18:16 | |
Geth | advent/main: 5f5366f43b | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2023/authors.md Publish Steve Roe's post on 5 December |
18:31 | |
ingy | For those who recall my promise to bring YAMLScript to Raku... | 18:45 | |
Started my first advent blog today: yamlscript.org/blog/ :) | |||
18:45
sena_kun joined
|
|||
librasteve | ok ... i'll stick part 2 in for 18th ish then | 19:01 | |
19:05
gdown joined
|
|||
lizmat | librasteve cool! | 19:06 | |
Geth | advent: librasteve++ created pull request #109: add part2 on 15th |
||
advent/main: 4c984212df | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | raku-advent-2023/authors.md Add Steve Roe 2nd post on the 15th |
19:08 | ||
gdown | What's the difference between a lookaround and lookahead assertion? Aside from this example in the documentation: `say '333' ~~ m/^^ \d+ <!:Script<Tamil>> /;`, they seem to function equivalently, and I'm not even sure why they work differently there. | 19:14 | |
19:35
jpn left
|
|||
clarkema1 | What's the process for proposing a change to the default dist of a module you get by just running 'zef install Foo' without any further qualification? | 19:59 | |
I'm not super up to date with ecosystem and module changes | |||
20:10
Maylay left
20:23
Maylay joined
|
|||
librasteve | clarkema1: in the first instance, please raise an issue on the module repo | 20:40 | |
20:53
jpn joined
|
|||
ab5tract | clarkema1: do you mean you would vote for Foo:auth<D> to be default, but currently is Foo:auth<A>? | 21:00 | |
*it is | 21:01 | ||
I don't know if there is something like that... I think the official answer is to always specify auth. | 21:03 | ||
FWIW, I think what zef should do there is not install, but present you with a list of the matching packages instead. | 21:04 | ||
librasteve | oh, i see ... fwiw i think that most users are not going to know which one they want so there should be a (good) default | 21:06 | |
ab5tract | librasteve: The date of the most recent update / other community stats could be shown | ||
even links to the code | |||
librasteve | well, yes, but ask the user each time, really?! | 21:07 | |
ab5tract | potentially even the download volumes. | ||
librasteve: for conflicting packages, yes | 21:08 | ||
clarkema1 | My interest is primarily in the Readline module, which is the first thing that's recommended for a better experience when you start rakudo and seems to be abandoned | ||
it's slowly been accumulating path issues for a few years | |||
ab5tract | librasteve: I would consider this a community service for module authors such that people would actually know their alternative even exists | 21:09 | |
librasteve | amen to that | ||
(ie. amen to | 21:10 | ||
fixing Readliine) | |||
ab5tract: your community service will require many (5ish?) of selections of deps in a typical zef install, neh? | 21:12 | ||
ab5tract | if module authors are not bothering to include auth, that's a different story | ||
extremely poor hygiene | 21:13 | ||
librasteve: by the logic of switching to a new default, this would happen invisibly | |||
21:13
Xliff joined
|
|||
ab5tract | s/this/a dependency shift/ | 21:14 | |
clarkema1 | At this point i'd be happy to fork it, but there would have to be a discussion about how that module becomes the default 'Readline', or whether it gets adopted into some kind of community management | 21:15 | |
There's not much point me fixing it for myself but leaving newcomers who just 'zef install Readline' on macos to struggle | |||
librasteve | i guess right now that you bump the version in your fork and it will win (?) | ||
ab5tract | I don't know if it works like that, but it would be kind helpful if it does | 21:16 | |
clarkema1 | I've just installed it directly for testing. I really home it doesn't work like that, because it would open up a huge hole in terms of people hijacking namespace with malicious modules | 21:17 | |
ab5tract | actually scratch that, then I can release a malicious version higher than yours and just win | ||
clarkema1 | I assume there's a blessed list somewhere that zef uses | ||
librasteve | yes, it works like that (I know since I changed my username to librasteve and now only see the latest ones of my modules) | 21:18 | |
ab5tract | ok, that's somewhat alarming.. | 21:21 | |
librasteve | i guess its blessed as in "this author has not been blocklisted" | 21:22 | |
ab5tract | clarkema1: it sounds like the world of Readline supremacy in Raku is at your fingertips | 21:23 | |
clarkema1 | That's a scary thought | ||
ab5tract | :) | 21:24 | |
clarkema1 | I'm slightly terrified if I can just bump the version and push to CPAN | ||
librasteve | please push it to fez ;-) | ||
clarkema1 | I might try a little more testing first ;-) | 21:25 | |
librasteve | couldn't be worse than the current one | ||
clarkema1 | Don't want to cause more problems than I fix | ||
ab5tract | go ahead and take your time | 21:26 | |
librasteve | idea - give it the same version and invite some of us to help test | ||
ab5tract | you can always release yours at the same or lower version as base | ||
clarkema1 | librasteve: Are your problems macOS-related? Or on another system? | ||
ab5tract | librasteve: IRC jinx :) | 21:27 | |
librasteve | ===> Staging Readline:ver<0.1.6>:auth<cpan:fooist> ===SORRY!=== Failed to get the directory contents of '/usr/local/opt/readline/lib': Failed to open dir: No such file or directory | ||
on macOS | |||
clarkema1 | hah | ||
same issue | |||
looks like I found a tester ;) | |||
ab5tract | ohh | ||
looks like its still expecting the old homebrew hierarchy | 21:28 | ||
clarkema1 | indeed | ||
github.com/clarkema/perl6-readline...6ed2498866 | |||
there's been a PR for that for over 2 years now | |||
Today I'm also working on this: gist.github.com/clarkema/ee123f195...8420b134df | 21:29 | ||
which is the same issue, but when using nix on macos | |||
ab5tract | ahh.... this makes me kind of sad. I was following the fork trail to understand how this module became abandoned and it was the awesome DrForr who originally contributed this module. He died several years back. | 21:30 | |
Miss that guy | |||
clarkema1 | oh, that is sad news | 21:31 | |
librasteve | fwiw I think (due to prominence in repl) Readline should be a community module | ||
clarkema1 | I'm inclined to agree | 21:32 | |
ab5tract | librasteve: agreed, thought it was in there already until this came up | ||
clarkema1 | librasteve: Not sent to any directories yet, but can you try `zef -v install github.com/clarkema/raku-readline.git`? | 21:47 | |
librasteve | gets a lot farther gist.github.com/librasteve/f732141...2db1c38441 | 21:52 | |
but still fails | |||
clarkema1 | interesting, looks like a test count issue | 21:54 | |
if you force the test does it actually work? | |||
librasteve | yep | 21:55 | |
(and repl is good) | 21:56 | ||
clarkema1 | well, that's progress | ||
librasteve | ++ | ||
gdown: I share your confusion on lookaround vs lookahead - the docs are LTA | 21:57 | ||
gdown: I checked the design docs here github.com/Raku/old-design-docs/bl...-regex.pod | 22:08 | ||
22:37
sena_kun left
|
|||
clarkema1 | librasteve: Can you remove and install again without forcing tests please? | 22:39 | |
librasteve | ===> Installation [OK] | 22:44 | |
clarkema1 | \m/ | ||
librasteve | ++ | ||
22:47
jpn left
|
|||
clarkema1 | well then | 23:03 | |
I guess a) Readline:ver<0.1.7>:auth<zef:clarkema> is on zef now and b) it does indeed seem to be installed by default when you ask for `Readline` | 23:04 | ||
which is a frankly terrifying way for a module system to behave, but there we are | 23:05 | ||
I would still strongly favour that repo moving into community management | 23:08 | ||
librasteve | thanks for the fix | 23:09 | |
clarkema1 | librasteve++ thanks for the help and testing | 23:10 | |
lizmat | clarkema1: in Raku, you *can* ask for a specific auth / version of a module | 23:12 | |
librasteve | gdown: the best I can see is that '<? .... >' is another form of lookahead which is a bit more concise and char class friendly | ||
lizmat | any type of production code *should* do that | ||
clarkema1 | I'm aware that you can, but I imagine most people don't when grabbing things like readline, or indeed fez itself, for random shell use | 23:13 | |
anyway, hopefully the world is a bit better for macos users now | 23:14 | ||
librasteve | so maybe ab5tract is right and we should ask the installer to choose the auth (for the top level) when there are more than one | 23:15 | |
lizmat | I feel the installer should just fail if there's more than one auth | ||
librasteve | then that auth can pin deps as needed | ||
lizmat | but *that* would wreak havoc on any module formerly living in the p6c or CPAN ecosystem | 23:16 | |
librasteve | well, then you need a way for adoption to be done and old auths to be sunsetted | ||
ab5tract | fail with a list of options, yes. | 23:19 | |
librasteve: fair breakdown | |||
librasteve | and with a -y flag for the Docker types | 23:20 | |
clarkema1 | -y for --yolo | 23:21 | |
ab5tract | in the meantime, we could at least do our own best practices and include the relevant auth tags in the message we print to "naked" repls | 23:22 | |
librasteve | yawns | ||
ab5tract | librasteve: do you disagree with that approach? | 23:24 | |
gdown | librasteve: it's weird that there are a couple places where <? ... > acts slightly differently though, maybe a bug? | 23:32 | |
for example: `say '333' ~~ m/\d+ <!before [\D]>/` => 「333」 but `say '333' ~~ m/\d+ <![\D]>/` => 「33」 | 23:34 | ||
23:44
lichtkind_ left
|
|||
clarkema1 | Right, that's enough for me for one day. Night all | 23:46 |