## Mylisp Mylisp is like lisp which could easily transfer to Ast. It has Many programming language in the world, they could tranfer each other. To install this tool, please install Perl5 in your computer at first. > cpan > install Mylisp DESCRIPTION Mylisp define a language and lanugage Ast that could transfer to other programming language. SYNTAX # Module declare (package Spp::Tools) # do not load module, builtin (module Spp::Builtin) # load Package without import function (use Class::Name) # load Package with import function (import Package::Name [name list]) # def function is exported (func (exported-func $args) (say :hello)) # func function is not exported (func (private-func $args) (say :hello)) # manyline string (my $long_str """ a b c """) # define scalar (my $scalar \b) (my $scalar::Str \b) # define array (my @array []) (my $array::Array []) # define hash (my %hash Hash) (my %hash {}) (my %hash { :Str => Str}) (func (func-name @args) (exprs @args)) (my @func (fn (@args) (exprs @args))) (for ($n -> @array) (say $n)) (while (@n > 1) (inc @n) (say @n)) (if (is-int @x) (say "@x is int")) (if (is-str @x) (say "@x is str")) (else (say "@x in not int")) (given @x (when :a (say "x is a")) (when :b (say "x is b")) (then (say "x is c"))) (const @constant [1 2 3]) (if (@x == 'key') (say '@x is key')) (else (say '@x is str') (say '@x len is 3)) (given $x (when :key (say '@x is key')) (then (say '@x not key'))) (my $char (first $str)) (my $element (first $array)) (my $hash Table) (set $hash[:key] :ok) (set $hash[$key] :ok) (my $array Ints) (push $array 1) (my [$x $y] [1, 2]) (set $array[0] 2) (set $array[0:2] [1, 2]) (func (match-char $char $c:Cursor) (-> Str) (return :x)) (func (get-array @array:Strs) (-> Nil) (for ($atom -> @array) (say "it is array"))) SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc Mylisp You can also look for information at: RT, CPAN's request tracker (report bugs here) http://rt.cpan.org/NoAuth/Bugs.html?Dist=Mylisp AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Mylisp CPAN Ratings http://cpanratings.perl.org/d/Mylisp Search CPAN http://search.cpan.org/dist/Mylisp/ LICENSE AND COPYRIGHT Copyright (C) 2017 Micheal Song This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.