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

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 21:04, 21 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