Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge remote-tracking branch 'upstream/nom' into nom
Conflicts:
	src/vm/jvm/runtime/org/perl6/rakudo/Ops.java
  • Loading branch information
Arcterus committed Jul 19, 2013
2 parents e124a6a + 45d4473 commit fe86822
Show file tree
Hide file tree
Showing 86 changed files with 3,793 additions and 1,437 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Expand Up @@ -9,6 +9,7 @@ Makefile
*.res
*.exp
*.lib
*.jar
lib/Test.pir
lib/Pod/To/Text.pir
lib/lib.pir
Expand Down Expand Up @@ -58,3 +59,8 @@ config.default
/bin
rakudo-runtime.jar
CORE.setting.class
perl6-jdb-server
perl6-jdb-server.bat
perl6-eval-server
perl6-eval-server.bat
eval-client.pl
31 changes: 29 additions & 2 deletions CREDITS
Expand Up @@ -76,6 +76,10 @@ D: Random small bug fixes
E: rogers-perl6@rgrjr.dyndns.org
U: rgrjr

N: Brent Laabs
U: labster
E: bslaabs@gmail.com

N: Bruce Gray
U: util
E: bruce.gray@acm.org
Expand All @@ -84,14 +88,13 @@ N: Bruce Keeler
U: bkeeler
D: variable interpolation into regexes


N: Bryan C. Warnock
D: The First Perl 6 Summarizer
D: Little things here and there in pre-Parrot days.
D: And, yes, {sigh}, *that* Warnock.
E: bwarnock@raba.com

N: Carl Masak
N: Carl Mäsak
E: cmasak@gmail.com
U: masak

Expand Down Expand Up @@ -152,6 +155,14 @@ N: Dino Morelli
D: PGE tests
E: dmorelli@reactorweb.net

N: Donald Hunter
U: donaldh
E: donald@sealgair.com

N: Elizabeth Mattijsen
U: lizmat
E: liz@dijkmat.nl

N: Florian Ragwitz
U: rafl
U: flora
Expand Down Expand Up @@ -330,6 +341,10 @@ U: rurban
E: rurban@cpan.org
D: cygwin fixes

N: Rob Hoelz
U: hoelzro
E: rob@hoelz.ro

N: Robert Spier
D: Keeps us running
U: robert
Expand All @@ -347,6 +362,10 @@ N: Solomon Foster
U: colomon
E: colomon@gmail.com

N: Stefan O'Rear
U: sorear
E: stefanor@cox.net

N: Stéphane Payrard
D: Various code fixes and improvements

Expand All @@ -355,12 +374,20 @@ U: tene
D: Minor Rakudo patches
E: tene@allalone.org

N: Timo Paulssen
U: timotimo
E: timonator@perpetuum-immobile.de

N: Timothy Totten
U: novus
D: Temporal (DateTime/Date) modifications
E: supernovus@gmail.com
W: http://huri.net/

N: Tobias Leich
U: FROGGS
E: email@froggs.de

N: Tyler Curtis
U: tcurtis
D: $*ARGFILES
Expand Down
14 changes: 8 additions & 6 deletions ConfigureJVM.pl
Expand Up @@ -6,9 +6,10 @@
use warnings;
use Text::ParseWords;
use Getopt::Long;
use Cwd;
use Cwd qw(cwd realpath);
use lib "tools/lib";
use NQP::Configure qw(sorry slurp fill_template_text fill_template_file);
use NQP::Configure qw(sorry slurp fill_template_text fill_template_file
system_or_die);
use File::Basename;

my $lang = 'Rakudo';
Expand All @@ -26,7 +27,7 @@

my %options;
GetOptions(\%options, 'help!', 'prefix=s', 'with-nqp=s',
'make-install!', 'makefile-timing!',
'make-install!', 'makefile-timing!', 'no-clean!'
) or do {
print_help();
exit(1);
Expand All @@ -38,7 +39,8 @@
exit(0);
}

my $prefix = $options{'prefix'} || cwd().'/install';
my $prefix = $options{'prefix'} ||
($^O eq 'MSWin32' ? cwd().'\\install-jvm' : cwd().'/install-jvm');
my $with_nqp = $options{'with-nqp'} ||
($^O eq 'MSWin32' ? 'install-jvm\\nqp' : 'install-jvm/nqp');

Expand All @@ -62,7 +64,7 @@

$config{'prefix'} = $prefix;
$config{'nqp'} = $with_nqp;
$config{'nqp_prefix'} = dirname($with_nqp);
$config{'nqp_prefix'} = realpath(dirname($with_nqp));
$config{'makefile-timing'} = $options{'makefile-timing'};
$config{'stagestats'} = '--stagestats' if $options{'makefile-timing'};
$config{'cpsep'} = $^O eq 'MSWin32' ? ';' : ':';
Expand All @@ -72,7 +74,7 @@

