Today I discovered to my surprise that part of the core of Perl 6 is written in Perl6. This is Prelude.pm. Having this part of the code in Perl6 means it is easier for Perl 6 users to hack on. It also means this functionality is available to all Perl 6 implementations, not just Pugs.
For effiency, Prelude.pm is compiled into a YAML format file, and later read back into Haskell with less effort.
There are still some functions which are currently implemented in Pugs which would be good candidates to include in Prelude.pm. These are listed on the Preludification Candidates page, although I can't vouch for the freshness of the list. This is your chance to write some of Perl 6 in Perl 6!
(There's also a Prelude/PIR.pm which is written in a Perl 6, and I'm not sure how it's related. If you know, please add a comment to the top of PIR.pm to explain the difference. )