Jason Erb
Jason Erb
Implement a Number program type with the following qualities: - Has a machine-independent representation. - Is implemented using [GMP](http://gmplib.org). - Is based on the [Extended Complex Plane](http://en.wikipedia.org/wiki/Riemann_sphere).
Rewrite the build system: - Use modern CMake idioms (targets and properties) - Use FindLibrary.cmake etc. for third-party libraries (and git submodules where possible) Links: - https://cliutils.gitlab.io/modern-cmake/ - https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/
Systematically ensure maximal unit test coverage and spawn issues as discovered.
Add metadata to operations that exposes user-readable documentation metadata, such as: - What does the operation do? - What program type will the next operand be converted to? - How...
Expose programmatically-usable operation metadata about the next expected program type(s). Depends on #8.
Audit operation architecture for potential refactoring into a state machine model, whereby receipt of an operand transitions into a new state, and perform any such refactoring.
Benchmark and optimize the code; may include implementing concurrent evaluation (using [Intel Threading Building Blocks](http://threadingbuildingblocks.org)).
Implement operations on the Number program type. Depends on #4. Includes: - Basic arithmetic operations. - Basic comparison operations, for which false is the empty string and true is the...