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.
- Multi-paradigm: procedural, object oriented, and functional programming styles are supported.
- Grammars combine named regexes in a hierarchy with human readable rules and grapheme-level Unicode support to enable advanced text processing capabilities far beyond that of standard PCRE-style regular expressions.
- A concurrency and async model that ensure that non-linear code is easy to read and maintain.
- Native support for rational numbers which permits direct comparison of floating point numbers 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