Online Developer Meeting (2021-03-23): Difference between revisions

Jump to navigation Jump to search
m
→‎Backend code improvements: add links to discourse threads
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 asks GUI to print big matrix, GUI can confirm with user, etc.
** Big matrix output: interpreter could ask GUI to print big matrix, GUI could confirm with user, etc.
** Formatting (colors, URLs, etc.) can be done by the GUI.  Interpreter does not know about window-width, 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?
** Rik will compile a list of functions that are candidates for removal from core Octave.
** 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 will probably slow down symbol lookup some more.
** 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.
216

edits

Navigation menu