Giter VIP home page Giter VIP logo

NAME

README.pod - Parrot Virtual Machine

DESCRIPTION

Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages.

IMPORTANT NOTICE

The Parrot VM is no longer being actively developed.

The role of Parrot as VM for Perl 6 (now "Raku") has been filled by MoarVM, supporting the Rakudo compiler. https://raku.org/ https://rakudo.org/ https://moarvm.org/

LICENSE

This code is distributed under the terms of the Artistic License 2.0. For more details, see the full text of the license in the file 'LICENSE'.

PREREQUISITES

You need a C compiler, a linker, and a 'make' program.

If you plan to link Parrot with the ICU library, you must download and install it before configuring Parrot. You may obtain the ICU library at http://site.icu-project.org/download.

You will also need Perl 5.8.4 or newer and Storable 2.12 or newer in order to run various configure and build scripts.

For most of the platforms we support, Parrot should build out-of-the-box. 'docs/parrot.pod' lists the core platforms, and 'PLATFORMS' provides reports on the platforms on which Parrot has been built and tested.

HOW TO GET PARROT FROM GITHUB

I. Install Git.

Linux: The method depends on your distribution. To install you should execute (as root or sudo <cmd>):

On Ubuntu/Debian (apt-based):

apt-get install git-core

On Red Hat, Fedora (rpm-based):

yum install git

on Gentoo (portage):

emerge -av dev-vcs/git

Windows: There are 2 Git ports on Windows:

msysgit          http://code.google.com/p/msysgit/downloads/list
TortoiseGit  http://code.google.com/p/tortoisegit/downloads/list

Macintosh OS X: An Internet search will locate a variety of git installers for Mac OS X, for example,

http://help.github.com/mac-git-installation/

II. Obtaining Parrot from github.com

To obtain a copy of the Parrot Git repository:

git clone git://github.com/parrot/parrot.git

This will checkout the master branch by default. To create a local branch which tracks the branch "some_branch":

git checkout -b --track some_branch origin/some_branch

For reference, --track is now redundant as it is now the default behavior.

All the above URLs are read-only. If you are a Parrot core developer, then use the read-write URL:

git clone [email protected]:parrot/parrot.git

You can view the list of branches at http://github.com/parrot/parrot

INSTRUCTIONS

For now, unpack your Parrot tarball, (if you're reading this, you've probably already done that) and type

perl Configure.pl

OR perl Configure.pl --optimize

to run the Configure script. For packagers or if you want your Parrot to run about 2x faster, use --optimize. If you want to improve your chances in debugging programs and stacktraces, omit --optimize and add --debugging instead.

The 'Configure.pl' script extracts configuration information from the running perl5 program. You need to explicitly tell 'Configure.pl' which compiler and linker to use. For example:

perl Configure.pl --cc=cc --link=$CC --ld=$CC

See 'perl Configure.pl --help' for more options and 'docs/configuration.pod' for more details.

For systems like HPUX that don't have inet_pton please run

perl Configure.pl --define=inet_aton

Running 'Configure.pl' will generate a 'config.h' header, a 'Parrot::Config' module, platform files, and many Makefiles.

The file 'myconfig' has an overview of configure settings.

Next, run 'make' or 'gmake'. ('Configure.pl' will tell you which version of 'make' it recommends for your system.)

If you are building the ICU library (this is the default on most systems), you need to use 'GNU make' instead (or something compatible with it).

You can test Parrot by running 'make test'. You can run the tests in parallel with 'make TEST_JOBS=3 test'.

You can run the full test suite with

make fulltest

NOTE: PLATFORMS contains notes about whether test failures are expected on your system.

You can install Parrot with,

make install

By default, this installs in '/usr/local', with the Parrot executable in '/usr/local/bin'. If you want to install Parrot into another location use the following:

perl Configure.pl --prefix=/dir/to/install/
make install

But please note, the dynamic libs will not be found for non-standard locations unless you set the environment variable 'LD_LIBRARY_PATH' or something similar.

For where to go from here, see docs/parrot.pod and see docs/intro.pod. If you experience problems, please see the section "How To Submit A Bug Report" in docs/submissions.pod. These documents are in POD format, and you can view them with the command,

perldoc -F docs/intro.pod

In addition, you may obtain an html-ized version of our docs -- which, in some respects, are more extensive than our POD documents -- with the following command:

cpan JSON       # Needed by the next command
make html

You may then view a local copy of the html documentation by navigating your favorite browser to the index page of the 'docs/html/' directory, i.e., 'docs/html/index.html'.

CHANGES

For documentation on the user-visible changes between this and previous versions of Parrot, see 'ChangeLog'.

MAILING LISTS

The Parrot user mailing list is '[email protected]'. You may subscribe to the mailing list by filling out the form at http://lists.parrot.org/mailman/listinfo/parrot-users. There is an archive of the mailing list at http://lists.parrot.org/pipermail/parrot-users/.

For development discussions, see the information in docs/gettingstarted.pod.

FEEDBACK, PATCHES, etc.

For more information on how to report bugs and to submit patches, see docs/submissions.pod.

WEB SITES

For more information on Parrot, see

http://www.parrot.org/
http://docs.parrot.org/
http://parrot.github.com/

Have fun, The Parrot Team.

COPYRIGHT

Copyright (C) 2001-2014, Parrot Foundation.

Parrot Virtual Machine's Projects

art icon art

Parrot Virtual Machine art/graphics/etc

bf icon bf

A compiler for the BF language for the Parrot Virtual Machine

c99 icon c99

A C99 compiler for the Parrot Virtual Machine

chitchat icon chitchat

A SmallTalk compiler for the Parrot Virtual Machine

dbix-class icon dbix-class

Official github remote for git.shadowcat.co.uk DBIx-Class.git

ecmascript icon ecmascript

An ECMAScript (JavaScript) compiler for the Parrot Virtual Machine

forth icon forth

A Forth compiler for the Parrot Virtual Machine

lisp icon lisp

A Common Lisp compiler for the Parrot Virtual Machine

lolcode icon lolcode

A LOLCode compiler for the Parrot Virtual Machine

m1 icon m1

low-level C-family language that spits out M0

misc icon misc

if you don't know where to put it, put it here

ook icon ook

An Ook compiler for the Parrot Virtual Machine

pact icon pact

Sandbox space for a rewrite of PCT

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.