### TODO - move system_cmd into ml_io - logical operators - documentation - add url of source/inspiration to clib/*.cpp - load std lib when starting - add more command line args - add stdtest - rename ivaluize - add benchmark - add some debug support?? - add instrumentation (time, nr of evals, debug info, debug environment etc) - in cating functions (as_string..) better exception description - add fuctions asecond,third, fourth... - add better print (syntaxhighligting) - add options -h -v #### Functionality - readline - execute system command - printf - support for including lisp lib - date support - file functions - name it here - string funtions - name it here - add hash datatype - add support for nil #### Performance - push_back - repeately without reserving size ### Example of use ``` time ./build/ml -c '(include "../example.lisp") (print (fact 1000))' ./build/ml -f debug.lisp ``` ### Links https://www.tutorialspoint.com/lisp/index.htm https://github.com/adam-mcdaniel/wisp https://github.com/dropbox/json11 #### std::vector https://stackoverflow.com/questions/12271017/initial-capacity-of-vector-in-c https://baptiste-wicht.com/posts/2012/12/cpp-benchmark-vector-list-deque.html #### parse http headers in c++ ``` ^(?:((?:https?|s?ftp):)\/\/)([^:\/\s]+)(?::(\d*))?(?:\/([^\s?#]+)?([?][^?#]*)?(#.*)?)? ``` https://stackoverflow.com/questions/25896916/parse-http-headers-in-c