Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 3a54a7ec30
Fetching contributors…

Cannot retrieve contributors at this time

44 lines (34 sloc) 1.883 kb
Niecza: Where we are and where we're going
This file is loosely modelled on "ROADMAP" from Rakudo. However, that
name sucks; a ROADMAP is strictly a spatial thing, and this is more of
a temporal one.
What we have
Data model: Containers are available for r/w parameter aliasing. Most
of the basic types are available, including Num, Str, Bool, Array,
Int, Hash, Sub, Regex, Cursor, Any, Mu, etc.
The underlying infrastructure for active containers exists, but Proxy
is still spelled _newtiedscalar. Lazy autovivification per S09 is
supported, but using a Rakudo-like Any!Any::butWHENCE API.
Control model: Coroutine control flow (gather / take) is supported.
Control exceptions are available, and support lexotic and dynamic
operation. Dynamically scoped dispatcher control is available
via nextwith and callwith.
Type system: Nominal type checking for arguments and containers is
available. Type checking is based on superclasses only; runtime role
checking is not available. Role definitions are possible but can
only be used for infix:<but> mixins; compile time composition is not
available. Roles can only be mixed in to type objects. Roles may be
parameterized using arbitrary objects, but caching is only available
for string parameters. C3 MRO generation is implemented and done at
compile time.
Operations: Primitive operations on numbers and strings (such as +,
substr, etc) are available, but many holes exist in more complicated
things, such as trans.
Regexes: Very solid support; probably most complete of any current
compiler. Ratchet mode, grammars, :lang, embedded blocks, check
blocks, cut operators, cross-rule cut operators, quantifiers
including ~ setting $*GOAL, :dba, automaton-based LTM, variables,
capture operators, :i on literals, etc.
Odds and ends: A JSYNC loader/saver was created
Jump to Line
Something went wrong with that request. Please try again.