Editing Online Developer Meeting (2021-04-27)
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 6: | Line 6: | ||
* Meet and greet 5 minutes before meeting (audio testing). | * Meet and greet 5 minutes before meeting (audio testing). | ||
=== MXE Octave branches === | === MXE Octave branches and buildbots === | ||
* | * | ||
=== String class strategy === | === String class strategy === | ||
* Strategy for transition to string class syntax (incompatible to current double-quoted character vectors in Octave)? | * Strategy for transition to string class syntax (incompatible to current double-quoted character vectors in Octave)? | ||
=== C++17 === | === C++17 === | ||
* Allow using more modern C++ dialects (C++17 STL std::filesystem or boost::filesystem)? | * Allow using more modern C++ dialects (C++17 STL std::filesystem or boost::filesystem)? | ||
=== Short introduction: SavannahAPI === | === Short introduction: SavannahAPI === | ||
Line 71: | Line 23: | ||
* https://octave.space/savannah/ | * https://octave.space/savannah/ | ||
== | == Previous topics == | ||
=== Octave 7 === | |||
==== Previous idea collections for Octave 7 ==== | |||
* | * [[:Category:Development#Goals_for_upcoming_releases]] | ||
** | ** [[JWE Project Ideas]] | ||
* | ** [[GUI terminal widget]] | ||
** | * Discourse https://octave.discourse.group/t/goals-for-the-next-release/358 | ||
** https://octave.discourse.group/t/new-command-window-widget/501 | |||
== | ==== How to make Octave 7 visibly special? ==== | ||
* Implement Matlabs new String-class | |||
** Difficult, but highly demanded. | |||
* Builtin hash-operator | |||
** Distinct feature from Matlab | |||
===== Improve graphics ===== | ===== Improve graphics ===== | ||
* | * Use "new" OpenGL code path | ||
** Nice overview by [[User:Hg200]] | |||
** Likely to make plotting faster (more efficient methods to move data to graphics card) | |||
** Does '''not''' solve "double precision" problem, scaling must happen on Octave side even with new OpenGL code path | |||
* Consult professional OpenGL developer to review code | |||
** General agreement to spend Octave project money on this | ** General agreement to spend Octave project money on this | ||
Line 112: | Line 58: | ||
===== Command Window Widget ===== | ===== Command Window Widget ===== | ||
* | * [[GUI terminal widget]], https://octave.discourse.group/t/new-command-window-widget/501 (jwe's patch!) | ||
* Of special interest for MS Windows users | |||
* Unify widget for all OSes | |||
* Make jwe's patch a configurable options for testing (nothing to use productively yet) | |||
* Need to implement own pager (alternatively: scroll bar only) | |||
* Better responsibility delegation between GUI and interpreter | |||
** Big matrix output: interpreter could ask GUI to print big matrix, GUI could confirm with user, 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 ===== | ||
* "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 (e.g. of interpreter lookups) | ** use <code>std::unordered_map</code>, rather than <code>std::map</code> to increase performance (e.g. of interpreter lookups) | ||
Line 124: | Line 77: | ||
* 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 | |||
** 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. | |||
** Key to support latest Matlab file formats. Try to implement in the interfaces for that format in .m file functions. | |||
** Some developers very interested in this! | |||
==== Documentation ==== | ==== Documentation ==== | ||
* Split Octave manual https://octave.org/doc/latest into | * Split Octave manual https://octave.org/doc/latest into | ||
** Function reference, like Octave Forge https://octave.sourceforge.io/docs.php | ** Function reference, like Octave Forge https://octave.sourceforge.io/docs.php | ||
*** | *** Need knowledge how it was created (Kai looks at this again) | ||
*** Once succeeded, hosted at https://octave.org/doc/ | |||
** Usage manual (like the current one, more detailed, without @docstrings) | ** Usage manual (like the current one, more detailed, without @docstrings) | ||