Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
import Patrick Michaud's suggested answer as-is
  • Loading branch information
stmuk committed Jun 17, 2016
1 parent 8ac1521 commit 2776b19
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions doc/Language/faq.pod
Expand Up @@ -479,6 +479,25 @@ string|/type/Match>.
C<OpaquePointer> is deprecated and has been replaced with C<Pointer>.
=head1 Implementation Details
=head2 What language is Rakudo written in?
The glib answer is that Rakudo is written almost entirely in Perl 6, with a
small bit of C or Java glue code thrown in depending on what virtual machine
backend Rakudo is being compiled to use (e.g., MoarVM or JVM). If you look at
the files in the "src/" directory in the Rakudo repository, you'll see that
just about all of them are Perl 6 source code files
The more detailed answer is that Rakudo is written in a mixture of Perl 6 and
NQP ("Not Quite Perl"). NQP is a lightweight Perl 6-like environment for
virtual machines; it's designed to be a high-level way create compilers and
libraries for virtual machines (such as MoarVM and JVM) using Perl 6 syntax. So
then the question naturally becomes "What language is NQP written in?", and the
answer is that NQP is a mixture of (1) NQP code, (2) whatever language the
underlying virtual machine is using, (3) some third-party C and Java libraries,
and (4) some bootstrapping files created by earlier runs of the build process.
=head1 Meta Questions and Advocacy
=head2 When will Perl 6 be ready? Is it ready now?
Expand Down

0 comments on commit 2776b19

Please sign in to comment.