readme updates

This commit is contained in:
VaclavT 2021-05-20 23:05:41 +02:00
parent 07a04493fa
commit b7fd6a9411
1 changed files with 8 additions and 35 deletions

View File

@ -4,7 +4,6 @@
- better error reporting..for example ls_dir on non existing dir should prind `pwd` dir - better error reporting..for example ls_dir on non existing dir should prind `pwd` dir
### TODO ### TODO
- add debug support, at least call stack - add debug support, at least call stack
- multiline editing (kilo editor) - multiline editing (kilo editor)
@ -19,13 +18,8 @@
- add instrumentation (time, nr of evals, num of atoms, debug info, debug environment etc) - add instrumentation (time, nr of evals, num of atoms, debug info, debug environment etc)
#### Language #### Language
- support for "t" symbol as a true - support for "t" symbol as a true
- file functions - support for exceptions
- open file
- read line
- write line
- close file
- string functions - string functions
- char to int - ktoi (better names) - maybe mini printf can be useed for it (%d (one_char_string))
- compare - needed for sorting, cmp ignore case - compare - needed for sorting, cmp ignore case
- regexp functions - regexp functions
- date support - date support
@ -34,10 +28,10 @@
- get-env, set-env; set-env cannot be implemented in stdlib.lsp, because popen is in fact subshell - get-env, set-env; set-env cannot be implemented in stdlib.lsp, because popen is in fact subshell
- add include-stdlib function for other libs in stdlib dir (during startup stdlib.lsp is loaded only) - add include-stdlib function for other libs in stdlib dir (during startup stdlib.lsp is loaded only)
- syntax highlighting do VS Code - syntax highlighting do VS Code
- add hash datatype
#### Performance #### Performance
- define is one of most frequent callee, when in scope with very few vars, lookup sequentially - define is one of most frequent callee, when in scope with very few vars, lookup sequentially
- first, second are often called -> implement in c++
- push_back - repeatedly without reserving size - push_back - repeatedly without reserving size
- range - with for(int i...) and reserving result size can be 3times faster on (range 1 10000) - range - with for(int i...) and reserving result size can be 3times faster on (range 1 10000)
- mini_sprintf - unnecesary copying between vector and list - mini_sprintf - unnecesary copying between vector and list
@ -58,44 +52,23 @@ c++ -o build/ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -
cp build/ml /usr/local/bin/ml cp build/ml /usr/local/bin/ml
cp stdlib/*.lsp /usr/local/var/mlisp/ cp stdlib/*.lsp /usr/local/var/mlisp/
``` ```
or
```
utils/local_install.sh
```
### Example of use ### Example of use
``` ```
./build/ml -f debug.lisp ml -f tests/test.lsp
``` ```
### Links ### Links
https://markdowntohtml.com/
https://hyperpolyglot.org/lisp
https://www.tutorialspoint.com/lisp/index.htm
https://github.com/adam-mcdaniel/wisp https://github.com/adam-mcdaniel/wisp
http://www.ulisp.com/show?1AWG
http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/
https://github.com/dropbox/json11 https://github.com/dropbox/json11
https://github.com/antirez/linenoise
#### 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 #### 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 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/
#### Editor
https://viewsourcecode.org/snaptoken/kilo/07.syntaxHighlighting.html
http://antirez.com/news/108
https://github.com/antirez/kilo