Raku is a high-level, general-purpose, and gradually typed programming language. Raku is not tied to a specific programming paradigm; it supports procedural, object oriented, and functional programming.
The reference implementation of the Raku programming language has several major components:
- The Rakudo reference compiler dev-lang/rakudo.
- The NQP compiler toolchain dev-lang/nqp.
- MoarVM Raku's native virtual machine dev-lang/moarvm.
- zef a module manager for interacting with Raku's ecosystem. (ebuild requested.)
- Rakudo Star the Rakudo compiler and a collection of modules from the Raku ecosystem (ebuild requested.)
- Raku is Multi-paradigm procedural, object oriented, and functional programming styles are supported.
- Raku Grammars combine named regexes with recursion, human readable rules, and grapheme-level Unicode support to enable advanced text processing capabilities far beyond that of Perl compatible regular expressions.
- Raku has a concurrency and async model that ensure that non-linear code is easy to read and maintain.
- Raku natively supports rational numbers which permits direct comparison without concern for any accumulated rounding errors that would occur in other programming languages.
- Lazy evaluation which enables features such as infinite sets.
- Low boilerplate object oriented programming.
- MoarVM — Rakudo compiler's virtual machine for the Raku Programming Language.
- NQP — a lightweight Raku-like environment for MoarVM, JVM, and other virtual machines.
- Bash — the default shell on Gentoo systems and a popular shell program found on many Linux systems.
- Perl — a general purpose interpreted programming language with a powerful regular expression engine.
- Java — a programming language, originally developed by Sun Microsystems