Permalink
Browse files

[doc/ROADMAP] added

  • Loading branch information...
1 parent 9a9d1bb commit 6f6d0740eb9aab5a78cab9004256684f75498625 @masak committed Jan 1, 2011
Showing with 55 additions and 0 deletions.
  1. +2 −0 README
  2. +3 −0 doc/ChangeLog
  3. +50 −0 doc/ROADMAP
View
@@ -40,6 +40,8 @@ Things we hope to implement in the immediate future:
* Function calls
* Phasers
+For more detailed information, see doc/ROADMAP.
+
== Raison d'être
Besides being useful as a p6-in-p6 implementation, Yapsi also might work as
View
@@ -1,3 +1,6 @@
+New in 2011.01 release
++ a roadmap
+
New in 2010.12 release
+ non-immediate blocks
+ calling blocks and variables
View
@@ -0,0 +1,50 @@
+Yapsi Roadmap
+-------------
+
+Last updated: 2011-01-01
+
+This roadmap deliberately limits itself by the horizons of the current
+design. That is, it would certainly be possible to dream further than
+this document does, but this document doesn't.
+
+FUTURE
+------
+
+"FUTURE" is the name of an abstract syntax tree format for Yapsi. It's
+almost, but not quite, entirely unlike PAST.
+
+The current model for parsing is reaching its limits, and needs replacing
+according to the ideas in
+http://strangelyconsistent.org/blog/its-just-a-tree-silly -- basically, add
+another compiler stage that manipulates trees:
+
+ grammar parse/action methods
+ traverse the tree
+ FUTURE <--- new step
+ SIC
+
+This will allow for some syntactic sugar that is quite difficult to write
+at the moment.
+
+C backend
+---------
+
+It would be interesting to explore how fast a SIC *bytecode* interpreter
+could be made to run. (SIC bytecode would simply be the textual SIC
+instructions converted into a bytecode format.) The Perl 6 Yapsi runtime
+isn't optimized to be fast, but this one could be.
+
+Mid-term goals
+--------------
+
++ named subs
++ &return
++ FIRST, LAST phasers
++ &last, &redo, &next (using control exceptions)
++ &return re-implemented using control exceptions
++ &die using control exceptions
++ INIT, END phasers
++ START phaser
++ ENTER, LEAVE/KEEP/UNDO phasers
++ PRE, POST phasers
++ CATCH, CONTROL phasers

0 comments on commit 6f6d074

Please sign in to comment.