BrowserREPL-button-tip-on BrowserREPL-button-tip-off

EditButtonTip 2025-10-04

class Compiler

Information related to the compiler that is being used

class Compiler does Systemic {}
Code

Built-in class for providing compiler related information. Usually accessed through the compiler attribute of the $*RAKU dynamic variable.

say $*RAKU.compiler; # OUTPUT: «rakudo (2020.02.16.g.28.bd.4247.a)␤»
Code

Note: Before Rakudo release 2020.1 this was only available through the compiler attribute of the $*PERL dynamic variable. Since Rakudo release 2020.1 this is available through both the $*RAKU and the $*PERL variables.

Methods§

method id§

Returns a unique identifier, a long hexadecimal string

method release§

It's empty, but it might contain the release number for specific releases.

method codename§

It's empty, but it might contain the codename for specific releases.

method backend§

method backend()
Code

Since Rakudo release 2020.02, returns the name of the compiler's backend.

method build-date§

method build-date()
Code

Up to Rakudo release 2019.03.1, it returned the date when it was built.

say $*PERL.compiler.build-date; # OUTPUT: «2018-05-05T21:49:43Z␤»
Code

method verbose-config§

method verbose-config(:$say)
Code

If $say is True, it prints the different items included in the configuration of the compiler; if it is not, returns a Hash with the same information.

say $*RAKU.compiler.verbose-config; # OUTPUT: «distro::auth=https://www.opensuse.org/␤distro::desc=2018-05-06T09:19:17.571307+02:00␤» ... And the rest of the configuration
Code

See Also: Systemic

Class relation diagram§

Rakudo Type Relation for Compiler Compiler Compiler Any Any Compiler->Any is Systemic Systemic Compiler->Systemic does