Dyalog APL versions: Difference between revisions

Jump to navigation Jump to search
3,135 bytes added ,  11:01, 12 November 2019
no edit summary
Miraheze>Marshall
(Created page with "Dyalog APL is released in numbered versions, with approximately one version per year. Each release version is classified as a major (.0) or minor (point) release, dependin...")
 
Miraheze>Marshall
No edit summary
Line 1: Line 1:
[[Dyalog APL]] is released in numbered versions, with approximately one version per year. Each release version is classified as a major (.0) or minor (point) release, depending on whether the major version number is incremented. Major versions are more likely to introduce new features and may spend longer in development.
[[Dyalog APL]] is released in numbered versions, with approximately one version per year. Each release version is classified as a major (.0) or minor (point) release, depending on whether the major version number is incremented. Major versions are more likely to introduce new features and may spend longer in development.
== 17.0 ==
Version 17.0 release [https://www.dyalog.com/dyalog/dyalog-versions/170.htm announcement], [http://help.dyalog.com/17.0/Content/RelNotes17.0/Language%20Enhancements.htm notes]
Version 17.0 was released in July 2018. It features significant work on tools for using APL and interfacing with other languages, as well as performance, and a relatively small number of new language features.
[[Total array ordering]] (TAO) was added in version 17.0, making it the first APL implementation to order entire arrays rather than cells of a single array. This allows [[Grade Up]] (<source lang=apl inline>⍋</source>), [[Grade down]] (<source lang=apl inline>⍒</source>), and [[Interval Index]] (<source lang=apl inline>⍸</source>) to work on [[nested array]]s.
17.0 featured improvements to the HTML-based [[session]] environment [[RIDE]], and a preliminary version of [[Dyalog APL Link|Link]], which was fully released in [[#17.1|17.1]]. It also improved the positioning of the session's [[error caret]]: prior to 17.0 the caret usually pointed to a position further left than the source of an error, while in 17.0 and later it almost always points to the actual primitive or named function or operator which emitted the error, or the beginning of the derived function which did.
Support for packaging APL code as a [[wikipedia:Shared library|shared library]] (for instance a .so or .dll file) for use by other languages was added.
[[Portable file function]] support was improved, with changes including new functions <source lang=apl inline>⎕NCOPY</source> and <source lang=apl inline>⎕NMOVE</source> to copy and move files.
Version 17.0 implemented substantial [https://www.dyalog.com/dyalog/dyalog-versions/170/performance.htm performance improvements] in many areas. The most important improvements were better use of vector instructions including support for [[wikipedia:NEON (instruction set)|ARM NEON]] and [[wikipedia:AVX2|AVX2]] and vectorised [[comparison function]]s, simplification of trivial cases for functions, improved [[Boolean]] algorithms, and improvements to [[Replicate]], [[Expand]], and [[Where]].
== 17.1 ==
Version 17.1 release [https://www.dyalog.com/dyalog/dyalog-versions/171.htm announcement], [http://help.dyalog.com/latest/index.htm#RelNotes17.1/Highlights.htm notes]
Version 17.1 was released in October 2019, shortly after the [[Dyalog '19]] user meeting. It contains few new features and almost no performance changes. The primary changes to the language were to add the [[Dyalog APL Link|Link]] system using <source lang=apl inline>]LINK</source>, allow running Dyalog through [[wikipedia:Docker (software)|docker]] containers, and improve cross-platform support for [[HTMLRenderer]]. Additionally, Dyalog's licensing was changed to allow non-commercial users to download and run it for free, without applying for a non-commercial license from Dyalog.
The [[Interval Index]] (<source lang=apl inline>⍸</source>) primitive was extended to allow duplicate values in the left argument (a feature already present in [[J]], which does not verify that the left argument is sorted).


== 18.0 ==
== 18.0 ==
Anonymous user

Navigation menu