mlisp/Readme.md

60 lines
1.5 KiB
Markdown

### TODO
- date support
- decode-universal-time
- add save-csv
- logical operators
- documentation
- add url of source/inspiration to clib/*.cpp
- support for including lisp libs
- add stdtest - to test every functionality
- rename ivaluize
- add benchmark
- add some debug support??
- add instrumentation (time, nr of evals, debug info, debug environment etc)
- in casting functions (as_string..) better exception description
- add better print (syntax high-lighting)
- format (printf)
- add comman line options -h -v
- readline
- execute system command should capture stderr
- add sleep
- file functions
- name it here
- string functions
- name it here
- regexp functions
- add hash datatype
- add support for nil
- conversion functions like parse-integer
- list function nth
#### Performance
- push_back - repeatedly 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