stevied 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:58
i would typcilly put the doc after an __END__ directive 03:59
i would typcilly put the doc after an `__END__` directive 04:00
getting errors when running `zef install rakudoc` on macos monterer 04:28
getting errors when running `zef install rakudoc` on macos monterey
``` 04:29
===> Testing: rakudoc:ver<0.2.4>:auth<github:Raku>:api<1>
[rakudoc] # Failed test 'Gist looks okay'
[rakudoc] # at t/04-compunit.t line 23
[rakudoc] # expected a match with: / '/site' .* 'File::Temp' /
[rakudoc] # got: "Doc /Users/steve/.zef/tmp/69f79c4c08341b8e5afcc414585cea34083ec4f5.tar.gz/dist File::Temp"
[rakudoc] # You failed 1 test of 3
04:29 discord-raku-bot left, discord-raku-bot joined 04:54
any way to fix this?
MasterDuke i think it works mostly fine, it just doesn't pass all the tests. you could try `zef install --/test rakudoc` 07:57
14:13 Manifest1 joined 15:08 discord-raku-bot left 15:09 discord-raku-bot joined
stevied ok, thanks MasterDuke, it's installed now 16:19
16:19 discord-raku-bot left 16:20 discord-raku-bot joined
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:24
Nemokosch I mean, Raku _is_ Perl 6 16:39
that was its original name
lizmat Nemokosch: yes, and that was its original intent, to be the next Perl 16:40
unfortunately, that turned out to be an unachievable goald
hence the rename to the Raku Programming Language
TimToady sees Raku as a re-imagination of their original ideas that formed Perl 16:41
much like "Lord of the Rings" was a re-imagination of "The Hobbit": bigger, fewer raw edges, and fewer plot holes 16:42
stevied Yes, I get that. But let's assume perl 6 in 2000 is equivalent to perl in 1986.
Nemokosch What does the question mean, then? 16:44
stevied it means how much has Raku matured between 2000 and 2021, compared to perl in 1986 to perl in ____? 16:46
lizmat 37 16:47
stevied as in 2037? 16:49
thowe I think she is saying the question doesn't really make sense (?), so an answer like "37" is as good as any(?) 17:10
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:14
Getting past the comparisons to Perl can only be good; it's a distraction from Rakus sweet sweet style. 17:15
In my head "sweet style" is said in the voice of Morris Moss from the IT crowd. 17:17
stevied 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:26
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:30
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.
thowe 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:34
stevied I'm most familiar with Perl so that's why I'd like to use it as a reference. 17:35
thowe Making sense in your head might seem comfortable and familiar, but it wouldn't have any basis in reality.
stevied 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:36
thowe Perl was different. The goals were different. the world was different. Computers were different. The community was different. 17:37
stevied I think all languages have points/characteristics in common
they all have bugs 17:38
they all have toolchains
they all have a big picture road map
thowe I think we are talking past each other.
stevied you could compare perl to lisp if you wanted 17:39
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.
that's one way to measure the maturity of the language 17:41
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:42
lizmat stevied: perhaps can create some enlightenment 17:44
Nemokosch I still don't see how pretending Raku wasn't meant to be Perl 6 when asking about "maturing" makes sense 17:53
It only creates confusion 17:54
How does Raku relate to Perl 5? It's the redesign of it and that's that. 17:55
stevied it's pretty much a new language with a new toolchain, new community, new guts, etc. 17:57
lizmat 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
Nemokosch Sure thing 17:59
but there is no other reasonable answer to a question like this
stevied so far, to me, a lot of it is familiar but some of it is very foreign.
Nemokosch if we want to place Raku in the context of Perl, it can be nothing but "Perl 6"
anything else would be a nonsense
lizmat 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
stevied 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
ruby was based someone on perl, too
Nemokosch PHP too, among like 5 other randomly picked languages 😄
stevied 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.
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
Nemokosch I think this is "too" deep-rooted in the community, it's mainly a core principle at the end of the day
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
stevied when you say frameworks, do you mean Cro? Are there others?
thowe 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:07
stevied 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:10
I guess I do care in that I'd love to see many, many more modules written. 18:12
thowe 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.
Yes, the depth of the module ecosystem will, in many ways, correlate to professional adoption. 18:13
Be sure to cheer on the authors of your favorite modules. 18:14
stevied 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.
well, I'll do what I can to fill the gap. but I'm really only an intermediate programmer. 18:15
Nemokosch I meant in any language 18:16
thowe 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.
Nemokosch 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
this is not something you would experience in Java or even Python
stevied 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.
Nemokosch this urge to "prove yourself" 18:18
thowe I actually kind of think that one "problem" Raku has is that its community is made up of too many extremely high-caliber developers.
Nemokosch: I'm the same way. It's an urge I try to limit. It can lead to paralysis. 18:19
stevied yeah, I think that just comes with practice. I go through the same thing. It can slow you down a lot.
it's probably more efficient to release kind of shit code and move on and slowly pick up tricks over time
Nemokosch like with Advent of code, it's part of the reason I stopped 18:20
stevied like, it's kind of dumb to pick up a guitar and try to learn jimi hendrix licks
thowe Yeah, but that's what's going through the mind of someone learning guitar for the first time! Apropos comparison. 18:21
Nemokosch because I half consciously refused to just implement some basic imperative algorithms 18:22
but found no way to get around lol
no easy way at least
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
Raku doesn't really have pattern matching the way you would expect
it has something that hints that it _could have been implemented reasonably_
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
I have already complained about this a couple of times
stevied 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
thowe I have that regex and grammars book, but I'm not there yet.
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:27
stevied yeah, the very useful error messages told me thought went into it 18:28
Nemokosch yes, compiler messages are indeed great
tbh it's almost certain that when you get a vague error message, it's actually a bug 😄
that's my experience at least
thowe Bruce Gray (Grey?) said that is a bug because it's Less Than Awesome (LTA) in one of his talks. 18:29
You LTA? You a bug. 18:30
stevied seems like a good philosophy
Nemokosch Bruce Gray is great 18:32
anyway, I meant really - vague error messages usually belong to borderline scenarios that are possibly faulty 18:34
thowe 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. 18:43
stevied well, here's my first proposed contribution to the cause: 19:17
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
thowe \o/
stevied oops, looks like i got some cruft in the file system. will clean that up. 19:19
never seen a .precomp directory before. will have to google that 19:20
MasterDuke it's where rakudo stores the precompiled bytecode 19:21
stevied ah
so should I throw that in .gitignore?
MasterDuke 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:22
and yeah, they don't really belong in a repo 19:23
stevied I don't remember running those commands 19:24
MasterDuke or maybe `zef test`, etc
stevied I'm sure my function here could be improved: 19:26
but it works so I guess it's good enough for now
that could probably be done in 3 lines or something
oh, I forgot to do a test for the equivalent of this:$%5EO 19:28
looks like this is it: 19:30
is it ok to upload a module to p6c and cpan? 20:26
MasterDuke 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:27
stevied yes, I have a cpan account already 20:28
where do I do the PR?
nvm, I see it
btw, did you use any of the module authoring tools (e.g., App::MI6)? 20:29
stevied no, wanted to do this by hand to get familiar with it. I intend to look into that next. 20:30
MasterDuke 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:32
stevied so now I edit this list here I guess: 20:33
MasterDuke yep 20:34
stevied 20:38
all set. who do I talk to about collecting my check?
MasterDuke 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
lizmat collected
stevied should that ritual involve the lashing of oneself? 20:42
how does one find the raku modules on metacpan? 20:55
MasterDuke if by lashing you mean tie() oneself to something to receive a bless()ing, then yes. re metacpan, no idea 20:57
stevied and where are most people putting their raku modules these days?
MasterDuke the fez/zef ecosystem is the new hotness
stevied oh ok, because the docs recommend uploading to cpan
MasterDuke fez is pretty new, might be worth raising an issue or pr in the docs repo to include a mention of it 20:58
stevied when does my module show up here? 20:59
I think the docs did mention it
MasterDuke i think the list is indexed once an hour
stevied oh, looks like I'm confused, as usual 21:01
I used fez. that's different than the p6c ecosystem?
I'm looking at
what is an "ecosystem" anyway? how is that different than a "module repository?" 21:03
lizmat yeah, the terms are used a bit interchangeably
I see "the ecosystem" as what is listed at and 21:04
stevied so is there an easy way to scan cpan/p6c/zef for raku modules? 21:05
or are the isolated from one another?
and when I go to, which ecosystem am I looking at?
lizmat stevied: all 3 of them 21:11
same for
stevied oh, awesome. 21:21
ooh, haven't seen this site yet
thowe yeah, new to me too. 21:23
is this the same as
stevied the stats page answers my questions
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
thowe Bailador is second most popular; but is unmaintained. Sounds like an opportunity(?) 21:25
MasterDuke raku language version
stevied well, we are on track to beat 2021 handily 21:26
lizmat is the "old" one, is the new one, built entirely on raku
thowe noice
stevied how do those version numbers correspond to v2021.12?
MasterDuke v2021.12 is a rakudo (the compiler) version number 21:27
m: say $*RAKU.version
camelia v6.d
MasterDuke m: say $*RAKU.compiler.version
camelia v2021.12.33.g.0935.f.5.b.25
stevied and v6.d is what? the specification number? 21:28
MasterDuke yeah. like C99, FORTRAN77, etc
stevied ok
thowe is there a code repo for the site? 21:29
nm, duh.... 21:30
lizmat thowe: follow the link "Git" at the left bottom
stevied so rakudo compiles the source code (written to conform to a certain specification) and MoarVM runs the resulting bytecode, is that right?
thowe Croooooooooo! (MST3K reference) 21:31
MasterDuke correct. there are also JVM and JS backends, though those aren't as complete
stevied I imagine I need to make sure that my version of Rakudo is new enough to compile the latest version of Raku code? 21:32
lizmat that helps :-) 21:33
MasterDuke yes, but v6.d was released a while ago now, so almost any rakudo you can get should be fine
stevied 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
thowe the heck is "MONKEY-TYPING" ? 21:36
stevied so I see some modules are written in 6.e. but I don't see which version of rakudo can compile that.
actually, it's just one module: maybe it's just a typo in the module 21:38
ok, well, anyway, the clouds are starting to lift a bit
MasterDuke m: use 6.e.PREVIEW
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared routine:
use used at line 1 (in Raku please use "v" prefix for pragma (e.g., "use v6;", "use v6.c;") instead)
MasterDuke m: use v6.e.PREVIEW
camelia 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/…
MasterDuke 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
stevied what happened to 6.a/b?
MasterDuke m: use v6.a 21:42
camelia 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/…
MasterDuke 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:43
gfldex v6.a was alpha and never really existed. 21:54
stevied ok, thanks 21:55