Dyalog APL versions: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
mNo edit summary
(2 intermediate revisions by the same user not shown)
Line 19: Line 19:
== 11.0 ==
== 11.0 ==


[http://help.dyalog.com/12.1/html/interoperability.htm Release notes] ([http://docs.dyalog.com/12.0/Dyalog%20APL%20Release%20Notes.v11.0.pdf pdf])
[https://help.dyalog.com/12.1/html/interoperability.htm Release notes] ([https://docs.dyalog.com/12.0/Dyalog%20APL%20Release%20Notes.v11.0.pdf pdf])


Version 11.0 was released October 2006, and was released for both 32- and 64-bit systems—Dyalog's first 64-bit release aside from a much earlier [[wikipedia:DEC Alpha|DEC Alpha]] release. It introduced [[object-oriented programming]] extensions designed to work like [[.NET]] and based technologically on the existing [[namespace]]s. The primary new features were classes, instances (objects), and interfaces, supporting inheritance, access control, and constructors and destructors. Instances could be placed in arrays, and [[empty]] arrays could store the class of an instance in the [[prototype]]. When instantiated (for instance by taking the [[First]] element of an empty array), a prototype object would be created using the class's [[niladic]] constructor, if present. Classes could interact with namespaces by importing their functions as methods. Dyalog's Windows GUI framework, already based on .NET classes, was integrated with the new Dyalog classes.
Version 11.0 was released October 2006, and was released for both 32- and 64-bit systems—Dyalog's first 64-bit release aside from a much earlier [[wikipedia:DEC Alpha|DEC Alpha]] release. It introduced [[object-oriented programming]] extensions designed to work like [[.NET]] and based technologically on the existing [[namespace]]s. The primary new features were classes, instances (objects), and interfaces, supporting inheritance, access control, and constructors and destructors. Instances could be placed in arrays, and [[empty]] arrays could store the class of an instance in the [[prototype]]. When instantiated (for instance by taking the [[First]] element of an empty array), a prototype object would be created using the class's [[niladic]] constructor, if present. Classes could interact with namespaces by importing their functions as methods. Dyalog's Windows GUI framework, already based on .NET classes, was integrated with the new Dyalog classes.
Line 32: Line 32:
== 12.0 ==
== 12.0 ==


[http://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.0/Key%20Features.htm Release notes], [http://docs.dyalog.com/12.0 documentation centre]
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.0/Key%20Features.htm Release notes], [https://docs.dyalog.com/12.0 documentation centre]


Version 12.0 was released in August 2008. It introduced full [[Unicode]] support to Dyalog APL, so that all [[character]] data in the new Unicode edition consisted of Unicode code points. However, a Classic edition without Unicode (retaining Dyalog's old APL character set) was also released. As of version 18.0, every later Dyalog release has included both Classic and Unicode interpreters. Unicode characters were supported by three new [[internal type]]s: 1-byte, 2-byte, or 4-byte code points could be used depending on the maximum code point in the string. In each case a single element is a single code point, so the 1-byte and 2-byte encodings are compressed versions of [[wikipedia:UTF-32|UTF-32]], and are unrelated to variable-width encodings like [[wikipedia:UTF-8|UTF-8]] and [[wikipedia:UTF-16|UTF-16]]. This change affected the way character data was sorted, because Dyalog's character set did not have the same ordering as Unicode. The change to Unicode allowed a more standard way of implementing keyboard input to be used.
Version 12.0 was released in August 2008. It introduced full [[Unicode]] support to Dyalog APL, so that all [[character]] data in the new Unicode edition consisted of Unicode code points. However, a Classic edition without Unicode (retaining Dyalog's old APL character set) was also released. As of version 18.0, every later Dyalog release has included both Classic and Unicode interpreters. Unicode characters were supported by three new [[internal type]]s: 1-byte, 2-byte, or 4-byte code points could be used depending on the maximum code point in the string. In each case a single element is a single code point, so the 1-byte and 2-byte encodings are compressed versions of [[wikipedia:UTF-32|UTF-32]], and are unrelated to variable-width encodings like [[wikipedia:UTF-8|UTF-8]] and [[wikipedia:UTF-16|UTF-16]]. This change affected the way character data was sorted, because Dyalog's character set did not have the same ordering as Unicode. The change to Unicode allowed a more standard way of implementing keyboard input to be used.
Line 42: Line 42:
== 12.1 ==
== 12.1 ==


[http://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.1/Key%20Features.htm Release notes], [http://docs.dyalog.com/12.1 documentation centre]
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes12.1/Key%20Features.htm Release notes], [https://docs.dyalog.com/12.1 documentation centre]


Version 12.1 was released in November 2009. Although it was a minor release, developed alongside the much more ambitious version 13.0, it still included new language features in addition to improvements to the language environment and [[.NET]] integration.
Version 12.1 was released in November 2009. Although it was a minor release, developed alongside the much more ambitious version 13.0, it still included new language features in addition to improvements to the language environment and [[.NET]] integration.
Line 50: Line 50:
== 13.0 ==
== 13.0 ==


[http://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.0/Key%20Features.htm Release notes], [http://docs.dyalog.com/13.0 documentation centre]
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.0/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.0 documentation centre]


Version 13.0 was released in April 2011. It featured extensive changes to the language including support for [[Complex number|complex]] and [[decimal float]] [[numeric type]]s, [[identity function]] primitives, support for [[regular expression]]s, extensions to existing primitives, and new [[Idiom recognition|idioms]].
Version 13.0 was released in April 2011. It featured extensive changes to the language including support for [[Complex number|complex]] and [[decimal float]] [[numeric type]]s, [[identity function]] primitives, support for [[regular expression]]s, extensions to existing primitives, and new [[Idiom recognition|idioms]].
Line 76: Line 76:
== 13.1 ==
== 13.1 ==


[http://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.1/Key%20Features.htm Release notes], [http://docs.dyalog.com/13.1 documentation centre]
[https://help.dyalog.com/13.1/index_CSH.htm#RelNotes13.1/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.1 documentation centre]


Version 13.1 was released in April 2012.
Version 13.1 was released in April 2012.
Line 90: Line 90:
== 13.2 ==
== 13.2 ==


[http://help.dyalog.com/13.2/index_CSH.htm#RelNotes13.2/Key%20Features.htm Release notes], [http://docs.dyalog.com/13.2 documentation centre]
[https://help.dyalog.com/13.2/index_CSH.htm#RelNotes13.2/Key%20Features.htm Release notes], [https://docs.dyalog.com/13.2 documentation centre]


Version 13.2 was released in January 2013. It included GUI improvements, a new Array [[Editor]], and minor improvements in the language and implementation.
Version 13.2 was released in January 2013. It included GUI improvements, a new Array [[Editor]], and minor improvements in the language and implementation.
Line 100: Line 100:
== 14.0 ==
== 14.0 ==


Release [https://www.dyalog.com/dyalog/dyalog-versions/140.htm announcement], [http://help.dyalog.com/14.0/index_CSH.htm#RelNotes14.0/Key%20Features.htm notes] ([http://docs.dyalog.com/14.0/Dyalog%20APL%20Release%20Notes.pdf pdf])
Release [https://www.dyalog.com/dyalog/dyalog-versions/140.htm announcement], [https://help.dyalog.com/14.0/index_CSH.htm#RelNotes14.0/Key%20Features.htm notes] ([https://docs.dyalog.com/14.0/Dyalog%20APL%20Release%20Notes.pdf pdf])


Version 14.0 was released in June 2014. It featured extensive changes to the Dyalog APL language as well as its implementation.
Version 14.0 was released in June 2014. It featured extensive changes to the Dyalog APL language as well as its implementation.
Line 118: Line 118:
== 14.1 ==
== 14.1 ==


Release [https://www.dyalog.com/dyalog/dyalog-versions/141.htm announcement], [http://help.dyalog.com/14.1/index_CSH.htm#RelNotes14.1/Key%20Features.htm notes] ([http://docs.dyalog.com/14.1/Dyalog%20APL%20Release%20Notes.pdf pdf])
Release [https://www.dyalog.com/dyalog/dyalog-versions/141.htm announcement], [https://help.dyalog.com/14.1/index_CSH.htm#RelNotes14.1/Key%20Features.htm notes] ([https://docs.dyalog.com/14.1/Dyalog%20APL%20Release%20Notes.pdf pdf])


Version 14.1 was released in June 2015. It added support for Apple Mac OS (now [[wikipedia:macOS|macOS]]) using the new [[RIDE]] [[session]] environment, which was also released for Windows and Linux.
Version 14.1 was released in June 2015. It added support for Apple Mac OS (now [[wikipedia:macOS|macOS]]) using the new [[RIDE]] [[session]] environment, which was also released for Windows and Linux.
Line 130: Line 130:
== 15.0 ==
== 15.0 ==


Release [https://www.dyalog.com/dyalog/dyalog-versions/150.htm announcement], [http://help.dyalog.com/15.0/index_CSH.htm#RelNotes15.0/Key%20Features.htm notes] ([http://docs.dyalog.com/15.0/Dyalog%20Version%2015.0%20Release%20Notes.pdf pdf])
Release [https://www.dyalog.com/dyalog/dyalog-versions/150.htm announcement], [https://help.dyalog.com/15.0/index_CSH.htm#RelNotes15.0/Key%20Features.htm notes] ([https://docs.dyalog.com/15.0/Dyalog%20Version%2015.0%20Release%20Notes.pdf pdf])


Version 15.0 was released in June 2016. It added platform-independent [[portable file functions]] (<source lang=apl inline>⎕NEXISTS</source>, <source lang=apl inline>⎕NINFO</source>, <source lang=apl inline>⎕NGET</source>, <source lang=apl inline>⎕NPUT</source>, <source lang=apl inline>⎕NDELETE</source>, <source lang=apl inline>⎕MKDIR</source>, and <source lang=apl inline>⎕NPARTS</source>) and improved support for using APL source code from text files. It also added [[I-beam]]s for [[case conversion]] and creating [[hashed array]]s which behave identically to normal arrays but have faster performance when searched with [[set function]]s including [[Index-Of]] (<source lang=apl inline>⍳</source>) and [[Membership]] (<source lang=apl inline>∊</source>).
Version 15.0 was released in June 2016. It added platform-independent [[portable file functions]] (<source lang=apl inline>⎕NEXISTS</source>, <source lang=apl inline>⎕NINFO</source>, <source lang=apl inline>⎕NGET</source>, <source lang=apl inline>⎕NPUT</source>, <source lang=apl inline>⎕NDELETE</source>, <source lang=apl inline>⎕MKDIR</source>, and <source lang=apl inline>⎕NPARTS</source>) and improved support for using APL source code from text files. It also added [[I-beam]]s for [[case conversion]] and creating [[hashed array]]s which behave identically to normal arrays but have faster performance when searched with [[set function]]s including [[Index-Of]] (<source lang=apl inline>⍳</source>) and [[Membership]] (<source lang=apl inline>∊</source>).
Line 140: Line 140:
== 16.0 ==
== 16.0 ==


Release [https://www.dyalog.com/dyalog/dyalog-versions/160.htm announcement], [http://help.dyalog.com/16.0/index_CSH.htm#RelNotes16.0/Key%20Features.htm notes] ([http://docs.dyalog.com/16.0/Dyalog%20Version%2016.0%20Release%20Notes.pdf pdf])
Release [https://www.dyalog.com/dyalog/dyalog-versions/160.htm announcement], [https://help.dyalog.com/16.0/index_CSH.htm#RelNotes16.0/Key%20Features.htm notes] ([https://docs.dyalog.com/16.0/Dyalog%20Version%2016.0%20Release%20Notes.pdf pdf])


Version 16.0 was released in June 2017. It added several new primitives as well as tools for working with [[wikipedia:JSON|JSON]] and [[wikipedia:Comma-separated values|CSV]] files.
Version 16.0 was released in June 2017. It added several new primitives as well as tools for working with [[wikipedia:JSON|JSON]] and [[wikipedia:Comma-separated values|CSV]] files.
Line 160: Line 160:
== 17.0 ==
== 17.0 ==


Release [https://www.dyalog.com/dyalog/dyalog-versions/170.htm announcement], [http://help.dyalog.com/17.0/index_CSH.htm#RelNotes17.0/Key%20Features.htm notes]
Release [https://www.dyalog.com/dyalog/dyalog-versions/170.htm announcement], [https://help.dyalog.com/17.0/index_CSH.htm#RelNotes17.0/Key%20Features.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.
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.
Line 176: Line 176:
== 17.1 ==
== 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]
Release [https://www.dyalog.com/dyalog/dyalog-versions/171.htm announcement], [https://help.dyalog.com/17.1/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.
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.

Navigation menu