nature icon indicating copy to clipboard operation
nature copied to clipboard

TODO

Open weiwenhao opened this issue 6 months ago • 0 comments

  • [x] #141
  • [ ] Triple operator grammar support
  • [ ] Enum grammar support
  • [ ] struct label for json serialize
  • [ ] Delete the temporary build directory after the build is completed
  • [ ] Add the -vv parameter to display the build log
  • [x] Build the compiler source code using zig @wzzc-dev
  • [ ] The linker of nature attempts to call the zig ld implementation
  • [x] tcp/udp standard library implementation
  • [x] request annotation library implementation
  • [x] json standard library implementation
  • [ ] Default nature_root search path optimization, implemented based on exe pwd
  • [ ] The ident in the code error prompt uses the `` tag instead of the ''
  • [ ] lsp Test method and test cases
  • [ ] lsp bug, Structure defaults not detected
  • [x] lsp Add code prompt
  • [ ] Iterator refactoring
  • [ ] lsp Symbol table exception when changing file name.
  • [x] Type conversion is optimized inline and now calls the c code
  • [x] riscv64 support
  • [x] sqlite example
  • [x] mysql example
  • [x] for in index + struct failed
  • [x] Backquotes(``) don't do string escaping, And can support multi-line strings
  • [ ] Add gc switch, because some short-term applications do not care about memory loss, such as compilers, transcoders, etc.
  • [ ] riscv64 generation volume optimization
  • [ ] panic catch need optimization
  • [ ] jit closure has performance bottlenecks, try using the traditional closure solution
  • [ ] var func = foo.test, If test is an extension of foo, it cannot be assigned
  • [ ] struct instantiation for quick assignment, example var a = addr{ip, port}
  • [ ] std library log
  • [x] ~~Introduce libuv source code and perform static compilation based on cmake~~
  • [x] Standard library document format specification template
  • [ ] fn extend generic support fn request<T>.json<U>(T b) ? fn request.json<T>(T b)?
  • [ ] std json support ptr<T>
  • [ ] libarchive reference conflict. e.g. A -> B -> C(libsqlite_0.1.a),A -> D -> E(libsqlite_0.2.a)
  • [ ] wasm basic support
  • [ ] apt + brew install
  • [ ] Added lir error handle command instead of calling call directly to cause register spills.
  • [ ] match/catch last stmt auto ret
  • [ ] fn extend reactor, Perhaps a pattern like fn ptr<person_t>.test():?self type? is needed, or optimize the default behavior instead of performing unanticipated escape analysis
  • [ ] The impl fn of int/int64, uint/uint64, float/float64 need to be defined repeatedly, and can be converted to string for unified processing.
  • [x] When p is of type struct struct, it needs to be called via @sla(p).test() or @ula(p).test() with impl fn. But it might be possible to optimize the relevant case by making an automatic sla call when pointers to p need to be processed concurrently via escape analysis.
  • [ ] When multiple coroutines crash at the same time, the concurrent error message printing is messed up and should only output a stack trace of the crash

weiwenhao avatar Jun 21 '25 14:06 weiwenhao