fill_template_file('tools/build/Makefile-JVM.in', 'Makefile', %config);

{
unless ($options{'no-clean'}) {
no warnings;
print "Cleaning up ...\n";
if (open my $CLEAN, '-|', "$make clean") {
Expand Down
5 changes: 3 additions & 2 deletions README
Expand Up @@ -40,8 +40,9 @@ Rakudo Perl 6
$ perl ConfigureJVM.pl
$ make

Note that Rakudo on JVM is currently much less capable than Rakudo on
Parrot. For example, rakudo-jvm is known to fail many tests.
Note that Rakudo on JVM is currently less capable than Rakudo on Parrot.
For example, rakudo-jvm passes 'make test' but is known to fail some
spectests still.

If you get an out of memory error building rakudo on the JVM, you may
need to modify your NQP runner to limit memory use. e.g. Adding
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
2013.05
2013.07
57 changes: 57 additions & 0 deletions docs/ChangeLog
@@ -1,3 +1,60 @@
New in 2013.07
+ Huge progress in JVM backend (feature-wise almost on par with Parrot)
+ List.first is now lazy
+ unspace before argument lists is now supported
+ fixed handling of indented heredocs
+ basic support for threads and promises (JVM only)
+ improved sprintf and other formatting routines
+ keyof method for typed hashes to get key type
+ Hash.perl nows works for typed hashes
+ 'is parcel' and 'is default' traits (work in progress)
+ Parcel.new now works
+ slight optimization to join of many items
+ implemented canonpath for Win32 IO::Spec
+ implemented squish
+ made []:(kv|p|k|v) work according to spec
+ properly parse Pod formatting codes with brackets other than <...>
+ the POD_TO_TEXT_ANSI environment variable now leads to some formatting
being applied by Pod::To::Text
+ declaration of multiple operators in a scope now generates much smaller
serialized output
+ Int.round method now takes a scale argument
+ implemented Complex.ceiling, Complex.floor, Complex.round

New in 2013.06
+ JVM backend added - passes initial sanity tests
+ type captures in signature binder implemented
+ IO::Spec::Unix.canonpath made more efficient
+ IO::Handle methods gist, perl, path added
+ Int.msb and Int.lsb implemented
+ dir() is now lazy
+ lines($limit) now doesn't read an extra line
+ .^mro methods added to a few role metaclasses
+ $/ and $! now visible in eval/REPL
+ IO::Handle.copy moved to IO::Path.copy
+ .{} adverb combinations all implemented
+ :$<foo> colonpair syntax implemented
+ 'my &foo; multi foo() { }' gives better error message
+ reduce() more aware of fiddliness
+ &first now returns Nil instead of failing
+ $*CWD and $*TMPDIR now contain IO::Path objects
+ REPL bug fixed when same line issued twice
+ pick/pop/push/roll/reverse/rotate/sort/classify/categorize
now fail immediately if the list is infinite
+ categorize now returns a Hash, not a Parcel of Pairs
+ "undef" warning now refers to Any, not Mu
+ improved error messages for hash shapes
+ Hash.(classify|categorize) implemented
+ IO::Path.chmod implemented
+ IO::Path.succ and .pred implemented
+ syntax parser now allows a dot before hyper postfix
+ Str.succ added for codepoints \x2581..\x2588
+ Cool.path implemented
+ sequences between 1-codepoint strings implemented
+ div and / fail with X::Numeric::DivisionByZero (rather than dying)
+ doing .perl on Rat with denominator 0 doesn't go into an infinite loop anymore
+ Capture.exists implemented

New in 2013.05
+ IO::Spec, a port of Perl 5's File::Spec
+ support for exporting things form EXPORT subroutine
Expand Down
74 changes: 74 additions & 0 deletions docs/announce/2013.06.md
@@ -0,0 +1,74 @@
# Announce: Rakudo Perl 6 compiler, Development Release #65 ("Poznan")

On behalf of the Rakudo development team, I'm proud to announce the
June 2013 release of Rakudo Perl #65 "Poznan". Rakudo is an
implementation of Perl 6 on the Parrot Virtual Machine (see
<http://www.parrot.org>) 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[^1] --- it's announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.

The Rakudo Perl compiler follows a monthly release cycle, with each
release named after a Perl Mongers group. The June 2013 release is
code-named after Poznan.pm, a mongers group that was founded after
two Perl developers visiting this year's PLPW realized they lived in
the same city.

Some of the changes in this release are outlined below:

+ JVM backend added - passes initial sanity tests
+ type captures in signature binder implemented
+ IO::Handle methods gist, perl, path added
+ Int.msb and Int.lsb implemented
+ dir() is now lazy
+ $/ and $! now visible in eval/REPL
+ .{} adverb combinations all implemented
+ &first now returns Nil instead of failing
+ IO::Path.chmod implemented
+ Cool.path implemented
+ div and / fail with X::Numeric::DivisionByZero (rather than dying)

This is only some of the changes in this release. For a more
detailed list, see "docs/ChangeLog".

The development team thanks all of our contributors and sponsors for
making Rakudo Perl possible, as well as those people who worked on
Parrot, the Perl 6 test suite and the specification.

The following people contributed to this release:

Jonathan Worthington, Elizabeth Mattijsen, Stefan O'Rear, Brent Laabs,
Tobias Leich, Timo Paulssen, Patrick R. Michaud, Will "Coke" Coleda,
Moritz Lenz, thundergnat, Carl Mäsak, dagurval, bbkr

If you would like to contribute, see <http://rakudo.org/how-to-help>,
ask on the <perl6-compiler@perl.org> mailing list, or ask on IRC
\#perl6 on freenode.

The next release of Rakudo (#66), is scheduled for July 18, 2013.
A list of the other planned release dates and code names for future
releases is available in the "docs/release_guide.pod" file. In
general, Rakudo development releases are scheduled to occur soon after
each Parrot monthly release. Parrot releases the third Tuesday of
each month.

On behalf of the development team, I encourage you to try the new release,
to live life to its fullest, to cherish each moment, and to have fun.


[^1]: What's the difference between the Rakudo compiler and the Rakudo
Star distribution?

The Rakudo compiler is a compiler for the Perl 6 language.
Nothing else.

The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl 6 modules, a module installer, the most recent
incarnation of the "Using Perl 6" book, and other software that can
be used with the Rakudo compiler to enhance its utility. Rakudo Star
is meant for early adopters who wish to explore what's possible with
Rakudo Perl 6 and provide feedback on what works, what doesn't, and
what else they would like to see included in the distribution.
69 changes: 69 additions & 0 deletions docs/announce/2013.07.md
@@ -0,0 +1,69 @@
# Announce: Rakudo Perl 6 compiler, Development Release #66 ("Edinburgh")

On behalf of the Rakudo development team, I'm proud to announce the
July 2013 release of Rakudo Perl #66 "Edinburgh". Rakudo is an
implementation of Perl 6 on the Parrot Virtual Machine (see
<http://www.parrot.org>) 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[^1] --- it's announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.

The Rakudo Perl compiler follows a monthly release cycle, with each
release named after a Perl Mongers group. The July 2013 release is
code-named after Edinburgh.pm, 'twas there that a now core hacker
lived when he got involved with Perl 6.

Some of the changes in this release are outlined below:

+ Huge progress in JVM backend (feature-wise almost on par with Parrot)
+ fixed handling of indented heredocs
+ basic support for threads and promises (JVM only)
+ implemented canonpath for Win32 IO::Spec
+ implemented squish
+ made []:(kv|p|k|v) work according to spec

These are only some of the changes in this release. For a more
detailed list, see "docs/ChangeLog".

The development team thanks all of our contributors and sponsors for
making Rakudo Perl possible, as well as those people who worked on
Parrot, the Perl 6 test suite and the specification.

The following people contributed to this release:

Jonathan Worthington, Elizabeth Mattijsen, Stefan O'Rear, Timo Paulssen,
Solomon Foster, Brent Laabs, Tobias Leich, Will "Coke" Coleda, Carl Masak,
Moritz Lenz, Donald Hunter, Stéphane Payrard, Patrick R. Michaud,
Tadeusz Sośnierz, Larry Wall, GlitchMr

If you would like to contribute, see <http://rakudo.org/how-to-help>,
ask on the <perl6-compiler@perl.org> mailing list, or ask on IRC
\#perl6 on freenode.

The next release of Rakudo (#67), is scheduled for August 22, 2013.
A list of the other planned release dates and code names for future
releases is available in the "docs/release_guide.pod" file. In
general, Rakudo development releases are scheduled to occur soon after
each Parrot monthly release. Parrot releases the third Tuesday of
each month.

On behalf of the development team, I encourage you to try the new release,
to live life to its fullest, to cherish each moment, and to have fun.


[^1]: What's the difference between the Rakudo compiler and the Rakudo
Star distribution?

The Rakudo compiler is a compiler for the Perl 6 language.
Nothing else.

The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl 6 modules, a module installer, the most recent
incarnation of the "Using Perl 6" book, and other software that can
be used with the Rakudo compiler to enhance its utility. Rakudo Star
is meant for early adopters who wish to explore what's possible with
Rakudo Perl 6 and provide feedback on what works, what doesn't, and
what else they would like to see included in the distribution.

0 comments on commit fe86822

Please sign in to comment.