-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation
Description
Some ideas on how to improve the project:
New features
- Support
do {...} while (...);statements. #91 - Support variadic functions in pnut-exe
- Support
&on local and global variables in Shell backend. - Generate executables compatible with
macOS andWindows. Bonus points if they are αcτµαlly pδrταblε εxεcµταblε. - ARM/RISC-V backends.
Optimizations
- Pre-allocate AST nodes before recursive call to use AST node memory as return location for fun calls.
- Separate heap in 2 zones: one for the global state and one for the current declaration.
- Manually manage stack of local variables in parser to save on local variable management.
- Reuse assignment variable as temporary when possible. i.e.
a = f(f(a)) => _f a $a; _f a $a;instead of_f __t1 $a; _f a $__t1.
Code quality / Tech debt
- Unify the way the environment is tracked in the shell and exe backends.
- Add a CI/CD pipeline that tests Pnut on all supported platforms and makes releases for them.
- Improve errors produced by Pnut.
-
Rewrite pnut to use structs.Remove structs from pnut: Remove use of struct from pnut's source code #186
Other
- Improve README.md.
- Make a landing page for Pnut on pnut.sh.
- Add more examples.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentation