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

From Octave
Jump to navigation Jump to search
m
Line 37: Line 37:
 
* Deprecation of Octave operators
 
* Deprecation of Octave operators
 
** Improve Matlab compatibility
 
** Improve Matlab compatibility
** Some extensions make it painful to implement Matlab compatible command-style function calls? (some clarification needed)
+
** Some extensions make it painful to implement Matlab compatible command-style function calls? See also the [https://octave.discourse.group/t/parsing-command-style-function-call-syntax/1414/7 discussion] about this topic.
 
*** Remove rarely used extensions like "**" power.
 
*** Remove rarely used extensions like "**" power.
 
*** Discussion about removal of "+=", "++", etc.  No final decision made.
 
*** Discussion about removal of "+=", "++", etc.  No final decision made.
*** Often used extensions like "!" == "~" must probably stay.
+
*** Often used extensions must probably stay (like "!" or "!=" used in place of "~" or "~=").
  
 
=== C++ shared pointer / liboctave ===
 
=== C++ shared pointer / liboctave ===

Revision as of 03:39, 28 July 2021

Todays topics

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

Octave 6.3 released

  • No "official" announcement happened. Maybe reuse abandoned mailing-lists to announce important events, such as releases.
  • How do distribution maintainers get to know about Octave releases?
    • Contact Debian maintainers of the Octave package to maybe improve our communication (Kai).

Octave 6.4 / 7 / 8

  • Discussion how to continue with the development.
    • jwe wants to introduce breaking changes (see below).
  • Octave should stick with the ~yearly major release cycle
    • Probably no Octave 6.4 (only if severe bugs occur).
    • Octave 7 (default branch)
      • Should no longer receive "very" breaking changes (e.g. String-class for Octave 8)
      • Has about 305 bugs fixed (not 100% reliable figure) and should not wait another year until many bigger outstanding changes happen (will be deferred to Octave 8)
      • Tentative plan:
        • November 2021 merge default to stable.
        • End of 2021 release of Octave 7
    • Octave 8 (new default branch)
      • No clear decision how to handle very breaking changes until November 2021 merge default to stable. Depends on future needs.

Octave 7 / 8

  • Function argument parsing (introduced in Matlab R2019b, rather new)
    • jwe will continue to work on this feature on Octave 7 (default branch)
    • If feature cannot be completed by the end of the year, it will be disabled on parser-level (error), and introduced in Octave 8 one year later.
  • New GUI command widget
    • Possible to introduce it as user opt-in in Octave 7
    • Pending issues:
      • Command-widget does not look like the previous one (textbox for command input)
      • jwe needs better looking widget (avoid developing a new one)
      • No possibility to run external applications (like emacs, pager), which is already partially broken now. Need to implement own paging strategy (scroll bars, etc.)
  • Deprecation of Octave operators
    • Improve Matlab compatibility
    • Some extensions make it painful to implement Matlab compatible command-style function calls? See also the discussion about this topic.
      • Remove rarely used extensions like "**" power.
      • Discussion about removal of "+=", "++", etc. No final decision made.
      • Often used extensions must probably stay (like "!" or "!=" used in place of "~" or "~=").

C++ shared pointer / liboctave

  • jwe had a look at Octave own reference counting
  • Wish to replace it with C++ shared pointers
  • Expert knowledge wanted!
    • jwe will reach out on Discourse about the exact problems.
  • jwe identified "copy expensive" inefficiency about mxArray to octave_value conversion? (some clarification needed)
    • Root of the trouble lies in historical handling of complex data?? (some clarification needed)

Previous topics

The following items were not discussed. Just some links to progress on those items are displayed.

Octave 6.3.0

OctConf?

  • Instead of an in-person conference, meet up virtually.
  • Ideas for code-sprint?
    • Improve test coverage
    • That could include automated tests for GUI features ("expect", Qt test classes, set OCTAVE_SHOW_GUI_MESSAGES to 1 to display signals with missing connections, ...). Does anyone have experience with this?

GUI

  • Make widgets more modular
    • remove connections to parents (or parents of parents,...)
    • Only pass settings objects (instead of base qwidget) to widgets?
  • Add widgets for:
    • displaying call stack. Select function in stack for appropriate dbup or dbdown command.
    • displaying result to an expression. Similar to debugger (watcher, ...)
  • User expectations for evaluation code from the editor ("Evaluate selection") or the variable editor ("plot") while there is still pending input on the command line?

Breakpoints

  • Add feature to temporarily disable breakpoints
  • Check syntax for breakpoints in subfunctions, local functions, private functions, methods, ... (dbstatus). See: Identifiers for breakpoints

gsvd

  • Current version is not Matlab-compatible nor correct in some circumstances.
  • Rik is currently implementing a replacement.

IRC channel on Freenode is down?

  • Replacement on libera?
  • jwe will probably post something on discourse.
  • See: IRC channel for Octave (on Discourse).

See also