🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:01 kybr left 00:02 molaf_ joined, stoned75 left 00:05 molaf left 00:10 gnufr33dom left 00:12 kybr joined 00:18 Doc_Holliwood joined 00:19 gnufr33dom joined 01:15 eseyman left 01:17 eseyman joined 01:32 dataangel joined 01:41 aborazmeh joined, aborazmeh left, aborazmeh joined
rypervenche guifa: I'll happily submit a PR with anything that I can help with. :) 01:45
01:50 molaf__ joined 01:53 molaf_ left 02:01 AlexDaniel left, AlexDaniel joined, AlexDaniel left, AlexDaniel joined 02:05 Manifest0 left 02:06 Manifest0 joined 02:10 gnufr33dom left 02:14 gnufr33dom joined 02:16 gnufr33dom left 02:22 gnufr33dom joined 02:29 gnufr33dom left, Doc_Holliwood left 02:32 gnufr33dom joined 02:52 jufearca joined 03:00 gnufr33dom left 03:14 tejr left 03:24 tejr joined 03:32 BenGoldberg left 03:54 BenGoldberg joined 03:55 rindolf joined 04:00 defaultxr left 04:05 cpan-raku joined, cpan-raku left, cpan-raku joined 04:09 defaultxr joined 04:13 rindolf left 04:16 tejr left 04:25 maettu joined 04:26 rindolf joined 04:27 BenGoldberg left 04:49 aborazmeh left 05:07 andrzejku joined 05:35 ensamvarg3 joined 05:36 molaf__ left 05:43 tejr joined 05:44 skids left 05:46 JJMerelo joined 05:47 aluaces joined
Geth doc: c470f93ef5 | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Callable.pod6
Adjust operators' classification and xref them
doc: 8f08629f31 | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Callable.pod6
Add missing articles
linkable6 Link: docs.raku.org/type/Callable
06:00 Archenoth left 06:08 Kaiepi left 06:10 Doc_Holliwood joined 06:11 andrzejku left 06:16 domidumont joined 06:17 Sgeo left 06:18 aborazmeh joined, aborazmeh left, aborazmeh joined 06:36 Kaiepi joined 06:37 andrzejku joined 06:39 maggotbrain left, maggotbrain joined 06:46 tejr left 06:50 Altai-man joined 06:51 tejr joined 06:54 stoned75 joined
Geth doc/code-impl-detail: 7c07b0e3f0 | (Stoned Elipot)++ | 2 files
Revisite (is-)implementation-detail

  - xref implementation-detail trait
  - fix pasto (trait -> method)
  - give is-implementation-detail its own section in implementation-detail
