Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve code quality and performance #46

Open
Dandigit opened this issue Jul 8, 2019 · 2 comments
Open

Improve code quality and performance #46

Dandigit opened this issue Jul 8, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@Dandigit
Copy link
Member

Dandigit commented Jul 8, 2019

Issues as small as passing by value instead of reference to major design flaws in classes plague the code in this repository, and must be addressed.

This is the reference implementation of Enact, so first and foremost, it must work. But as a piece of code, it should also be correct, idiomatic and readable. More commenting needs to be done throughout the entire codebase.

Plus, it needs to run fast, without leaking memory. There's a long road ahead in terms of optimization that needs to be done.

It's certainly no easy feat, but I'm sure that over time, these issues can be gradually addressed and resolved.

@Dandigit
Copy link
Member Author

#65 addresses some issues regarding the usage of shared_ptr as opposed to unique_ptr in the AST. Also gets rid of the really hacky string reading code that the analyser used to look up typenames.

@Dandigit
Copy link
Member Author

#70 removes all global static classes, including Enact and GC, instead using a new Context class which manages all aspects of the interpreter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant