[03:58] can someone point me to a tutorial on best practices for incorporating pod6 into a module? Should I put my documentation right into the code? I used dist::zilla in perl. Ideally, I'd like to generate the README from the pod. [03:59] i would typcilly put the doc after an __END__ directive [04:00] i would typcilly put the doc after an `__END__` directive [04:28] getting errors when running `zef install rakudoc` on macos monterer [04:28] getting errors when running `zef install rakudoc` on macos monterey [04:29] ``` [04:29] ===> Testing: rakudoc:ver<0.2.4>:auth:api<1> [04:29] [rakudoc] # Failed test 'Gist looks okay' [04:29] [rakudoc] # at t/04-compunit.t line 23 [04:29] [rakudoc] # expected a match with: / '/site' .* 'File::Temp' / [04:29] [rakudoc] # got: "Doc /Users/steve/.zef/tmp/69f79c4c08341b8e5afcc414585cea34083ec4f5.tar.gz/dist File::Temp" [04:29] [rakudoc] # You failed 1 test of 3 [04:29] *** discord-raku-bot left [04:29] *** discord-raku-bot joined [04:54] https://github.com/Raku/rakudoc/issues/12 [04:54] any way to fix this? [07:57] i think it works mostly fine, it just doesn't pass all the tests. you could try `zef install --/test rakudoc` [14:13] *** Manifest1 joined [15:08] *** discord-raku-bot left [15:09] *** discord-raku-bot joined [16:19] ok, thanks MasterDuke, it's installed now [16:19] \bots [16:19] *** discord-raku-bot left [16:20] *** discord-raku-bot joined [16:24] so, along the maturational evolution of programming languages (fancy words there), where would Raku be in comparison to Perl (the language I'm most familiar with). Is it at Perl 4? Perl 5? Perl 5.10? Let's leave out infrastructure/toolchain to keep things simpler. [16:39] I mean, Raku _is_ Perl 6 [16:39] that was its original name [16:40] Nemokosch: yes, and that was its original intent, to be the next Perl [16:40] unfortunately, that turned out to be an unachievable goald [16:40] hence the rename to the Raku Programming Language [16:41] TimToady sees Raku as a re-imagination of their original ideas that formed Perl [16:42] much like "Lord of the Rings" was a re-imagination of "The Hobbit": bigger, fewer raw edges, and fewer plot holes [16:42] Yes, I get that. But let's assume perl 6 in 2000 is equivalent to perl in 1986. [16:44] What does the question mean, then? [16:46] it means how much has Raku matured between 2000 and 2021, compared to perl in 1986 to perl in ____? [16:47] 37 [16:49] as in 2037? [17:10] I think she is saying the question doesn't really make sense (?), so an answer like "37" is as good as any(?) [17:14] I've been going through some "Learning Raku" materials, and what I have figured out is that it's relationship to Perl 5 /as a language/ isn't that much stronger than its relationship to many other languages as far as pulling good ideas. I see Ruby stuff I recognize, etc... But it's so much more. I'm a fan of Perl 5, but I think decoupling itself from Perl is a good thing; this language is exciting. [17:15] Getting past the comparisons to Perl can only be good; it's a distraction from Rakus sweet sweet style. [17:17] In my head "sweet style" is said in the voice of Morris Moss from the IT crowd. [17:26] all languages go through a maturation process. so I'm not sure why the question doesn't make sense. Perl 5 was much more mature than Perl 4, for example. [17:30] so far, from what I can tell, there are some rough edges as far as getting everything smooth on macos. so that tells me it's got some basic maturing to go through. but that's only one data point which isn't enough. so i'm trying to gauge overall where the project is at using perl as a reference. [17:32] the version I installed with brew is from back in april. It seems to not work at all when trying to load a simple module. so I had to use the binary from this december which did fix things up. [17:32] the version I installed with brew if from back in april. It seems to not work at all when trying to load a simple module. so I had to use the binary from this december. [17:34] State of maturity would be a long discussion, what doesn't make sense to me is the attempt to use past Perl maturity as a comparison. Apples to off-road tires. [17:35] I'm most familiar with Perl so that's why I'd like to use it as a reference. [17:35] Making sense in your head might seem comfortable and familiar, but it wouldn't have any basis in reality. [17:36] so a less mature language would have glaring obvious bugs, a more mature one would have most of the bugs hidden under the covers [17:37] Perl was different. The goals were different. the world was different. Computers were different. The community was different. [17:37] I think all languages have points/characteristics in common [17:38] they all have bugs [17:38] they all have toolchains [17:38] they all have a big picture road map [17:38] I think we are talking past each other. [17:39] you could compare perl to lisp if you wanted [17:40] totally different languages for totally different purposes but they still need the same standard ingredients [17:40] for example: speed. perl today is much faster than it used to be. raku today is not as fast as it will be next year. [17:41] that's one way to measure the maturity of the language [17:42] or I could compare it to a painting or any large project. If I'm building a skyscraper, is the foundation done? Are the windows in? is the concrete poured? Is the plumbing done? I can compare a house to a skyscraper even though they are for very different purposes. [17:44] stevied: perhaps https://raku-advent.blog/2021/12/25/future-proofing-the-raku-programming-language/ can create some enlightenment [17:53] I still don't see how pretending Raku wasn't meant to be Perl 6 when asking about "maturing" makes sense [17:54] It only creates confusion [17:55] How does Raku relate to Perl 5? It's the redesign of it and that's that. [17:57] it's pretty much a new language with a new toolchain, new community, new guts, etc. [17:58] indeed, it was intended to be the next version of Perl, but as such was rejected by the Perl community: and now it's called Raku [17:58] which still makes it a language intended to be the next version of Perl in all but the name [17:59] Sure thing [17:59] but there is no other reasonable answer to a question like this [17:59] so far, to me, a lot of it is familiar but some of it is very foreign. [17:59] if we want to place Raku in the context of Perl, it can be nothing but "Perl 6" [17:59] anything else would be a nonsense [18:00] stevied some of it may be foreign, because it was appropriated from other languages [18:00] but in true Perl spirit, as Perl appropriated stuff from quite a few other languages as well [18:01] well, i'm familiar with ruby so some of that makes it familiar, too [18:01] but like "grammars," I have no idea what that is [18:01] ruby was based someone on perl, too [18:01] PHP too, among like 5 other randomly picked languages 😄 [18:01] my on concern so far is that perl got knocked for there being too many way to do it. with raku, it seems like there are even more ways to do it. but I know nothing about developing languages but this thought is in mind. [18:03] my one concern so far is that perl got knocked for there being too many way to do it. with raku, it seems like there are even more ways to do it. but I know nothing about developing languages but this thought is in mind. [18:03] I think this is "too" deep-rooted in the community, it's mainly a core principle at the end of the day [18:05] I would almost say that pure Raku (just like Perl) is more a language for individual creators than big enterprises - but tbh frameworks define this much more than the language [18:05] when you say frameworks, do you mean Cro? Are there others? [18:07] TMTOWTDI is, I think, just a clever way of saying "extremely expressive", and, perhaps, is part of the multi-paradigm capability. The people who have a problem with expressiveness have alternatives, and they are welcome to them. [18:10] sure. I'm just saying I wonder if that might hinder its ability to grow really huge (the next Python) or will be used mostly be people who just love to program their own personal projects. I mean, I don't really care, I'm just curious. I got no skin in which programming language is considered to be "the best". [18:12] I guess I do care in that I'd love to see many, many more modules written. [18:12] It has strengths one may not think of initially... For example, I have some Ruby code I wrote a while ago that my company relies on. I plan to re-factor it in Raku, but the expressiveness will allow me to write it in such a way that it can retain familiarity to the other guys who know Ruby. I think this is an example of how TMTOWTDI can help with adoption. Maybe I'm a strange case. [18:13] Yes, the depth of the module ecosystem will, in many ways, correlate to professional adoption. [18:14] Be sure to cheer on the authors of your favorite modules. [18:14] yeah, from what I've seen (and maybe I've watched to many Damian Conway videos), it can do amazing stuff. But I'm guessing you really have to be a really practiced programmer to get to that level. [18:15] well, I'll do what I can to fill the gap. but I'm really only an intermediate programmer. [18:16] I meant in any language [18:16] Again, that's a strength if you don't let it get to you... You can write simple Raku (baby Raku), or get deep. Just remember that nobody is judging you for not writing the most amazing idiomatic code there is. I know it won't come from me, but I still manage to be useful. [18:17] By the way, yes, actually, I was also thinking about the timtowdi thing as a possible reason of the fall of Perl [18:17] as I'm learning Raku, I do find myself almost crippling in the urge of finding the "most elegant" solution [18:17] this is not something you would experience in Java or even Python [18:17] right. I wrote a simple little module to get my feet wet. But I'd love to be able to write something like Net::OpenSSH in raku. [18:18] this urge to "prove yourself" [18:18] I actually kind of think that one "problem" Raku has is that its community is made up of too many extremely high-caliber developers. [18:19] Nemokosch: I'm the same way. It's an urge I try to limit. It can lead to paralysis. [18:19] yeah, I think that just comes with practice. I go through the same thing. It can slow you down a lot. [18:19] it's probably more efficient to release kind of shit code and move on and slowly pick up tricks over time [18:20] like with Advent of code, it's part of the reason I stopped [18:20] like, it's kind of dumb to pick up a guitar and try to learn jimi hendrix licks [18:21] Yeah, but that's what's going through the mind of someone learning guitar for the first time! Apropos comparison. [18:22] because I half consciously refused to just implement some basic imperative algorithms [18:22] but found no way to get around lol [18:22] no easy way at least [18:24] I started to feel I'm actually trying to write Erlang, the only difference being that I think Erlang is a waaay simpler language [18:24] also, something half-related [18:24] Raku doesn't really have pattern matching the way you would expect [18:24] it has something that hints that it _could have been implemented reasonably_ [18:24] but it's not the real thing, to make it worse, rather counter-intuitive if you start from anything that does work like usual pattern matching [18:24] I have already complained about this a couple of times [18:26] i wrote my first regex in raku the other day. I would first try something that would work in perl and then the compiler through a very helpful error message: "no, you do that this way" [18:26] I thought that was pretty great [18:26] threw [18:26] I have that regex and grammars book, but I'm not there yet. [18:27] The error messages bring a smile to my face. One more thing I point to when people ask me "why did it take so long to develop?" Because awesome like this doesn't happen quickly. [18:28] yeah, the very useful error messages told me thought went into it [18:28] yes, compiler messages are indeed great [18:28] tbh it's almost certain that when you get a vague error message, it's actually a bug 😄 [18:28] that's my experience at least [18:29] Bruce Gray (Grey?) said that is a bug because it's Less Than Awesome (LTA) in one of his talks. [18:30] You LTA? You a bug. [18:30] seems like a good philosophy [18:32] Bruce Gray is great [18:34] anyway, I meant really - vague error messages usually belong to borderline scenarios that are possibly faulty [18:43] It just pisses me off when people say "Well, this other language was developed so much faster!", and I'm like, yeah, but look at it. Dug out Canoe vs aircraft carrier. People are silly. [19:17] well, here's my first proposed contribution to the cause: https://github.com/sdondley/Mac-Applications-List [19:18] I haven't submitted it yet to the "ecosystem". If someone can take a quick gander and make sure it's at least past laughably bad, I'd appreciate it. [19:18] \o/ [19:19] oops, looks like i got some cruft in the file system. will clean that up. [19:20] never seen a .precomp directory before. will have to google that [19:21] it's where rakudo stores the precompiled bytecode [19:21] ah [19:21] so should I throw that in .gitignore? [19:22] i believe if you did something like 'raku -I lib <...>' it puts them there. i think if you do `raku -I . <...>` it'll keep them in your ~/.raku, but you're really need to check with nine or ugexe to be sure [19:23] and yeah, they don't really belong in a repo [19:24] I don't remember running those commands [19:24] or maybe `zef test`, etc [19:26] I'm sure my function here could be improved: https://github.com/sdondley/Mac-Applications-List/blob/main/lib/Mac/Applications/List.rakumod [19:26] but it works so I guess it's good enough for now [19:26] that could probably be done in 3 lines or something [19:28] oh, I forgot to do a test for the equivalent of this: https://perldoc.perl.org/variables/$%5EO [19:30] looks like this is it: https://docs.raku.org/routine/osname [20:26] is it ok to upload a module to p6c and cpan? [20:27] sure. if you don't already know, for cpan you have to have a PAUSE account, but for p6c just raise a PR adding it to the list [20:28] yes, I have a cpan account already [20:28] where do I do the PR? [20:28] nvm, I see it [20:28] https://github.com/Raku/ecosystem [20:29] btw, did you use any of the module authoring tools (e.g., App::MI6)? [20:30] no, wanted to do this by hand to get familiar with it. I intend to look into that next. [20:32] ah, just wondering if they automatically add .precomp to .gitignore, seems like it would be a useful thing for them to do (i haven't used any either) [20:33] so now I edit this list here I guess: https://github.com/Raku/ecosystem/blob/master/META.list [20:34] yep [20:38] https://github.com/Raku/ecosystem/pull/600 [20:38] all set. who do I talk to about collecting my check? [20:40] i think you're supposed to stand in front of a mirror in the dark and say "there's more than one way to do it" three times and larry wall appears with your compensation [20:40] collected [20:42] should that ritual involve the lashing of oneself? [20:55] how does one find the raku modules on metacpan? [20:57] if by lashing you mean tie() oneself to something to receive a bless()ing, then yes. re metacpan, no idea [20:57] and where are most people putting their raku modules these days? [20:57] the fez/zef ecosystem is the new hotness [20:57] oh ok, because the docs recommend uploading to cpan [20:58] fez is pretty new, might be worth raising an issue or pr in the docs repo to include a mention of it [20:59] when does my module show up here? https://modules.raku.org/search/?q=Mac [20:59] I think the docs did mention it [20:59] i think the list is indexed once an hour [21:01] oh, looks like I'm confused, as usual [21:01] I used fez. that's different than the p6c ecosystem? [21:01] I'm looking at https://docs.raku.org/language/modules [21:03] what is an "ecosystem" anyway? how is that different than a "module repository?" [21:03] yeah, the terms are used a bit interchangeably [21:04] I see "the ecosystem" as what is listed at raku.land and modules.raku.org [21:05] so is there an easy way to scan cpan/p6c/zef for raku modules? [21:05] or are the isolated from one another? [21:05] and when I go to https://modules.raku.org, which ecosystem am I looking at? [21:11] stevied: all 3 of them [21:11] same for raku.land [21:21] oh, awesome. [21:21] ooh, raku.land. haven't seen this site yet [21:23] yeah, new to me too. [21:23] is this the same as modules.raku.org [21:23] the stats page answers my questions [21:24] except what is 6, 6.c, 6.d, 6.e. I know they are version numbers but I don't understand the significance. [21:24] different format, though [21:25] Bailador is second most popular; but is unmaintained. Sounds like an opportunity(?) [21:25] raku language version [21:26] well, we are on track to beat 2021 handily [21:26] modules.raku.org is the "old" one, raku.land is the new one, built entirely on raku [21:26] noice [21:26] how do those version numbers correspond to v2021.12? [21:27] v2021.12 is a rakudo (the compiler) version number [21:27] m: say $*RAKU.version [21:27] rakudo-moar 0935f5b25: OUTPUT: «v6.d␤» [21:27] m: say $*RAKU.compiler.version [21:27] rakudo-moar 0935f5b25: OUTPUT: «v2021.12.33.g.0935.f.5.b.25␤» [21:28] and v6.d is what? the specification number? [21:28] yeah. like C99, FORTRAN77, etc [21:28] ok [21:29] is there a code repo for the raku.land site? [21:30] nm, duh.... [21:30] thowe: follow the link "Git" at the left bottom [21:30] so rakudo compiles the source code (written to conform to a certain specification) and MoarVM runs the resulting bytecode, is that right? [21:31] Croooooooooo! (MST3K reference) [21:31] correct. there are also JVM and JS backends, though those aren't as complete [21:32] I imagine I need to make sure that my version of Rakudo is new enough to compile the latest version of Raku code? [21:33] that helps :-) [21:33] yes, but v6.d was released a while ago now, so almost any rakudo you can get should be fine [21:34] like, if I want to write code in 6.e, the v2021.12 compile may not do it? [21:34] Oh, I see. Rakudo implements a particular specification [21:36] the heck is "MONKEY-TYPING" ? [21:36] so I see some modules are written in 6.e. but I don't see which version of rakudo can compile that. [21:38] actually, it's just one module: https://raku.land/stats maybe it's just a typo in the module [21:38] ok, well, anyway, the clouds are starting to lift a bit [21:38] thanks [21:38] m: use 6.e.PREVIEW [21:38] rakudo-moar 0935f5b25: OUTPUT: «===SORRY!=== Error while compiling ␤Undeclared routine:␤ use used at line 1 (in Raku please use "v" prefix for pragma (e.g., "use v6;", "use v6.c;") instead)␤␤» [21:38] m: use v6.e.PREVIEW [21:38] rakudo-moar 0935f5b25: OUTPUT: «Don't know setting RESTRICTED␤ at gen/moar/ModuleLoader.nqp:249 (/home/camelia/rakudo-m-inst-1/share/perl6/lib/Perl6/ModuleLoader.moarvm:previous_setting_name)␤ from gen/moar/ModuleLoader.nqp:254 (/home/camelia/rakudo-m-inst-1/share/perl6/lib/…» [21:40] error is just a camelia restriction, but that's how you'd see if the compiler supports (at least some of) 6.e [21:40] what happened to 6.a/b? [21:42] m: use v6.a [21:42] rakudo-moar 0935f5b25: OUTPUT: «Don't know setting RESTRICTED␤ at gen/moar/ModuleLoader.nqp:249 (/home/camelia/rakudo-m-inst-1/share/perl6/lib/Perl6/ModuleLoader.moarvm:previous_setting_name)␤ from gen/moar/ModuleLoader.nqp:254 (/home/camelia/rakudo-m-inst-1/share/perl6/lib/…» [21:43] ugh. they were "beta" releases, and since the initial release happened on christmas 2015, it was called 6.c. though i may have the details wrong, i wasn't involved at the time [21:54] v6.a was alpha and never really existed. [21:55] ok, thanks