trait's description, hence nicely grouped in search results and routine page
doc: stoned++ created pull request #3625:
Revisite (is-)implementation-detail
07:01 pecastro joined 07:10 leont joined 07:15 maggotbrain left 07:19 BenGoldberg joined, sena_kun joined 07:21 Altai-man left 07:32 jufearca left 07:41 domidumont left, aborazmeh left 07:45 kst joined 07:46 dakkar joined 07:48 Doc_Holliwood left 07:51 Doc_Holliwood joined 07:52 BenGoldberg left 07:56 xxxx joined 07:58 xxxx left 08:19 maettu left 08:35 maettu joined 08:41 wbn left, wbn joined 09:07 stoned75 left 09:09 stoned75 joined, ufobat joined
lizmat clickbaits rakudoweekly.blog/2020/09/07/2020-...ime-again/ 09:11
09:35 Doc_Holliwould joined 09:38 Doc_Holliwood left 10:12 maettu left 10:36 aluaces left 10:38 JJMerelo left, timlegge left, timlegge joined 10:44 BenGoldberg joined 10:52 tejr left 10:55 Doc_Holliwould left 11:09 Doc_Holliwould joined 11:18 Altai-man joined 11:19 BenGoldberg left 11:20 sena_kun left 11:44 squashable6 left 11:46 squashable6 joined 11:55 aluaces joined 12:08 tejr joined 12:12 ufobat left 12:20 ufobat joined 12:44 Doc_Holliwould left
tbrowder hi, i'm admiring [Coke]'s tally.raku prog and have a question about line 43 where a regex contains a capture with <( .* )> instead of the usual (.*). is that required or 12:58
could either form have been used?
i notice he uses $/ instead of $0 for extracting the capture. is that the reason? 13:02
MasterDuke that's not a capture. it's `<(` and `.*` and `)>` 13:04
the `<(` and `)>` are non-(something, i don't remember the exact right term) markers 13:05
tbrowder ok, but why was it used instead of a capture?
MasterDuke dunno, for that you'd have to ask him
tbrowder sure
.ask [Coke] why in tally.raku did you use "<(.*)>" instead of "(.*)" to get the user id? 13:07
tellable6 tbrowder, I'll pass your message to [Coke]
13:10 gnufr33dom joined
[Coke] Ugh. got a ballot which causes my tally script to crash. Fun. 13:19
tellable6 2020-09-08T13:07:55Z #raku <tbrowder> [Coke] why in tally.raku did you use "<(.*)>" instead of "(.*)" to get the user id?
[Coke] tbrowder: because I want that to be the capture, just the ID.
tbrowder but isn't that already accounted for with the surrounding '@(' and ')'? 13:23
[Coke] ah, crud. Email::MIME expects you to give a Str to work with... with a message encoded in something that isn't utf8, that's not a Str...
tbrowder: those are literals.
I want to match the literal, but not include them in the match
so given @(hi), I just want "hi", not "@(hi)" to be the match. 13:24
phrasing is off there. I want them to *match*, but then not be in the *result*
tbrowder right, but that should happen without the <> shouldn't it? 13:25
13:27 Sgeo joined
tbrowder m: my $s = '@(foo)'; if $s ~~ /'@(' (*.) ')'/ { say "id = '{~$0}'"} 13:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3my $s = '@(foo)'; if $s ~~ /'@(' (*7⏏5.) ')'/ { say "id = '{~$0}'"}
13:28 tejr left
tbrowder erg revers . and * 13:28
m: my $s = '@(foo)'; if $s ~~ /'@(' (**) ')'/ { say "id = '{~$0}'"} 13:31
camelia 5===SORRY!5=== Error while compiling <tmp>
Quantifier quantifies nothing
at <tmp>:1
------> 3my $s = '@(foo)'; if $s ~~ /'@(' (**7⏏5) ')'/ { say "id = '{~$0}'"}
tbrowder m: my $s = '@(foo)'; if $s ~~ /'@(' (.*) ')'/ { say "id = '{~$0}'"}
camelia id = 'foo'
tbrowder \o/
[Coke] you're referring to $0 after. I'm referring to $/ 13:32
13:32 tejr joined
codesections m: my $s = '@(foo)'; if $s ~~ /'@(' <(.*)> ')'/ { say "id = '$/'"} 13:33
camelia id = 'foo'
tellable6 2020-09-07T14:17:20Z #raku <tbrowder> codesections see raku/problem-solving issue on a raku blog site. i mentioned yr name there.
2020-09-07T14:20:37Z #raku <tbrowder> codesections also check forum at getzola.org for a rec for a theme for multi-blog-author zola site
13:33 andrzejku left
tbrowder correct 13:37
[Coke] ah. easy fix on the utf-8 issue, just add a parameter to slurp. all the actual bytes I care about are ASCII, so this is all fine. :) 13:38
13:38 MilkmanDan left
[Coke] tbrowder: so does that cover your question? 13:38
13:38 MilkmanDan joined
tbrowder well, does either way work in your code? if so, that satisfies me. i'm just not used to using your syntax except in heavier grammar stuff. 13:40
that was my basic question: is there a special need for that syntax 13:41
Geth Raku-Steering-Council/main: a206947960 | Coke++ | scripts/tally.raku
Handle non-utf8 emails
Raku-Steering-Council/main: 01d7d907ed | Coke++ | scripts/tally.raku
Add quiet option

  -q hides list of emails
