1. class Perl does Systemic {
  2. has Compiler $.compiler;
  3. submethod BUILD(
  4. :$!name = 'Perl 6',
  5. :$!auth = "The Perl Foundation",
  6. :$!version = Version.new(nqp::getcomp('perl6').language_version()),
  7. :$!compiler = Compiler.new
  8. --> Nil
  9. ) { }
  10. method VMnames { <moar jvm > }
  11. method DISTROnames {
  12. (
  13. <macosx linux freebsd mswin32 openbsd dragonfly netbsd>
  14. )
  15. }
  16. method KERNELnames { <darwin linux freebsd openbsd netbsd dragonfly win32> }
  17. }
  18. Rakudo::Internals.REGISTER-DYNAMIC: '$*PERL', {
  19. PROCESS::<$PERL> := Perl.new;
  20. }
  21. multi sub postcircumfix:<{ }> (Perl $d, "compiler" ) {
  22. # allow this silently, as we will catch it on accessing the Compiler object
  23. $d.compiler
  24. }