216
edits
m (→Backend code improvements: add links to discourse threads) |
|||
(One intermediate revision by the same user not shown) | |||
Line 43: | Line 43: | ||
* Unify widget for all OSes | * Unify widget for all OSes | ||
* Make jwe's patch a configurable options for testing (nothing to use productively yet) | * Make jwe's patch a configurable options for testing (nothing to use productively yet) | ||
* Need to implement own pager (scroll bar) | * Need to implement own pager (alternatively: scroll bar only) | ||
* Better responsibility delegation between GUI and interpreter | * Better responsibility delegation between GUI and interpreter | ||
** Big matrix output: interpreter | ** Big matrix output: interpreter could ask GUI to print big matrix, GUI could confirm with user, etc. | ||
** Formatting (colors, URLs, etc.) | ** Formatting (colors, URLs, etc.) could be done by the GUI. Interpreter does not need to know about window-width, etc. | ||
===== Backend code improvements ===== | ===== Backend code improvements ===== | ||
Line 52: | Line 52: | ||
* "Ditch" old UNIX system functions (e.g. popen) | * "Ditch" old UNIX system functions (e.g. popen) | ||
** Move to package? | ** Move to package? | ||
** | ** compose a list of functions that are candidates for removal from core Octave. See: [https://octave.discourse.group/t/moving-posix-system-call-and-library-functions-out-of-core-octave/1027 Moving POSIX system call and library functions out of core Octave] | ||
* performance of symbol lookup | * performance of symbol lookup | ||
** use <code>std::unordered_map</code>, rather than <code>std::map</code> to increase performance of interpreter lookups | ** use <code>std::unordered_map</code>, rather than <code>std::map</code> to increase performance (e.g. of interpreter lookups) | ||
** Potentially implement "import" keyword? That | ** Potentially implement "import" keyword? That would probably slow down symbol lookup some more. | ||
* Replace custom reference counters with implementation using <code>std::shared_ptr</code> | * Replace custom reference counters with implementation using <code>std::shared_ptr</code> | ||
** Some instances are more difficult to replace. jwe will post something about this on the discourse forum. | ** Some instances are more difficult to replace. jwe will post something about this on the discourse forum. | ||
* favor C++ std-library functions over gnulib where possible | * favor C++ std-library functions over gnulib where possible | ||
** Maybe require C++14 or C++17? | ** Maybe require C++14 or C++17? See: [https://octave.discourse.group/t/using-c-17-features/1026 Using C++17 features] | ||
* improve HDF5 integration | * improve HDF5 integration | ||
** Add "wrapper" for libhdf5 functions in Octave's scripting language. | ** Add "wrapper" for libhdf5 functions in Octave's scripting language. |
edits