[Coke] *need*? no, you can do it either way
there we go, tally script working again: 17 ballots reporting 13:43
codesections m: say '@(foo)' ~~ /'@(' (.*) ')'/ 13:44
camelia 「@(foo)」
0 => 「foo」
codesections m: say '@(foo)' ~~ /'@(' <(.*)> ')'/ 13:45
camelia 「foo」
codesections tbrowder: I think of it more about semantics/expressing my intent. 13:46
tbrowder ok, thnx
that's fair enough :-D
rypervenche tbrowder: I suppose if you need the @() later on at any point, then using your way would be better.
codesections the expression with `(…)` returns a match *and* a sub-match; the one with `<(…)>` just returns a match. If I want to throw away part of it, it feels cleaner to do that at the start and not return the outer match 13:47
imo, of course
MasterDuke if you're matching some large text, it might be more efficient not to have to carry it around. but that seems likely to be a micro-optimization
rypervenche It's also more things to remember as you're not capturing exactly what you want/need. 13:48
codesections rypervenche: exactly. By keeping the @(), I'd read that as implicitly saying "I might need this later". By *not* keeping it, the code is guarenting we *don't* need it later 13:49
(that grammar was all sorts of messed up, but I think my meaning survived) 13:50
rypervenche Reminds me of Bruce Gray's talk where he said "write what you mean", in reference to 'a' ^..^ 'z' instead of writing 'b' .. 'y'.
tbrowder well, for a one-finger typist, my method saves 2 chars 13:56
rypervenche Rather, "say what you mean versus what you almost mean".
codesections tbrowder: :D only on the front end, though -- you lose at least one of those keystrokes and maybe more when using the match :) 13:58
m: if '@(foo)' ~~ /'@(' (.*) ')'/ eq 'foo' { say "got a 'foo'" } 13:59
camelia ( no output )
codesections m: if '@(foo)' ~~ /'@(' <(.*)> ')'/ eq 'foo' { say "got a 'foo'" } 14:00
camelia got a 'foo'
codesections m: '@(foo)' ~~ /'@(' (.*) ')'/; if $0 eq 'foo' { say "got a 'foo'" } 14:01
camelia got a 'foo'
14:09 BenGoldberg joined 14:10 aluaces left
[Coke] If you're planning on voting for RSC, please don't wait until the last minute. 14:21
Do we have a ballpark on how many distinct voters we have? (over the various repos on the announcement) ? 14:23
Geth Raku-Steering-Council/main: 22c3131d79 | Coke++ | scripts/tally.raku
Pull github id from message if present

  (Not everyone put it in brackets)
Raku-Steering-Council/main: ab9902639a | Coke++ | scripts/tally.raku
Don't include ] in ID if present
14:42 stoned75 left
codesections [Coke]: The (heavily promoted) Raku User Survey has 162 responses and obviously not all of those respondents can vote. So it's hard to imagine that there will be all *that* many votes 14:43
14:43 BenGoldberg left 14:44 stoned75 joined 14:46 Archenoth joined
[Coke] m: say 17/162 14:47
camelia 0.104938
tbrowder codesections: ah, but golfing id 14:48
*is not my style, maintenance is
14:49 natrys joined
tbrowder and yes, that takes more chars 14:49
and i don't understand why the '@(' is lost or saved based on either "capture" method in the prog it is used in 14:51
codesections tbrowder: because `<(…)>` isn't creating a capture *within* the match, it's limiting the capture *of* the match. docs.raku.org/language/regexes#Cap..._%3C(_)%3E 14:53
14:53 MasterDuke left
codesections m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*)> <.ws> 'baz'/ 14:54
camelia 「bar 」
14:56 gnufr33dom left, maggotbrain joined 15:19 ezzieyguywuf joined, sena_kun joined 15:20 Altai-man left
[Coke] m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*?)> <.ws> 'baz'/ 15:32
camelia 「bar」
tbrowder ah, yes, now i recall, thnx. 15:37
15:42 dogbert17 left
[Coke] m: say 'foo bar baz' ~~ /'foo' <.ws> <(.*!)> <.ws> 'baz'/ ## TIL about ! 15:52
camelia 「bar 」
Geth doc: 28f25acf7d | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | 2 files
Revisite (is-)implementation-detail

  - xref implementation-detail trait
  - fix pasto (trait -> method)
  - give is-implementation-detail its own section in implementation-detail
