Rakudo

Software Screenshot:
Rakudo
Software Details:
Version: 2015.11 updated
Upload Date: 10 Feb 16
Distribution Type: Freeware
Downloads: 14

Rating: 4.0/5 (Total Votes: 2)

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

Similar Software

Comments to Rakudo

Comments not found
Add Comment
Turn on images!