class Compiler does Systemic {}

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)␤»

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

Methods §

method id §

Returns an 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()

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

method build-date §

method build-date()

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

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

method verbose-config §

method verbose-config(:$say)

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

See Also: Systemic

Type Graph §

Type relations for Compiler
perl6-type-graph Compiler Compiler Any Any Compiler->Any Systemic Systemic Compiler->Systemic Mu Mu Any->Mu

Expand above chart

Routines supplied by role Systemic §

Compiler does role Systemic, which provides the following routines:

(Systemic) method auth §

Instance method returning the "auth" (as in "author" or "authority") of the object. Returns "unknown" if the "auth" could not be established.

(Systemic) method config §

Instance returning a hash with object configuration information. Subject to change without notice, but can be helpful in environments where only one type of virtual machine is in use, or to find about the configuration of any other object that mixes in this role.

(Systemic) method desc §

Instance method returning the "desc" (as in "description") of the VM object. Returns a Str type object if the "desc" could not be established.

(Systemic) method name §

Instance method returning the name of the object.

(Systemic) method signature §

Instance method returning the signature of the object. Returns a Blob type object if the signature could not be established.

(Systemic) method version §

Instance method returning the version of the object as a Version object. Returns a Version object "unknown" if the version could not be established.

(Systemic) method gist §

method gistSystemic:D: )

Instance method returning the name and version of the object.

say $*RAKU.gist# OUTPUT: «Raku (6.d)␤»

$*RAKU is an object of the Raku type, which mixes in this role and thus implements this method.

(Systemic) method Str §

method Str

Instance method returning the name of the object.

say $*RAKU.Str# OUTPUT: «Raku␤»
Generated from

Generated from Type/Compiler.pod6