trait's description, hence nicely grouped in search results and routine page
15:54 rindolf left 16:02 MasterDuke joined 16:31 approaching236 joined, gordonfish left 16:34 dakkar left 16:46 ufobat_ joined, jzperl joined 16:50 ufobat left, skids joined 16:55 andrzejku joined 17:20 aborazmeh joined, aborazmeh left, aborazmeh joined 17:21 aluaces joined 17:22 maettu joined 17:35 BenGoldberg joined, maettu left
ezzieyguywuf I've recently (past 5 or so months) picked up functional programming in haskell. If I wanted to dip my toes in perl, specifically to write functional-style programs, would perl 6 be a good candidate? or perl 5? or is perl not a good fit? 17:41
17:42 domidumont joined
moritz ezzieyguywuf: both Raku (formerly Perl 6) and Perl 5 offer quite a few features for functioncal programming; Raku a few more than P5, if you ask me :D 17:43
codesections ezzieyguywuf: I can't speak to perl5/7, but Raku (formerly known as Perl 6) is an *excellent* fit with functional programming
ezzieyguywuf so there's a perl 7 now? 17:44
and perl 6 was renamed to raku?
moritz being discussed/developed right now
ezzieyguywuf gotcha
moritz one of the small, nice features that Raku has is a special syntax for partial application of operators
m: say (1, 2, 3, 5).map: * + 10 17:45
camelia (11 12 13 15)
codesections it's basically p5 with a few very minor changes -- it doesn't pick up any of the changes from Raku (that aren't already in p5)
ezzieyguywuf also - for your veternal perlers (rakuers?): do you find that perl (raku?) lends itself well to "production" code, i.e. writing programs that are user-facing and expected to be maintainable long-term?
moritz m: say <foo bar baz>.map: *.upper # same for method calls
camelia No such method 'upper' for invocant of type 'Str'
in block <unit> at <tmp> line 1
ezzieyguywuf i.e. let's say you wanted to write a CAD program, including 3d graphics - would you use perl for this, or would you reach for a different language?
moritz m: say <foo bar baz>.map: *.uc # same for method calls
camelia (FOO BAR BAZ)
17:46 orinthe left
ezzieyguywuf moritz: ah - haskell has that :-P 17:46
17:46 orinthe joined
ezzieyguywuf i.e, `fmap (+ 10) [1,2,3,5]` 17:46
moritz ezzieyguywuf: TBH for a CAD program, I'd look for a suitable GUI framework *before* looking into a programming language to use it; but then I've never actually written a CAD program
ezzieyguywuf moritz: I'd prefer not to use a pre-existing GUI framework due to dependency nightmares - let's say you were prepared to write the GUI stuff yourself given a adequate OpenGL library 17:47
codesections ezzieguywuf: a few functional-programming in Raku resources: docs.raku.org/language/haskell-to-p6 (a WIP), wimvanderbauwhede.github.io/articl...s-in-raku/ (and other posts on the same blog)
ezzieyguywuf codesections: thanks! 17:48
El_Che releasable6: status
releasable6 El_Che, Next release in ≈11 days and ≈1 hour. 1 blocker. Changelog for this release was not started yet
tellable6 hey El_Che, you have a message: gist.github.com/4b8dc42e7f57a33dd6...5bc4016cfd
releasable6 El_Che, Details: gist.github.com/65bf0f9f59339dafc0...f2aac7c997
codesections re: Raku as production-ready. I'd say we're not _quite_ to the point where I personally feel comfortable releasing Raku code in production but we're *really* close. 17:50
ezzieyguywuf codesections: interesting. What about perl 5? (which, I guess, is an entirely different language, right?)
codesections (My main hesitation at the moment is re: security in package management)
moritz I would have some hesitations doing a project in raku if I expected it to grow to a million lines of code 17:52
for smallish projects, no problems 17:53
El_Che by the time you write millions of line there would be a lot on new raku releases 17:54
ezzieyguywuf I expect it to grow large
dunno about millions, but then again, I don't really know that much about programming :-P
codesections Perl 5 is definitely production ready. But, like I said, I don't know how to program in perl 5 so I can't speak to that in any detail
ezzieyguywuf fro smallish projects I'd typically reach for python - I guess this is the main space in which raku competes?
Geth Raku-Steering-Council: jubilatious1++ created pull request #32:
tally.raku -- remove `@` if present in voter github_ID
codesections moritz: I'd generally agree with you re: smaller projects other than github.com/Raku/problem-solving/issues/229 and similar concerns 17:57
guifa` I think by tonight I'll have the localized exceptions template ready to be used. Just have to finish writing the updater script so I know I can reparse the localized stuff :-) 17:59
codesections exxieyguywuf: Yeah, I'd generally say Raku competes in the same space as Python, (server-side) JavaScript, Ruby, Racket, etc -- basically, Raku is a strong competitor to non-statically-typed, garbage collected languages 18:00
(I don't know why, but it sure seems like I just _can't_ spell your nick correctly; sorry about that!) 18:01
moritz codesections: use tab completion for nick names; most IRC clients have that 18:02
codesections moritz: O.o TIL
El_Che codesections: I call him maurice in my head (and mauricio on sunny days) 18:03
moritz re #229, I agree that's an issue that needs solving, but I'd also like to point out that many ecosystems don't have a proper solution either (especially when it comes to authors deleting their modules, and then name squatters coming in to reclaim the name)
codesections moritz: yeah, true. But there's a big difference between an attack that's possible when a package isn't maintained and an attack that's possible *all* the time 18:04
AlexDaniel` yeah I'm quite surprising by people saying it's not a problem and it's meant to be this way 18:06
Geth Raku-Steering-Council/main: 1cb5a54133 | jubilatious1++ (committed using GitHub Web editor) | 4 files
Merge pull request #1 from Raku/main

Update from origin (Raku/Raku-Steering-Council)
Raku-Steering-Council/main: 37537e4cc0 | jubilatious1++ (committed using GitHub Web editor) | scripts/tally.raku
remove `@` if present in voter github_ID
Raku-Steering-Council/main: cccee605a3 | (Will Coleda)++ (committed using GitHub Web editor) | scripts/tally.raku
Merge pull request #32 from jubilatious1/main

tally.raku -- remove `@` if present in voter github_ID
moritz we really need some way to to tie authentication to an "auth"
El_Che rakudo-pkgs released (the relocatable build were blocking, but a woraround was found) 18:07
codesections moritz: agreed. That plus forbidding ambiguous shortnames in META6.json would be enough to solve the issue 18:08
sena_kun El_Che++
codesections (or shortnames entirely, which is obviously a superset of "ambiguous shortnames") 18:09
AlexDaniel` codesections: in your opinion, why is it a strong competitor?
18:09 BenGoldberg left
El_Che I would love to see a solution like on go: link to a repo *tag* directly (resposability of the author) + a read only caching proxy against removal and moving of tags 18:09
everything else feels to me like overengineering with subpar results 18:10
codesections El_Che: who do you mean by "the author"? The author of the upstream package? Or the author of the downstream META6.json? 18:11
El_Che the author of the lib
he publishes it in his own repo with a tag in semantic version format
18:12 gordonfish joined
[Coke] is surprised to get a PR for tally.raku 18:13
Geth ecosystem: juliodcs++ created pull request #541:
Add BigRoot to ecosystem
[Coke] Also: 19 ballots reporting
El_Che with vendoring to add your raku-only dependencies to your repo, so you are not dependant on the network
guifa` Can you pass args to a module using -M ?
codesections Maybe I'm missing something, but that seems like it doesn't solve the problem. Here's the use case I'm concerned about: I write an application with «"depends": "Pod::To::HTML"» when there are many different packages in the ecosystem with that shortname and at least 1 is malicious. 18:15
It seems like we need to make that line fail 18:16
18:16 aborazmeh left
El_Che codesections: you denpend on github.com/foo/pod-to-html v 0.1.2 18:16
not on Pod::To::HTML 18:17
(if we're ripping off the go way)
codesections El_Che: Yeah, that would be fine with me
[Coke] I think having safe defaults is good, but we should also be encouraging people to specific an author/version/etc. to avoid that sort of thing. 18:18
18:18 jzperl left
[Coke] *specify 18:18
codesections [Coke]: yeah, agreed
[Coke] (probably should update the various META6.json files under Raku/ org to set a good example here)
Raku/doc is a good place to start. :)
AlexDaniel` or, maybe, just maybe, it shouldn't even be possible to have packages with the same name published by multiple people 18:19
18:19 cpan-raku left
El_Che I think the raku way strated from a CPAN-centric view of the world, but the world moved on in the meantime 18:20
codesections [Coke]: right now, though, there *isn't* way to be specific enough that it can't be exploited -- as moritz pointed out, there's not yet a check that a package owns the `auth` field it claims to own
El_Che *started
Grinnz AlexDaniel`: you always want to have the ability to "pass on" or let other people assist in maintenance though. hence why pause permissions work the way they do for perl
codesections (at least not without specifying an exact version, which means giving up even non-breaking bugfixes) 18:21
AlexDaniel` Grinnz: why PRs to a package registry wouldn't be a solution to that?
guifa` El_Che: did CPAN at least have people claim namespaces?
El_Che guifa`: CPAN was the best there was at the time 18:22
Grinnz it might be? just laying out some of the concerns you'll want to keep in mind
El_Che it made sense then
18:22 maettu joined
Grinnz package permissions for pause don't always transfer from one person to another. they might be continued to be held by the original author but comaint given to 7 other people. or the original author might pass on ownership but keep comaint themself to help with releases 18:23
this is all based on the model of "the first person to release this package name gets ownership of it" so i guess you have to define that assumption first 18:24
guifa` Grinnz: yeah, that's what I recalled it doing. It has some big plusses and minuses of course
In one way, it keeps some mild semblance of quality control and unambiguity of module names. But I dunno how they handled it when an author disappeared and no one else had permissions to update. 18:25
Grinnz at the highest level there are two major considerations: 1) how does one get and ensure they can keep permissions on a namespace, 2) how does one share or transfer those permissions as necessary
18:26 bocaneri left
Grinnz guifa`: documented takeover process, which involves a good faith attempt to contact the author and have them resolve it, or at least give written permission to the admins to do so 18:26
MasterDuke i was recently reading (seen on HN) someone's review of their time with Rust. iirc, one of the complaints was no namespacing, so some long-expired crates with generic names mean the name can never be used again 18:27
Grinnz that has been occasionally a problem on CPAN, but it only remains a problem if the owner of the namespace is persistent
which is rare 18:28
El_Che MasterDuke: see my full qualified module names of go
MasterDuke: where that is not an issue
MasterDuke yes, java is similar
El_Che yes, but Java predated the github era 18:29
and it sucked compared to CPAN *then*
Grinnz but one of the key concerns here is being able to assure authors that their namespace *won't* be wrested away arbitrarily, which CPAN has gone out of its way to avoid and certain other ecosystems did not do so well
something something leftpad 18:30
El_Che which is kind of a copy of cpan
AlexDaniel` looking at other languages is a good idea. Interesting github-based way of doing it in Julia, although I don't know if there's any solution to dead packages and stuff like that. github.com/JuliaRegistries/General/pulls
guifa` zef can support multiple ecosystems though, yeah? Perhaps there's a way to get the best of both worlds of the current wide-open (but potential classes and security stuff), and a semi-curated system that obliges buyin to extended names and has some of CPAN's namespace control
El_Che in raku, with multi author support, how do you choose the default lib for a name? First come, first serve? the best? The most popular would be not really fair 18:31
AlexDaniel` it also has a built-in handling of environments, which is kinda cool
Grinnz first come is really the only objective way to resolve it
(as a starting point, anyway) 18:32
18:33 Doc_Holliwould joined
El_Che then you risk having a POC, outdated or abandoned module as the default 18:33
Grinnz yes, and you need ways to resolve that, hence my second point
codesections Grinnz: It seems like the big advantage we have with Raku is the concept of `auth`. If we require `auth` in META6 and enforce that the package is hosted at the matching auth, then our `use` statments can be really concise and the first-come-first-serve work can be handled in the META6 file 18:34
18:34 dogbert17 joined, mowcat joined
Grinnz but other than "approved modules by X" where X is some group of people acting on subjective reasoning, there's no other mechanism you can use really 18:34
El_Che Grinnz: I hated that in Perl
Grinnz i'm sure many did, but it's also necessary 18:35
the ecosystem doesn't work if you can't retain ownership
El_Che Oh, I use the modules recommended by X list
Grinnz and yeah, i don't pretend to comment on how the auth mechanism in raku interacts with this - just on what is needed if you want to resolve things without specifying auth 18:36
rypervenche guifa`: Nice, I'm looking forward to seeing the localized exceptions template. I bought "Learning Perl 6" in Mandarin in case I needed any help with translating things. Just arrived :)
guifa` Oh sweet
El_Che but it's weird. I think it says to users "CPAN is full of shit, use these modules if you want good or working stuff'
the hierarchical nature of CPAN creates expectations that a small community like raku can't resolve 18:37
Grinnz i might have misinterpreted what you said you hated 18:38
18:38 sena_kun left
El_Che The lists are great, the message of their existence, less so 18:39
guifa` El_Che: I've thought about making a curating website that gives an overview of different module choices for different tasks in Raku. So for makin roman numerals, it'd list all the different options, and make mention that Numerals::Roman (made up name) is super light weight with no overhead, and Intl::Format::Number is powerful, but probably overkill. And if Numerals::FancyFormat and Numerals::Roman have matching APIs, mention that too
Grinnz i was more subtweeting the registered modulelist which was a failed attempt in perl to have "approved" modules for certain namespaces
El_Che guifa`: it would be a great resource, but it won't scale 18:40
github star is something a lot of people use to quickly evaluate libs for other langs
Grinnz having curation is great, but you can't make the curation canonical
and you can't rely on it
guifa` Grinnz: yeah, that list would be totally separate
Grinnz Task::Kensho is an example of a good way to do this in perl (if it was kept up to date better) 18:41
guifa` As you say, there has to be aw ay to say "this is the default module for a given identifier"
18:41 sena_kun joined 18:44 ensamvarg3 left
El_Che Anyway, as AlexDaniel` states, there is a potential security problem, but also importantly there is a reproducibility problem 18:44
Grinnz the ever tradeoff between being able to depend on a specific version for compatibility, and getting bugfixes... not an easy question 18:45
El_Che I mentioned the vendor dir in the repo as a solution for that 18:46
18:46 ufobat_ left
Grinnz in a managed repository like for a distro, people can rely on semantic versioning and tailor their requirements to that... not so much in the wild west of an unmanaged self publishing repo 18:47
El_Che however, my point is rather about getting a module fron a different author, maybe not api compatible
Grinnz sure, different implications, but same problem 18:48
El_Che the wild west is where golang uses semantic versioning
they only bump revisions 18:49
and choose the lowest compatible version
if you want to go higher you need to do that your self 18:50
guifa` rypervenche: as soon as I get the updater script done, I'll commit to github and you'll be able to start ^_^ initially you'll want to run the updater script fairly often because I keep finding oddities in the Exceptions' .message that need special treatment
El_Che golang.org/ref/mod#versions 18:51
guifa` I'm probably going to end up doing a big PR for Exceptions based on a lot of it, including making some new subclasses
El_Che I would like to have a look at how other languages solve the same problems
AlexDaniel` actually, a comment listing package systems of other languages and their notable solutions… wow I'd like to see that 18:55
not sure if it's going to help but damn that'd be interesting
like maybe a table or something, see this for inspiration: github.com/perl6/user-experience/issues/19 18:56
18:57 mowcat left
El_Che AlexDaniel`: it would be top hit on HN :) 18:58
AlexDaniel` well, just having links and some short comments can be very helpful, and that wouldn't be HN-worthy 19:00
don't know if that's good or bad :D
19:01 gordonfish left, gordonfish joined 19:03 maettu left 19:06 mowcat joined 19:16 finsternis left 19:18 Altai-man joined 19:21 sena_kun left 19:24 stoned75 left 19:25 andrzejku left 19:34 andrzejku joined 19:39 mowotter joined
Geth ecosystem: 03bb646e9f | (Ramiro Encinas)++ (committed using GitHub Web editor) | META.list
Add System::Stats::DISKusage to ecosystem

