HTTPS clone URL
Subversion checkout URL
Not Quite Perl
O-refactor PackfileView actions_shared add-goto b64-lookup-table backlog blv_annotations clang++-gh70 classloading dyncall-libnames early_death_percentage eqat_op_rebased eqat_op eqat_use eval-server-improvements execname gh67-threads install-dir-layout jnthn-debug-macros-d2-on-this js-cps js-fixes jvm_interop_dispatchers jvm_interop_dispatchers2 jvmbl kill-useless-defaults leave lexreg_opt longlit mast_localref mast_localref_2 mast_localref_3 master moar_hint_precalc moreinput new-packfile-api new_make nfa_to_statelist optional_for_arguments p-opendir-gh177 parrot-lstat parrot-rpa pm-packfile-api pmc2c_orig proc-async-ready proto-inner prune_matches qast_lazy_annotation qast_refactor qrpa_experiment r-lex-to-local r2-lex-to-local replace-shift-with-control-in-strings repo-bug reprsplit rotwang/parallel-make-gh152 sigsp sigspace sprintf stable-sc standalone-jar target-pbc travjs-smoke-me vmarray-list
Nothing to show
Nothing to show
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
=head1 NQP - Not Quite Perl (6) NQP is Copyright (C) 2009-2012 by The Perl Foundation. See F<LICENSE> for licensing details. This is "Not Quite Perl" -- a lightweight Perl 6-like environment for virtual machines. The key feature of NQP is that it's designed to be a very small environment (as compared with, say, perl6 or Rakudo) and is focused on being a high-level way to create compilers and libraries for virtual machines (such as the Parrot Virtual Machine ). Unlike a full-fledged implementation of Perl 6, NQP strives to have as small a runtime footprint as it can, while still providing a Perl 6 object model and regular expression engine for the virtual machine.  http://parrot.org/ =head2 Building from source To build NQP from source, you'll just need a C<make> utility and Perl 5.8 or newer. To automatically obtain and build Parrot you may also need a git client. To obtain NQP directly from its repository: $ git clone git://github.com/perl6/nqp.git If you don't have git installed, you can get a tarball or zip of NQP from github by visiting http://github.com/perl6/nqp/tree/master and clicking "Download". Then unpack the tarball or zip. Once you have a copy of NQP, build it as follows: $ cd nqp $ perl Configure.pl --gen-parrot $ make This will create a "nqp" or "nqp.exe" executable in the current directory. Programs can then be run from the build directory using a command like: $ ./nqp hello.nqp The C<--gen-parrot> option above tells Configure.pl to automatically download and build the most appropriate version of Parrot into a local "parrot/" subdirectory, install that Parrot into the "parrot_install/" subdirectory, and use that for building NQP. It's okay to use the C<--gen-parrot> option on later invocations of Configure.pl; the configure system will re-build Parrot only if a newer version is needed for whatever version of Rakudo you're working with. You can use C<--parrot-config=/path/to/parrot_config> instead of C<--gen-parrot> to use an already installed Parrot for building NQP. This installed Parrot must include its development environment; typically this is done via Parrot's C<make install> target or by installing prebuilt C<parrot-devel> and/or C<libparrot-dev> packages. The version of the already installed Parrot must satisfy a minimum specified by the NQP being built -- Configure.pl will verify this for you. Released versions of NQP always build against the latest release of Parrot; checkouts of the HEAD revision from github often require a version of Parrot that is newer than the most recent Parrot monthly release. Once built, NQP's C<make install> target will install NQP and its libraries into the Parrot installation that was used to create it. Until this step is performed, the "nqp" executable created by C<make> above can only be reliably run from the root of NQP's build directory. After C<make install> is performed the executable can be run from any directory (as long as the Parrot installation that was used to create it remains intact). If the NQP compiler is invoked without an explicit script to run, it enters a small interactive mode that allows statements to be executed from the command line. Each line entered is treated as a separate compilation unit, however (which means that subroutines are preserved after they are defined, but variables are not). =head2 Differences from nqp-rx NQP is the successor implementation of "nqp-rx" . Unlike nqp-rx, which aimed to have almost no runtime component whatsoever, this new version of NQP accepts that a minimal Perl 6 object metamodel, multidispatcher, and regular expression engine are needed on top of the underlying virtual machine. Also, nqp-rx is likely to only run on Parrot, whereas we expect NQP to eventually run on other virtual machine backends.  http://github.com/perl6/nqp-rx