Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A Perl 6 compiler targetting the CLR with an experimental focus on optimizations.

tag: v9

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 docs
Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 obj
Octocat-spinner-32 perf
Octocat-spinner-32 run
Octocat-spinner-32 simple-tests
Octocat-spinner-32 src
Octocat-spinner-32 t
Octocat-spinner-32 tools
Octocat-spinner-32 .gitignore
Octocat-spinner-32 FETCH_URL
Octocat-spinner-32 LICENSE
Octocat-spinner-32 License-MS-PL.txt
Octocat-spinner-32 Makefile
Octocat-spinner-32 README.pod
Octocat-spinner-32 TODO
Octocat-spinner-32 test.pl
Octocat-spinner-32 test2.pl
README.pod

ABOUT

This is 'Niecza', which will is a Perl 6 implementation focusing on optimization and efficient implementation research. It targets the Common Language Runtime (ECMA-335; implementations are "Mono" and ".NET").

For a list of supported features, see http://perl6.org/compilers/features.

DEPENDENCIES (RUNTIME)

  • To run on Mono: 2.6.4 and later are well-tested, though success has been reported with 2.4.x as well. ggoebel on #perl6 reports that 2.6.7 fails with a bus error on OS X 10.4 x86, but 2.6.4 works; 2.6.7 is fine on other platforms.

    2.8.2 or later is recommended for best performance; you should use RUN_CLR=mono-sgen in this case. 2.10 (latest stable) is also tested.

    (2.6.x is currently broken due to versioning issues. Stay tuned.)

    Debian and derivatives have a modular mono packaging; you should install 'mono-complete'. (The other packages exist for the sake of Debian-packaged programs.)

    To run on Windows/Mono (2.8.2 and 2.10) and other systems, download the mono installers from http://go-mono.org/

  • To run on Windows/Microsoft .NET 3.5 (2.0 runtime with 3.5 extensions) or .NET 4.0, install the .NET runtime from http://goo.gl/PMKvB

DEPENDENCIES (BUILD FROM SOURCE)

  • wget (to fetch a bootstrapping binary).
  • GNU make
  • unzip

USING

    $ make # only if using a source copy
    ... snip build spam ...
    $ mono run/Niecza.exe
    niecza> say 2 + 2
    4
    niecza> ^D
    $ mono run/Niecza.exe -e 'say 2 + 2'
    4
    $

Notes: The first time the compiler is run, the setting must be compiled, which adds about a minute on most hardware to the runtime. The second run will be much faster. Also, the recompilation checker is not robust to file format changes; it may be necessary to clean temporary files after updates.

Building on Windows currently requires the Cygwin environment with Mono's gmcs.exe in your Cygwin shell's $PATH, though in principle .NET's csc.exe could be made to work eventually, if it doesn't already.

COPYRIGHT AND LICENSE

Niecza is Copyright 2010-2011 Stefan O'Rear et al. It may be used and distributed under the Artistic License 2.0 (included under LICENSE).

Some files are included from other projects, and have their own copyright notices.

CREDITS AND PRIOR ART

This project was originally a spin-off of experiments done for Matthew "diakopter" Wilson's sprixel project, and was heavily inspired by many of its lower-level details.

Something went wrong with that request. Please try again.