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