Sign inSign up

100hellos/raku

By 100hellos

•Updated 4 months ago

"Hello World!" Written in raku

Image
0

5.3K

100hellos/raku repository overview

⁠Hello World! From raku.

Language page⁠ — context, influences, and learning notes on the 100hellos site.

Source on GitHub⁠ (100hellos/raku)

⁠Trying it

docker run --rm --platform="linux/amd64" 100hellos/raku:latest

⁠Modifying it

Read the repo README⁠, or fork the project⁠ and customize it.

For an interactive shell:

docker run --rm --platform="linux/amd64" --entrypoint="" -it 100hellos/raku:latest zsh

⁠Raku

Raku is a language that evolved out of Larry Wall and co's goal of developing a next generation language to succeed Perl 5. Originally dubbed Perl 6, the changes from Perl 5 became so significant that the decision was made to rename the language to avoid confusing potential users. As noted in Wikipedia⁠:

An implication of these goals was that Perl 6 would not have backward compatibility with the existing Perl codebase. This meant that some code which was correctly interpreted by a Perl 5 compiler would not be accepted by a Perl 6 compiler. Since backward compatibility is a common goal when enhancing software, the breaking changes in Perl 6 had to be stated explicitly. The distinction between Perl 5 and Perl 6 became so large that eventually Perl 6 was renamed Raku.

Raku's lineage as a Perl successor is made obvious by its use of distinctive language features like sigils, the use of "my" and "sub" for defining local variables and functions, and so forth. However, the language diverges significantly, including introducing a type system, formal parameter passing lists for functions (in Perl parameters can be passed implicitly through the @_ variable), and an advanced class system supporting multiple dispatch and other features.

Raku also builds on Perl 5's inclusion of regular expressions in the core language by introducing a built-in, full-blown lexing and parsing system referred to as rules⁠, making Raku, like Perl 5 before it, uniquely well suited to text processing.

The included example program demonstrates the definition of a basic class with instance variables, as well as class instantiation, method invocation, parameter passing, and string interpolation.

Tag summary

Content type

Image

Digest

sha256:6f17523c6…

Size

56 MB

Last updated

4 months ago

docker pull 100hellos/raku