Online Developer Meeting (2021-04-27): Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎Todays topics: add SavannahAPI)
(→‎Octave 7: Some shortenings and updates.)
Line 28: Line 28:


==== Previous idea collections for 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
* Consult professional OpenGL developer to review code '''Any news here?'''
** 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 58: Line 42:
===== Command Window Widget =====
===== Command Window Widget =====


* [[GUI terminal widget]], https://octave.discourse.group/t/new-command-window-widget/501 (jwe's patch!)
* Updates: https://octave.discourse.group/t/new-command-window-widget/501/29
* 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 =====
Line 86: Line 63:
==== Documentation ====
==== Documentation ====


* Updates: https://octave.discourse.group/t/function-reference-documentation/959/7 and bug {{bug|60313}}
* 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)
*** Prototype (Kai): https://octave.org/doc/ref/octave/overview.html
*** 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)



Revision as of 04:04, 22 April 2021

Todays topics

  • Meet and greet 5 minutes before meeting (audio testing).

MXE Octave branches and buildbots

String class strategy

  • Strategy for transition to string class syntax (incompatible to current double-quoted character vectors in Octave)?

C++17

  • Allow using more modern C++ dialects (C++17 STL std::filesystem or boost::filesystem)?

Short introduction: SavannahAPI

Previous topics

Octave 7

Previous idea collections for Octave 7

Improve graphics
  • Consult professional OpenGL developer to review code Any news here?
    • General agreement to spend Octave project money on this
Implement Matlabs new input validation
  • jwe can create dummy tree-elements
    • Problem if values are evaluated, the "right" action must be done
  • Can those validation statements come at arbitrary positions or only at the beginning of the file?
Command Window Widget
Backend code improvements
  • "Ditch" old UNIX system functions (e.g. popen)
  • performance of symbol lookup
    • use std::unordered_map, rather than std::map to increase performance (e.g. of interpreter lookups)
    • Potentially implement "import" keyword? That would probably slow down symbol lookup some more.
  • Replace custom reference counters with implementation using std::shared_ptr
    • 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
  • 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

Ideas for next meeting

See also