Revision history for Mylisp
1.00 2017-8-31
init project.
1.01 2017-9-4
mylisp grammar parse to Ast and save to Module, then could load rapid.
Slist :[] used for str list for match import and export.
add update() to modify grammar.
1.02 2017-9-4
add ToMylisp.pm to Parse code to Mylisp itself.
1.03 2017-9-4
add remove_ast_pos() as repl output interface.
Module export mylisp_to_ast()
1.04 2017-9-4
1. mylisp.pl add no argument help.
2. tidy all source code.
1.05 2017-9-4
sym 'else' and 'in' would not make special transfer,
only judge is_else in if expr. 'in' would check it
in lint-ast().
load-module() could load from package name return text
reject export keyword, function use def is exported.
add def keyword
1.06 aindex permit more than one index $array[1][2]
hkey also could add more than one key $a[:key][$key]
(my $name::Int $key[1][2])
no Slist and List, only array is enough.
no Mstr,
1.07 combin ToPerl.pm to Mylisp, For Optimizer ast.
1.08 Lint Type is complexiable, Only Lint Symbol if defined!
2.01 2017-10-10
generate from Mylisp language, use Estr as Ast data structure
2.02 2017-10-13
add Type declare for simuler structure of Golang
2.03 2017-10-15
combin Lint.pm to Type.pm and LintAst.pm
rewrite Type.pm
same function name for return different type is error
delete Stack type, use Array replace it.
rename Stable => Table
rename Table => Map