This is a development, running and compiling environment for the Perl 6 programming language.
Uses the Parrot VM to compile the code.
What is new in this release:
- Allow Buf.AT-POS to return an l-value.
- Implement method ^foo($) { ... } syntax.
- Implemented PairMap (the simple case only, for now).
- Implemented .antipairs (pairs with value => key).
- Implemented pairup for creating pairs from lists.
- Implemented LEXICAL, OUTERS and CALLERS pseudo-packages
- Add array[T], usable for native int/num (MoarVM only for now)
- Other native improvements, e.g. my int $a; $a++
- Implement IO::Path.resolve on r-m/POSIX
What is new in version 2015.06:
- Allow Buf.AT-POS to return an l-value.
- Implement method ^foo($) { ... } syntax.
- Implemented PairMap (the simple case only, for now).
- Implemented .antipairs (pairs with value => key).
- Implemented pairup for creating pairs from lists.
- Implemented LEXICAL, OUTERS and CALLERS pseudo-packages
- Add array[T], usable for native int/num (MoarVM only for now)
- Other native improvements, e.g. my int $a; $a++
- Implement IO::Path.resolve on r-m/POSIX
What is new in version 2015.03:
- Allow Buf.AT-POS to return an l-value.
- Implement method ^foo($) { ... } syntax.
- Implemented PairMap (the simple case only, for now).
- Implemented .antipairs (pairs with value => key).
- Implemented pairup for creating pairs from lists.
- Implemented LEXICAL, OUTERS and CALLERS pseudo-packages
- Add array[T], usable for native int/num (MoarVM only for now)
- Other native improvements, e.g. my int $a; $a++
- Implement IO::Path.resolve on r-m/POSIX
What is new in version 2015.01:
- Many improvements to Java interop for the JVM backend
- New simple way of creating an object hash: :{}
- Substitution now supports assignment meta-op, e.g. s[\d+] += 2
- Many memory and CPU optimizations
- Supply.for deprecated in favour of Supply.from-list
What is new in version 2014.08:
- Many optimizations in both rakudo and the underlying VMs.
- If the LOLLY envar is set, have (;;), [;;], etc., turn into LoLs. Otherwise, parsefail
- Added SEQ(a; b) to emulate the old behavior of (a; b)
- Make &infix:<xx> many times faster
- Fixed multi-dimensional slice assignment
- Assigning a single itemized hash to a hash is now DEPRECATED (my %h = {...})
- subbuf-rw specced and implemented
- The tr/// operator is implemented and has the proper return value
- Improved string handling for MoarVM backend
- All backends now allow C pointer arithmetic and casting of pointers to Perl 6 types (this functionality is exposed by NativeCall)
- Fixed ‘fail' so it also prints a backtrace
- IO::Socket::Async now also works on JVM
- Added or updated many Supply methods: act, batch, categorize, Channel, classify, delay, elems, flat, grab, last, live, max, min, minmax, merge, migrate, Promise, reduce, reverse, rotor, sort, squish, stable, start, uniq, wait, zip
- Added IO::Notification.watch_path / IO::Path::watch which return a Supply of file system changes
What is new in version 2014.04:
- NativeCall passes all its tests on all backends
- S17 (concurrency) now in MoarVM (except timing related features)
- Winner { more @channels { ... } } now works
- Implemented univals(), .unival and .univals (on MoarVM)
- Added .minpairs/.maxpairs on (Set|Bag|Mix)Hash
- Naive implementation of "is cached" trait on Routines
What is new in version 2014.03:
- "make" no longer itemizes its arguments.
- for-loops at the statementlist level are now sunk by default.
- Better parsing of unspaces and formatting codes inside Pod blocks.
- Fix for for-loops to be properly lazy
- Numerous Pod parsing and formatting improvements
- @ as shortcut for @$, % as shortcut for %$
- List infix reductions no longer flatten
- Numerous compiler suggestion improvements
What is new in version 2014.01:
- The eval sub and method are now spelled EVAL
- Numeric.narrow to coerce to narrowest type possible
- Can now supply blocks with multiple arguments as sequence endpoints
- Method calls and hash/list access on Nil give Nil
What is new in version 2013.12:
- The Whatever Star (*) now works inside chain operators like comparisons.
- Private attributes from roles are now visible in the classes they apply to.
- Memory and speed improvements for ListIter and List.combinations, respectively.
- Improvements to the execution of regexes.
What is new in version 2013.11:
- Order::Increase/Decrease are deprecated. Please use Order::Less/More.
- Leading whitespace is ignored for :sigspace
- Better null pattern detection in regexes
- improved run()/shell(), these return Proc::Status-objects now
- The "gethostname" function implemented
What is new in version 2013.10:
- postcircumfix {} and [] are now implemented as multi subs rather than multi methods.
- Add support for "is DEPRECATED", making it easy for early adopters to stay current.
- Track multiple spec changes for various container classes.
- Greatly reduce object creation during Regex parsing.
- Various portability fixes.
- qx// and run() now auto-quote correctly.
- Allow #`[...]-style comments in regexes.
What is new in version 2013.09:
- Candidate argument to bless removed (per spec change).
- @a.VAR.name and %h.VAR.name implemented.
- The $var.++ and $var.() syntaxes work.
- Basics of tr/// implemented.
What is new in version 2013.08:
- Assigning Nil restores the default value
- Buf is now a role, and Buf objects are immutable.
- printf now correctly handles big integers
- Fixed handling of indented heredocs
- dir() is now lazy
What is new in version 2013.05:
- Autothread "none" and "all" junctions before "any" and "one"
- Helpful error if you write "else if"/"elif" instead of "elsif"
- Throw exception if a Range is used as a Range endpoint
- Corrected argument order in IO.seek
- Wrap low level VM objects in ForeignCode, allowing perl6 OO calls on them
- For loops are eager again
- Added link and symlink to IO
- Added Capture.Bool()
- Improvements to DUMP()
- Various optimizations in the optimizer and the runtime
- smartmatch against list now supports Whatever wildcards
- IO::Spec, a port of Perl 5's File::Spec
- Regex special characters can be used as delimiters
- Allow slice with :exists adverb on hashes
- Added 125 extra opening/closing bracket-pairs
What is new in version 2013.02:
- Compile-time optimization of some cases of junctions in boolean context
- IO::Socket.get now works again with non-ASCII characters
- constant folding for routines marked as ‘is pure'
- natively typed variables and better error reporting in the REPL
- speed up eqv-comparison of Bufs
What is new in version 2013.01:
- $obj.Some::Role::meth() now passes the correct $obj
- Try/CATCH now returns Nil when the CATCH is triggered, rather than the exception; this brings it in line with try without a CATCH
- whatever-star cases of splice now implemented
- Can now import multis with the same name from different modules, provided all dispatchers are onlystar
What is new in version 2012.12:
- Parse errors are much improved, and follow STD, the standard parser,
- much more closely; they are more accurate and more information is given
- Rakudo now keeps parsing after some less serious errors
- Better errors for various parse failures
- The junction autothreader is now an order of magnitude faster
- Texas (ASCII) versions of the Set and Bag operators implemented
- Nested Pairs now give correct .perl output
What is new in version 2012.11:
- Implemented precedence related traits (equiv, looser, tighter, assoc)
- Perl 6 grammar NFAs are pre-computed, saving some work on each invocation; this shaved around 10% off the time needed to run the spectests
- regexes and quotes have better support for user-selected delimiters
- FIRST/NEXT/LAST can now be used in all types of loop (previously limited to for)
What is new in version 2012.10:
- The method case of the handles trait
- The <-> lambda, which defaults parameters to rw
- The :dba modifier in regexes
- The radix form :60[24, 59, 59]
- Improved coverage of Perl 5 regexes when the P5 modifier is used
- Correct parsing of nested quote delimiters
- Attributes in scope are now visible inside of an eval
What is new in version 2012.09:
- Basic macro support!
- Support for Perl 5 (m:P5/.../) regex syntax!
- Indirect type names in routine and type declarations are supported.
- We support the "is export" trait on constant declarations.
- The "is hidden" and base traits are supported.
- Str.wordcase, is-prime, and expmod are implemented.
- Compilation is slightly faster than before.
What is new in version 2012.08:
- Variables prefixed by | or \ in signatures are now sigilless, per updates to the Perl 6 specification.
- Circularities in module loading are now detected.
- An improved inliner, allowing a wider range of routines to be inlined.
- Str.bytes and lcfirst have been removed. The tclc builtin has been added.
- ‘abs' is now a normal subroutine instead of a prefix operator.
- IO::File and IO::Dir have been removed.
What is new in version 2012.07:
- Built-in metaobjects (e.g. Metamodel::ClassHOW) now inherit from Any
- &open now supports the :enc/:encoding option
- Anonymous subset types (e.g., ‘subset :: of Int where { $_ > 0 }')
- Rakudo Star now ships with the Template::Mojo module
What is new in version 2012.06:
- Transitive longest-token matching in protoregexes
- Longest token matching for alternations
- Enhanced list and .map handling, including laziness fixes and performance improvements
- Can use an argument list with require
- Compile time errors in loaded modules now show a module loading backtrace
- String to number conversion now recognizes radix notation
- The &push and &unshift functions can now autovivify
What is new in version 2012.05:
- Rakudo now also includes the lib.pm module.
What is new in version 2012.04:
- Much improved startup time
- Much more robust module precompilation
- Autovivification for arrays and hashes is implemented again
- Many phasers like PRE, POST and REDO are now implemented
- Improved support for calling C functions and modelling structs and arrays
- via NativeCall.pm6
- Now includes modules URI, LWP::Simple, jsonrpc and Bailador (a Perl 6 port
- of Dancer)
What is new in version 2012.02:
- The FatRat type is implemented, and Rat arithmetic now properly defaults to Num if the denominator is too big
- Object hashes are implemented, and can be declared with the syntax my %h{Any} (for a hash with keys of type Any)
- The <Some::Grammar::rulename> syntax is now implemented in regexes; <foo> can also be used to call predeclared lexical rules
- The Int($x) coercion syntax is implemented
- &rename and © are now implemented
- Improvements to the reduction meta-operator (order of magnitude faster, some parsing issues fixed)
- The <prior> regex built-in is now available, and matches whatever the last successful match matched
- A $match.make(...) method is available to set the AST for a match object not stored in the $/ variable
- Improved backtraces
What is new in version 2012.01:
- Greatly improved performance in many areas. For some scripts, this release offers an order of magnitude performance improvement.
- POD6 support, including the $=POD variable to make the POD available at runtime and a -doc option to get at the POD
- The Int type now has big integer semantics
- Initial work on native types, which can be used to write much more efficient code
- LTM-driven protoregexes
- Meta-programming support, including custom meta-classes, overriding method dispatch and much more
- Exception handling is much closer to the specification, and thus much more useful
- Better package handling, including true separate compilation, lexical packages and better nested package handling
- An optimizer, which improves generated code as well as catching a range of issues at compile-time that previously made it to runtime
- Backslash sequences in character classes
- Stubbed methods from roles are now required, providing interface style functionality
What is new in version 2011.04:
- Modules MiniDBI, form, HTTP::Daemon, Yaml and Module::Tools are removed in this release.
- New modules Pies (including panda, the module installer) and HTTP::Server::Simple have been added.
- New implementation of IO::Socket::INET, with basic IPv6 support
- -p and -n command-line options are now available
- Many new IO improvements, including stat-related methods
- New -ll-backtrace command-line switch for printing PIR level stack traces
- Preliminary implementation of Infix ‘orelse'
- Added Str.indent
- Bugfixes to negation meta operator
- Support for complex conjugation
Requirements:
- C compiler
- Perl 5.8 or higher
- C library
- Parrot
Comments not found