JWE Project Ideas: Difference between revisions

Jump to navigation Jump to search
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- This file should be edited at https://wiki.octave.org/JWE_Project_Ideas -->
<!-- This file should be edited at https://wiki.octave.org/JWE_Project_Ideas -->
'''2021-11-19: This page is out of date -- jwe'''


== Language and functions ==
== Language and functions ==
Line 18: Line 20:


=== Syntax, semantics, and data types ===
=== Syntax, semantics, and data types ===
==== Matlab-compatible argument validation blocks ====
New language feature, syntax is accepted by parser now but argument validation is not performed.


==== Function handle refactoring ====
==== Function handle refactoring ====
Line 193: Line 199:
Should just read file and list info, not create dummy scope.  Likewise for whos function.
Should just read file and list info, not create dummy scope.  Likewise for whos function.


=== Maintenance and packaging ===
== Maintenance and packaging ==


==== General code quality ====
=== General code quality ===


* Use C++11 features where possible.
* Use C++11 features where possible.
Line 209: Line 215:
* Audit global variables and eliminate them where possible
* Audit global variables and eliminate them where possible


==== Symbol visibility ====
=== Symbol visibility ===


We really should be tagging the functions that we wish to export from shared libraries.
We really should be tagging the functions that we wish to export from shared libraries.


==== Dispatch types for functions ====
=== Dispatch types for functions ===


Search for "classes:" in sources to find the few current examples.
Search for "classes:" in sources to find the few current examples.


==== min/max nargin values ====
=== min/max nargin values ===


Should we do this, and allow the interpreter to automatically error when a function is given too few/many arguments?
Should we do this, and allow the interpreter to automatically error when a function is given too few/many arguments?


==== Toolboxes ====
=== Toolboxes ===


Move some core toolboxes (communications, control systems, image
Move some core toolboxes (communications, control systems, image
Line 231: Line 237:
equations package have already been moved to Octave.
equations package have already been moved to Octave.


==== Documentation ====
=== Documentation ===


* Docs for call stack with examples and illustrations
* Docs for call stack with examples and illustrations
Line 242: Line 248:
* Improve other Doxygen docs for internals to make it easier for new contributors to understand the Octave code base.
* Improve other Doxygen docs for internals to make it easier for new contributors to understand the Octave code base.


==== Windows distribution ====
=== Windows distribution ===


Eliminate the following msys packages.  Some might be removed
Eliminate the following msys packages.  Some might be removed

Navigation menu