Raku / examples

Many examples of Raku code
https://examples.raku.org/
Artistic License 2.0
294 stars 89 forks source link

Redefine / clarify purpose of examples #73

Open camstuart opened 3 years ago

camstuart commented 3 years ago

See also @Altai-man's comment: https://github.com/Raku/examples/issues/57#issuecomment-681904542

The examples directory requires attention. I am in the process of bringing file extensions (see also #72) and shebangs inline with current Raku conventions. But further attention is required to tidy up these examples, and repair publishing.

At a high level, my view is the Raku/examples directory should:

Commencing with the cookbook:

I propose further cookbook style recipes that offer typical programming activities and how they might be solved in Raku. Including multi paradigm examples, and alternative approaches to achieve the same result to ensure the TIMTOWTDI mindset can continue to prosper.

Currently, the Raku/examples/cookbook is a "tip of the hat" back to the excellent Perl Cookbook.

This is fantastic for Perl 5's posterity and certainly something we should continue maintain, however it fails to showcase Raku's capabilities that make it a more modern language. For one example, concurrency. One area among others that most certainly should have multiple cookbook recipes.

TODO:

Continue to maintain and enhance the existing cookbook examples:

JJ commented 3 years ago

Test::Script::Output is designed to help with testing, but you might want to use anything else. I released that to test the examples in my "Perl 6 Quick Syntax Reference" book.

Altai-man commented 3 years ago

Hi, thanks for bringing some attention to this issue! I will now provide some "historical" context to the question.

Originally, since maybe last winter I was interested in re-vitalizing of this repo. There is an enchance/enhance (not sure if I did a typo there now) branch which has some cleanup and contains maybe half-finished porting to Cro done.

There was even a proposal made, https://gist.github.com/Altai-man/b0d23ec59c4a5bc32b2d5137cddf3bc9 <- this one.

However, some sane arguments were provided by AlexDaniel at https://colabti.org/irclogger/irclogger_log/raku-dev?date=2020-06-15#l37 <- please, read the whole conversation.

1)About "make examples be useful and tied with docs" <- why not just improve docs? 2)If a cookbook is needed, there is https://uzluisf.gitlab.io/raku-by-example/ <- just contribute to the repo, promote it, improve it?

There were also points made like those ones:

So in the end I just abandoned this idea and spent my resources on making a new UI for docs, which is for now WIP.

With all the above, I have no ideas on how to utilize this repo for the great good, really. "Make it source of new integration of tests" - everything should be in roast/rakudo. I would just archive it, but if anyone has some bright ideas on how to make it cool, that's inspiring and I can try to help with it.

JJ commented 3 years ago

Well, my idea is simply ensure examples here work.

camstuart commented 3 years ago

Lol, yes a lot to take in!

@Altai-man & @JJ are you happy then if I work through this repo and do two things:

We can discuss further in the background the future of this repo while I do that.

And then to @Altai-man's point, even if this gets archived, it is done so in a clean state. If not, @JJ can either hand over, or work with me on CRO / deployment / hosting of the examples if we feel that is the appropriate path to take.

JJ commented 3 years ago

El lun., 31 ago. 2020 a las 10:13, Cam Stuart (notifications@github.com) escribió:

Lol, yes a lot to take in!

@Altai-man https://github.com/Altai-man & @JJ https://github.com/JJ are you happy then if I work through this repo and do two things:

  • Update as Raku and remove Perl6 stuff
  • Ensure all code is working, documented, tested

Looks like a plan.

We can discuss further in the background the future of this repo while I do that.

And then to @Altai-man https://github.com/Altai-man's point, even if this gets archived, it is done so in a clean state. If not, @JJ https://github.com/JJ can either hand over, or work with me on CRO / deployment / hosting of the examples if we feel that is the appropriate path to take.

I can guide or help you, but I've got a lot to take already, I'm afraid... I'm happy anyway with them residing in this repo.

Altai-man commented 3 years ago

Update as Raku and remove Perl6 stuff

Feel free to steal work from enchance branch, it is already done there.

it is done so in a clean state.

Fair enough.

ghost commented 3 years ago

Where can I see example with a test covered, with good docs et cetera? So called example for create example (kha-ha).

Altai-man commented 3 years ago

@Lenin1917 for what purpose? As a reference, something like https://github.com/Raku/examples/blob/enchance/categories/parsers/CSSGrammar.raku plus https://github.com/Raku/examples/blob/enchance/t/categories/parsers/CSSGrammar.t

ghost commented 3 years ago

@Altai-man to know what you mean when you write about improving this repo.