nelson v0.5.7 Release Notes

Release Date: 2021-07-24 // 3 months ago
  • ๐Ÿ”‹ Features:

    • ๐Ÿ‘ macros in memory reworked to support also MEX.

    • ๐Ÿ— C MEX compatibility, load and build fully compatible with other softwares.

    • inmem builtin returns names of functions, MEX-files in memory.

    • mexext builtin returns binary MEX file-name extension.

    • main function in .m no more require to be the first in file.

    • checks in the .m function that other local function names are not duplicated.

    • .m timestamp checked if addpath(...,'-frozen') is not enabled.

    • function_handle reworked to have an compatible behavior.

    • struct behavior with function_handle.

    • ๐Ÿ‘ clear reworked to support mex in memory.

    • โšก๏ธ nargin, nargout behavior with mex updated.

    • #474: exist: extended to manage mex function.

    • #449: conv2: 2-D convolution and conv: Convolution and polynomial multiplication.

    ๐Ÿ› Bug Fixes:

    • #468: A(':') = [] was not managed.

Previous changes from v0.5.6

  • ๐Ÿ’ฅ BREAKING CHANGE:

    ๐Ÿ”‹ Features:

    • function ... endfunction and function ... end are equivalent (increase compatibility ;).

    • file extension .m is managed by Nelson.

      • About compatibility: scripts and functions developed with Nelson should work with other tools managing .m files. The reciprocal is not necessarily true.
      • .m is default and alone file extension.
    • โšก๏ธ module skeleton updated to use to .m extension (Please update your code)

    • run builtin can also evaluate a macro function.

    • macro functions also searched in current directory.

    • ๐Ÿ“œ parser cleaned and generated with Bison 3.7.4

    • narginchk builtin: checks number of input arguments.

    • nargoutchk builtin: checks number of outnput arguments.

    • โ™ป๏ธ #448: data analysis module (Code refactoring).

    ๐Ÿ› Bug Fixes:

    • nmm('install', existing_module_directory) did not work as expected.

    • #451: var() returns an unexpected error.

    Compilation:

    • ๐ŸŽ #455: M1 macOS apple native support. It works but some gui features can crash due to young Qt support on M1.

    • โšก๏ธ Update fmt library to 8.0.