See github.com/ramiroencinas/System-Stats-DISKUsage
19:40 mowcat left 19:42 molaf__ joined
rypervenche I wonder if we could get some of the source code from Comma to help with writing other lexers. 19:47
[Coke] someone sent in a ballot with a github ID that is purely numeric. Is that a thing? 19:57
(If I go to github.com/dddddddd it's a 404 19:59
rakudo & MoarVM part of the "Artic Code Vault" on github. (I got a badge for it?) 20:01
20:02 stoned75 joined
MasterDuke saw something on HN about it recently. i think github took a bunch of open source code and etched it into crystals and stuck it in a vault. like has been done with seeds 20:02
codesections Yeah, and they were pretty extensive about what they put in the vault (I had contributed to three Rust projects that were included, and none were exactly core to that ecosystem) 20:07
timotimo that's nice 20:08
let's hope interstellar societies get to unearth the vault before the sun swallows up our little earth bean
El_Che As a non-microsoft fan, my badge shows 2 ms repos I contributed to when you over it 20:13
20:18 domidumont left
codesections Is there any particular reason why `Test` has `isnt` and `unlike` but no negations for any of the others? (E.g, no `isn't-deeply`, etc) 20:20
And, while I'm at it, why isn't `isnt` `isn't`?
[Coke] some of that may be historical (since parts are based off p5) 20:25
20:27 MilkmanDan left, MilkmanDan joined
Grinnz in p5 isn't is actually a fully qualified function call to isn::t, which Test::More makes work anyway, but nobody owns isn:: 20:29
also, don't use it :P 20:30
AlexDaniel` [Coke]: numeric logins are a thing, but it could also be their ID. Try a link like this: api.github.com/user/5507503 20:51
actually… I… don't know if that works 20:53
that link above should return my account, and it does work when I visit it 20:54
but I tried getting other accounts with known IDs and it returns random users
20:54 stoned75 left
AlexDaniel` ah no! It works! 20:55
dumb me copied the wrong thing :)
21:00 BenGoldberg joined 21:03 natrys left 21:04 Altai-man left 21:12 albino joined 21:35 BenGoldberg left
[Coke] AlexDaniel`: ah, that's it. (user/ for the ID, users/ for the name) 21:37
AlexDaniel` I wonder how they got the number :D
I mean, it's easy to get it through the API, but it's clearly not what we meant 21:40
Geth Raku-Steering-Council/main: 6d343f5e2e | Coke++ | scripts/tally.raku
Reject malicious ballots

Someone could submit a hand-rolled ballot with multiple votes for the same person
Barry Keeling++ for noticing this gap.
[Coke] I have gotten more code review on this dumb script... :) 21:48
21:50 stoned75 joined
Geth Raku-Steering-Council/main: 51498b775a | Coke++ | scripts/tally.raku
Note failure condition in comments
21:56 vgrato_ joined 21:59 approaching236 left 22:02 aluaces left 22:06 andrzejku left 22:44 Archenoth left 23:13 Black_Ribbon joined, pecastro left 23:14 BenGoldberg joined 23:26 zacts joined 23:29 leont left 23:52 maggotbrain left 23:53 maggotbrain joined