mirror of
https://github.com/janet-lang/janet
synced 2024-11-30 20:09:54 +00:00
Make some changes to README.md with things to do.
This commit is contained in:
parent
abbe6b13f1
commit
a382c62db8
29
README.md
29
README.md
@ -40,3 +40,32 @@ client directory, so running a program `script.gst` from the project directory
|
|||||||
client/gst script.gst
|
client/gst script.gst
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Todo
|
||||||
|
|
||||||
|
* Use serialization to allow creation of bytecode files that can be loaded.
|
||||||
|
This includes defining a file format for the bytecode files.
|
||||||
|
* Better error messages, expecially for compilation. This probably means string
|
||||||
|
formating functions.
|
||||||
|
* Pattern matching/regex library.
|
||||||
|
* Macro/specials system that happens before compilation
|
||||||
|
* Module system that happens before compilation. This would be closely tied to
|
||||||
|
the macro/specials system (require implemented as compile time special). For
|
||||||
|
now, a runtime require might make more sense.
|
||||||
|
* Change name (gst is the name of many projects, including GNU Smalltalk).
|
||||||
|
Maybe make logo :)?
|
||||||
|
* Automated testing, including Makefile target.
|
||||||
|
* Travis CI.
|
||||||
|
* Change C API to be stack based for fewer potential memory management
|
||||||
|
problems. This could mean making current C API internal and use separate
|
||||||
|
API externally.
|
||||||
|
* Store source information in parallel data structure after parsing
|
||||||
|
* Use source information during compilation
|
||||||
|
* Bitwise operators that operate on integer types
|
||||||
|
* Use Lua style memory alocator backend C API (one single function for
|
||||||
|
allocating/reallocating/freeing memory).
|
||||||
|
* More CLI functionality for main client
|
||||||
|
* Document builtin libraries and functions.
|
||||||
|
* Document C API.
|
||||||
|
* More builtin libraires.
|
||||||
|
* Fuzzing
|
||||||
|
|
||||||
|
@ -42,7 +42,6 @@ int debug_compile_and_run(Gst *vm, GstValue ast, GstValue last) {
|
|||||||
gst_compiler_usemodule(&c, "std.parse");
|
gst_compiler_usemodule(&c, "std.parse");
|
||||||
gst_compiler_usemodule(&c, "std.compile");
|
gst_compiler_usemodule(&c, "std.compile");
|
||||||
gst_compiler_global(&c, "_", last);
|
gst_compiler_global(&c, "_", last);
|
||||||
gst_compiler_globals(&c, gst_wrap_table(vm->registry));
|
|
||||||
func = gst_wrap_function(gst_compiler_compile(&c, ast));
|
func = gst_wrap_function(gst_compiler_compile(&c, ast));
|
||||||
/* Check for compilation errors */
|
/* Check for compilation errors */
|
||||||
if (c.error.type != GST_NIL) {
|
if (c.error.type != GST_NIL) {
|
||||||
|
Loading…
Reference in New Issue
Block a user