Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: e4641d7978
Fetching contributors…

Cannot retrieve contributors at this time

executable file 148 lines (66 sloc) 2.546 kb
TODO list for Perlito6
* Perlito6
- rename directory Perlito to Perlito6
- move all internal packages inside Perlito6 namespace
- move tests from "t/" to "t6/"
* module
- add exceptions
- complete ast nodes implementation
* Command line compiler (src6/util/
- build Ast cache using JSON (we currently use Perl5 Data::Dumper) or XML (Go has XML and JSON input)
- option to build binaries (Lisp, Java, Go) or modules (Perl, Lisp, Javascript)
- add "make" capabilities (test file dates, etc)
- does it need a config file? (lib location, make details)
- add '-B' option (execute)
* Perlito6 in Javascript
- reuse the good parts of Perlito5 data model
* Perlito6 in Rakudo
- Rakudo should be able to execute Perlito6 directly. What do we need to fix in both sides?
* Perlito6 in Lisp
- test other Lisp implementations
* Perlito6 in Go
- document which release of Go to use
* Perlito6 in Perl5
(no issues at the moment)
* Perlito6 in Parrot
- finish OO, class variables
- fix die() parameter handling
* Perlito6 in Python
- module loading uses mangled filenames (with underlines); it should use dot-separated names instead.
* Perlito6 in Ruby
- module loading uses mangled filenames (with underlines); it should use dot-separated names instead.
* Missing Backends
- Haskell
- Clojure
* Missing Features
- detailed syntax errors
- type annotations - FIXED
- 'use v5' is not supported
(maybe not needed for Perlito)
- no 'state', 'constant', 'local'
- debugger
- chain operators - supported by the grammar, but no AST representation
- "loop(;;)"
- "when"
* Missing Features of the Token sub-compiler
- no quantifiers - FIXED
- no variable interpolation
- use the new precedence parser
* Nice to Have
- 'perlito-format' script (see gofmt and perltidy)
* Tests
- run some tests from the standard test suite
- use - FIXED
* Grammar
- item-assignment precedence is different from list-assignment
- captures like: / <a> <a>* / - the first capture must share storage with the second capture
- modify the grammar to return multi-line strings as multiple strings
(this makes it easier to write a beautifier script)
- parse Namespaces as array of string (we are going to split them anyway)
- double quote variable interpolation - FIXED (without method calls)
- and expression interpolation
- the grammar should be aware of function arity
* Semantics
- @a.values and %a.keys return Array
These should return a List
- Not implemented: %a = (list)
Jump to Line
Something went wrong with that request. Please try again.