Skip to content

Improvement ideas #41

@laurenthuberdeau

Description

@laurenthuberdeau

Some ideas on how to improve the project:

New features

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions