callstack added
This commit is contained in:
39
Readme.md
39
Readme.md
@@ -7,19 +7,28 @@
|
||||
|
||||
|
||||
### TODO
|
||||
- replace to_string macro in ml.cpp
|
||||
- add debug support, at least call stack
|
||||
- documentation
|
||||
- add url of source/inspiration to clib/*.cpp
|
||||
- add stdtest - to test every functionality
|
||||
- add instrumentation (time, nr of evals, num of atoms, debug info, debug environment etc)
|
||||
- add parenthesis coloring into linenoise
|
||||
- multiline editing (kilo editor)
|
||||
- execute system command should capture stderr
|
||||
- add some mem stats to benchmark
|
||||
- create pastebin like web using ml
|
||||
#### Code
|
||||
- documentation
|
||||
- rename constants in ml_profiler.h
|
||||
- replace to_string macro in ml.cpp
|
||||
- add url of source/inspiration to clib/*.cpp
|
||||
- add instrumentation (time, nr of evals, num of atoms, debug info, debug environment etc)
|
||||
#### Language
|
||||
- support for (), nil, t, in lsp code replace 0 by nil in logicals
|
||||
- file functions
|
||||
- name it here
|
||||
- open file
|
||||
- read line
|
||||
- write line
|
||||
- close file
|
||||
- string functions
|
||||
- itok - integer to char, chartoint (better names) - mini printf can be useed for it (%d)
|
||||
- compare - needed for sorting, cmp ignore case
|
||||
- regexp functions
|
||||
- date support
|
||||
@@ -31,7 +40,6 @@
|
||||
- mapcar (funcall, apply)
|
||||
- syntax highlighting do VS Code
|
||||
- add hash datatype
|
||||
- create pastebin like web using ml
|
||||
|
||||
#### Performance
|
||||
- define is one of most frequent callee, when in scope with very few vars, lookup sequentially
|
||||
@@ -40,24 +48,25 @@
|
||||
- mini_sprintf - unnecesary copying between vector and list
|
||||
- (do, scope ..) repeatedly assign to acc
|
||||
|
||||
#### Compile
|
||||
```
|
||||
mkdir -p build
|
||||
gcc -std=c99 -c -O2 -o linenoise.o clib/linenoise.c
|
||||
c++ -c -O2 -I/usr/local/opt/openssl/include -Iclib --std=c++17 ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/printf.cpp
|
||||
// on linux c++ -o build/ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl *.o
|
||||
c++ -o build/ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl -Wl,-stack_size -Wl,0x1000000 *.o
|
||||
```
|
||||
// or cmake
|
||||
|
||||
#### Install
|
||||
```
|
||||
cp build/ml /usr/local/bin/ml
|
||||
cp stdlib/*.lsp /usr/local/var/mlisp/
|
||||
```
|
||||
|
||||
#### Compile
|
||||
```
|
||||
gcc -std=c99 -c -O2 -o linenoise.o clib/linenoise.c
|
||||
c++ -c -O2 -I/usr/local/opt/openssl/include -Iclib --std=c++17 ml.cpp ml_io.cpp ml_date.cpp ml_string.cpp ml_util.cpp ml_profiler.cpp clib/json11.cpp clib/csvparser.cpp clib/sslclient.cpp clib/printf.cpp
|
||||
c++ -o ml -O2 -L/usr/local/lib -L/usr/local/opt/openssl/lib -lm -lstdc++ -lcrypto -lssl -Wl,-stack_size -Wl,0x1000000 *.o
|
||||
```
|
||||
or
|
||||
cmake
|
||||
|
||||
### Example of use
|
||||
```
|
||||
time ./build/ml -c '(include "../example.lisp") (print (fact 1000))'
|
||||
./build/ml -f debug.lisp
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user