255
edits
No edit summary |
|||
Line 87: | Line 87: | ||
== Code quality == | == Code quality == | ||
* Better and more complete use of C++ namespaces. | |||
* Better use of C++ features. Especially standard library features as their implementation becomes more widely available. For example, we might be able to simplify some things in Octave by using the C++17 filesystem and special functions libraries, if they provide results that are at least as good what we are using now. | |||
* Eliminate C preprocessor macros where possible. | |||
* Use const in more parse tree functions. | |||
* remove, replace, or at least rename the "added static" concept in the symbol_record class. | |||
* Should not expose symbol_record in call_stack functions if possible. | |||
* Remove unused symbol_table/scope/record functions. | |||
* Do recursive functions work properly with load/save now? | |||
* Use enums for options internally (typically to replace bool values). | |||
* Audit global variables and eliminate them where possible. | |||
* Audit use of panic_* functions and replace with calls to error where possible. | |||
* Fix symbol visibility so we are mostly tagging namespace decls, not individual functions. | |||
* Complete use of dispatch types for functions (search for "classes:" to find the few current examples). | |||
* Tag for built-in functions to specify maxiumum number of inputs. | |||
== Windows distribution == | == Windows distribution == |