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 2.04 2018-5-1 combin Spp and My module. 3.0 2018-5-4 re-disign tidy-perl and string parse