Commit 6910f83b authored by Dominique Dumont's avatar Dominique Dumont

Imported Upstream version 2015.09

parent 0ac6ac77

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -6,7 +6,7 @@
works. It is sorted by name and formatted to allow easy
grepping and beautification by scripts.
The fields are: name (N), email (E), web-address (W),
description (D), Subversion or GitHub username (U) and
description (D), Subversion or GitHub username (U) and
snail-mail address (S).
Thanks,
......@@ -179,10 +179,18 @@ N: Donald Hunter
U: donaldh
E: donald@sealgair.com
N: Elise
U: rightfold
U: eli-se
E: rightfold@gmail.com
N: Elizabeth Mattijsen
U: lizmat
E: liz@dijkmat.nl
N: Faye Niemeyer
U: ShimmerFairy
N: Florian Ragwitz
U: rafl
U: flora
......@@ -225,8 +233,16 @@ N: Jarkko Hietaniemi
U: jhi
E: jhi@iki.fi
N: Justin DeVuyst
U: jdv79
N: Jason Gloudon
N: Jeff Goff
D: Parrot Release Manager Emeritus (0.2..0.4)
E: drforr@pobox.com
U: drforr
N: Jeff Horwitz
E: jeff@smashing.org
U: jhorwitz
......@@ -240,7 +256,7 @@ N: Jesse Vincent
U: jesse
E: jesse@fsck.com
N: John Harrison
N: John Harrison
U: __ash__
E: ash@greaterthaninfinity.com
......@@ -256,6 +272,9 @@ E: jonathan@leto.net
W: http://leto.net
S: Portland, OR
N: Jonathan Stowe
U: RabidGravy
N: Jonathan Worthington
U: jnthn
E: jnthn@jnthn.net
......@@ -442,4 +461,12 @@ N: Zach Morgan
E: zpmorgan@gmail.com
D: Rakudo patch
N: Nick Logan
U: ugexe
E: nlogan@gmail.com
N: Leon Timmermans
U: leont
E: fawaka@gmail.com
=cut
......@@ -129,7 +129,23 @@ MAIN: {
$config{'shell'} = $^O eq 'MSWin32' ? 'cmd' : 'sh';
$config{'runner_suffix'} = $^O eq 'MSWin32' ? '.bat' : '';
my $make = $config{'make'} = $^O eq 'MSWin32' ? 'nmake' : 'make';
my $make = 'make';
if ($^O eq 'MSWin32') {
my $has_nmake = 0 == system('nmake /? >NUL 2>&1');
my $has_cl = `cl 2>&1` =~ /Microsoft Corporation/;
my $has_gmake = 0 == system('gmake --version >NUL 2>&1');
my $has_gcc = 0 == system('gcc --version >NUL 2>&1');
if (-x "$prefix/bin/nqp-m.bat"
&& ($_ = `$prefix/bin/nqp-m.bat -e "print(nqp::backendconfig()<make>)"`)) {
$make = $_;
}
elsif ($has_nmake && $has_cl) {
$make = 'nmake';
}
elsif ($has_gmake && $has_gcc) {
$make = 'gmake';
}
}
open my $MAKEFILE, '>', 'Makefile'
or die "Cannot open 'Makefile' for writing: $!";
......@@ -202,7 +218,7 @@ MAIN: {
print "Using $bin (version $nqp_config{'nqp::version'} / $java_version).\n";
$config{'nqp_prefix'} = $nqp_config{'jvm::runtime.prefix'};
$config{'nqp_prefix'} = $nqp_config{'jvm::prefix'};
$config{'nqp_jars'} = $nqp_config{'jvm::runtime.jars'};
$config{'nqp_classpath'} = $nqp_config{'jvm::runtime.classpath'};
$config{'j_runner'} = $^O eq 'MSWin32' ? 'perl6-j.bat' : 'perl6-j';
......@@ -227,6 +243,13 @@ MAIN: {
$errors{moar}{'no gen-nqp'} = @errors && !defined $options{'gen-nqp'};
unless ($^O eq 'MSWin32') {
$config{'m_cleanups'} = " \$(M_GDB_RUNNER) \\\n \$(M_VALGRIND_RUNNER)";
$config{'m_all'} = '$(M_GDB_RUNNER) $(M_VALGRIND_RUNNER)';
$config{'m_install'} = ' $(PERL) tools/build/create-moar-runner.pl "$(MOAR)" perl6.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-gdb-m "$(PERL6_LANG_DIR)/runtime" "gdb" "$(M_LIBPATH)" "$(PERL6_LANG_DIR)/lib" "$(PERL6_LANG_DIR)/runtime"' . "\n"
. ' $(PERL) tools/build/create-moar-runner.pl "$(MOAR)" perl6.moarvm $(DESTDIR)$(PREFIX)/bin/perl6-valgrind-m "$(PERL6_LANG_DIR)/runtime" "valgrind" "$(M_LIBPATH)" "$(PERL6_LANG_DIR)/lib" "$(PERL6_LANG_DIR)/runtime"';
}
unless (@errors) {
print "Using $config{m_nqp} (version $nqp_config{'nqp::version'} / MoarVM $nqp_config{'moar::version'}).\n";
......@@ -234,8 +257,8 @@ MAIN: {
# Add moar library to link command
# TODO: Get this from Moar somehow
$config{'moarimplib'} = $^O eq 'MSWin32' ? "$prefix/bin/moar.dll.lib"
: $^O eq 'darwin' ? "$prefix/lib/libmoar.dylib"
$config{'moarimplib'} = $^O =~ /^MSWin32|darwin$/
? $nqp_config{'moar::libdir'} . '/' . $nqp_config{'moar::sharedlib'}
: '';
fill_template_file('tools/build/Makefile-Moar.in', $MAKEFILE, %config, %nqp_config);
......
Build requirements (Installing from source)
For building Rakudo you need at least a C compiler, a "make" utility,
and Perl 5.8 or newer. To automatically obtain and build MoarVM
as well as NQP, you may also need a a git client, which is also needed
as well as NQP, you may also need a git client, which is also needed
for fetching the test suite.
Building rakudo can take up to 1G of memory when compiling for the
MoarVM runtime. The requirements are higher for the JVM backend.
To get readline support (command history and editing), you'll also
need the "libreadline-dev" library.
As an example, on Debian GNU/Linux or Ubuntu Linux, the necessary
components for building Rakudo can be installed via the command
aptitude install make gcc libreadline-dev git
(Perl is installed by default already). To enable parallel testing you
also need the CPAN module Test::Harness in version 3.16 or newer; you
can control the number of parallel jobs with the "TEST_JOBS" environment
......@@ -55,6 +47,17 @@
$ ./perl6 hello.pl
Simply running "perl6" will drop you into a REPL (read-eval-print-loop)
that you can use for exploratory programming:
$ ./perl6
If you would like readline-like features, such as command history, line
editing, and tab completion for builtins, you should install the Linenoise
module via panda:
$ panda install Linenoise
Important: To run Rakudo from outside the build directory, you must run
$ make install
......
This diff is collapsed.
......@@ -13,7 +13,7 @@ after more than just the bare compiler, please download [the latest
Rakudo Star package](http://rakudo.org/downloads/star).
Note that different backends implement slightly different sets of
featurs. For a high-level overview of implemented and missing features,
features. For a high-level overview of implemented and missing features,
please visit [the features page on perl6.org](http://perl6.org/compilers/features).
Recent changes and feature additions are documented in the `doc/ChangeLog`
......@@ -128,6 +128,14 @@ for example `origin/nom..HEAD`.
(Note to the maintainers: you can apply these patches with the
`git-am -s` command; it preserves meta information like author).
## Line editing and tab completion
If you would like simple history and tab completion in the perl6 executable,
you need to install the Linenoise module. The recommended way to install
Linenoise is via [panda](https://github.com/tadzik/panda):
panda install Linenoise
## How the compiler works
See `docs/compiler_overview.pod`.
......
This diff is collapsed.
Rakudo Roadmap
--------------
Last updated: 2014-09-14
Last updated: 2015-07-26
This document serves as a guide to the major goals for Rakudo
development, as things stood in December 2011. They have been
......@@ -48,13 +48,10 @@ Regexes
Built-ins/Data Structures
2 *** packed arrays (jnthn)
1 ***** NFG strings, .codes, .graphs, etc.
2 ** Rat/FatRat/Rational cleanup
2 ** sized/shaped arrays (jnthn)
2 *** val() (japhb)
2 ** Correct type smiley support (:U, :D, :T, etc.) (jnthn)
2 ** Correct type smiley support (:U, :D, etc.) (jnthn)
3 *** arrays with custom keys
3 *** complete Buf implementation (depends on 'is rw' native ints)
3 *** complete LoL and slice context implementation
3 *** Cat and stream matching
......@@ -62,7 +59,6 @@ Language Features
2 * $=DATA and friends (tadzik)
2 ** module versioning (lizmat,FROGGS)
2 *** new syntax/semantics for coercion (jnthn)
2 ** Failure changes (japhb)
3 *** domain specific languages -- slang and grammar tweaks (FROGGS)
3 **** more advanced Perl 5 interop (lexical embedding, etc.) (FROGGS)
2 ** label handling using goto
......
......@@ -63,7 +63,7 @@ to use your modules, don't use Unicode in your module names.
Rakudo effectively gives the following output to -e'.say for @*INC'
~/.perl6/lib
parrot_install/lib/2.1.0-devel/languages/perl6/lib
parrot_install/lib/2.1.0-devel/share/perl6/lib
.
The . entry may be removed from the default @*INC because it creates a
......
......@@ -37,20 +37,23 @@ detailed list, see “docs/ChangeLog”.
+ Incompatible changes and deprecations:
+ renamed internal hash/array/code/* methods:
- OLD NEW
- at_pos AT-POS
- exists_pos EXISTS-POS
- delete_pos DELETE-POS
- assign_pos ASSIGN-POS
- bind_pos BIND-POS
- at_key AT-KEY
- exists_key EXISTS-KEY
- delete_key DELETE-KEY
- assign_key ASSIGN-KEY
- bind_key BIND-KEY
- invoke CALL-ME
- Supply.on_demand Supply.on-demand
- Supply.schedule_on Supply.schedule-on
| OLD | NEW |
|----------------------|--------------------|
| at_pos | AT-POS |
| exists_pos | EXISTS-POS |
| delete_pos | DELETE-POS |
| assign_pos | ASSIGN-POS |
| bind_pos | BIND-POS |
| at_key | AT-KEY |
| exists_key | EXISTS-KEY |
| delete_key | DELETE-KEY |
| assign_key | ASSIGN-KEY |
| bind_key | BIND-KEY |
| invoke | CALL-ME |
| Supply.on_demand | Supply.on-demand |
| Supply.schedule_on | Supply.schedule-on |
+ renamed traits
- hidden_from_backtrace hidden-from-backtrace
- hidden_from_USAGE hidden-from-USAGE
......
# Announce: Rakudo Perl 6 compiler, Development Release #87 ("Vladivostok")
On behalf of the Rakudo development team, I'm happy to announce the April
2015 release of Rakudo Perl 6 #87 "Vladivostok". Rakudo is an implementation of
Perl 6 on the Moar Virtual Machine[^1] and the Java Virtual Machine. The
tarball for this release is available from <http://rakudo.org/downloads/rakudo/>.
Please note: This announcement is not for the Rakudo Star
distribution[^2] --- it's announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.