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

From Octave
Jump to navigation Jump to search
Line 37: Line 37:


* 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)?
** Issue treatment of escape characters (first interpreted when Xprintf is applied).
*** https://www.mathworks.com/help/matlab/ref/string.html
* Suggestion to implement an initial string class at one point
** Many existing Octave code (packages) might break.
** In the transition time using
*** Octave .dot files to manage how double quoted strings are treated
*** Implement convertStringsToChars and solve issue per function basis (Matlab compatible, but lots of work).
**** https://www.mathworks.com/help/matlab/ref/convertstringstochars.html
* Initial implementation by Andrew Janke
** https://github.com/apjanke/octave-tablicious/blob/master/inst/string.m
** http://blog.apjanke.net/2019/04/20/matlab-string-representation-is-a-mess.html
=== Classdef ===
* Wish to define classdef classes from C++ "nicely" (currently only from m-files comfortable usable).
* This would also help implementing the string class.


=== C++17 ===
=== C++17 ===

Revision as of 02:30, 28 April 2021

Todays topics

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

MXE Octave branches

  • Which changes should go on which branch?
    • "default": everything new
    • "release": conservative updates
      • new Octave packages + dependent libraries (if necessary and applicable)
      • MXE libraries which have severe bugs / security issues.
  • Which branch should the buildbots use?

Buildbots

GitHub

  • Markus wants to try out using GitHub runners
  • Therefore a folder ".github" will be added to the Octave main repo
    • Can be removed anytime if it proves as not useful.
  • If other services (despite GitHub) are going to be tested, respective files might be added too.

String class strategy

Classdef

  • Wish to define classdef classes from C++ "nicely" (currently only from m-files comfortable usable).
  • This would also help implementing the string class.

C++17

General consensus was to stay with C++11 until a "killer application" shows up that rectifies changing to a newer standard.

Short introduction: SavannahAPI

Bug Maintenance/Clean Up

The author of this topic did not attend the meeting. There was a short discussion about GSoC and the Short projects page.

There are already ~1600 open bugs at 1 min/bug this is over 1 day. This is not manageable. Many of these could be closed:

  • Are complete because a new version is released #53576
  • Can be implemented since there is a new version #50820 notice comments 24 & 25
  • Maintainers have the function but have not submitted it #58530

For preparing for GSoC it states to fix bugs, missing functions, etc. The ideal scenario would mean being inundated with fixes, and new functions. A maintained Short projects page would be necessary to avoid comments as in #32088.

What is the best approach to resolving this?

  • A new wiki page so one with permission can see all the "easy closes".
    • Please reuse the Short projects page for this purpose, which is currently unmaintained.
  • Pinging bugs/patches for a status update.
    • Yes, always a good idea and this is basically what happens very slowly. It would be great to see more volunteers triaging the bug and patch trackers.

Previous topics

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

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.
  • improve HDF5 integration

Documentation

Ideas for next meeting

See also