mlisp/Readme.md

88 lines
2.3 KiB
Markdown

### BUGS
- see malformed_program - wrong parsing of comments - probably comment with "
### TODO
- test whether AIG,,,10 csv row is parsed
- support for (), nil, t, in lsp code replace 0 by nil in logicals
- print-table
- download 10 years of data from api.nasdaq.com into test dir
- documentation
- rename data.csv and add more tickers
- logical operators
- add url of source/inspiration to clib/*.cpp
- 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)
- add command line options -h -v
- readline
- execute system command should capture stderr
- add builtin sleep
- add built in for and, or
- file functions
- name it here
- string functions
- compare - needed for sorting
- uppper/lower case
- regexp functions
- date support
- decode-universal-time
- env functions
- get env
- set env
- add hash datatype
- conversion functions like parse-integer
- list function nth
- in test.lisp some explaining prints
- format (printf)
- setq
- mapcar (funcall, apply)
- if then else, else part is optionw, allow then clause
#### Performance
- push_back - repeatedly without reserving size
#### Install
```
cp build/ml /usr/local/bin/ml
cp stdlib/stdlib.lsp /usr/local/var/mlisp/stdlib.lsp
```
### Example of use
```
time ./build/ml -c '(include "../example.lisp") (print (fact 1000))'
./build/ml -f debug.lisp
```
### Links
https://hyperpolyglot.org/lisp
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
#### read stdout and stderr from popen
https://stackoverflow.com/questions/478898/how-do-i-execute-a-command-and-get-the-output-of-the-command-within-c-using-po
#### VPS providers
https://www.skysilk.com/cloud/pricing/#classId=Standard&section=2
https://contabo.com/en/
https://www.hetzner.com/de/