Dyalog APL: Difference between revisions

Jump to navigation Jump to search
484 bytes removed ,  16:39, 31 October 2021
→‎History: Compress corporate history; should be on company page
(→‎History: Compress corporate history; should be on company page)
Line 29: Line 29:


== History ==
== History ==
{{Main|Dyalog Ltd.}}
:''See also: [[Dyalog Ltd.]]''
Work on Dyalog was begun in 1981 by APL consulting company [[Dyadic Systems]], which by that time had grown to support about 15 employees. In partnership with [[wikipedia:Zilog|Zilog]] UK, Dyadic developed an interpreter using the [[wikipedia:C (programming language)|C]] programming language for the [[wikipedia:Zilog Z8000|Zilog Z8000]]'s [[wikipedia:UNIX|UNIX]] operating system—both obscure technologies at the time. Dyadic employees [[John Scholes]] and [[Geoff Streeter]] worked full-time on the implementation, while David Crossley managed its development as a part-time role. Initially aiming to produce something like [[SHARP APL]], they eventually chose a [[Nested array model|nested]] model rather than adding [[box]]es to the [[flat array model]] like SHARP, and drew most design decisions from [[STSC]]'s experimental [[NARS]] dialect and the material available at the time regarding [[IBM]]'s plans for [[APL2]].<ref name="taylor">Stephen Taylor. [http://archive.vector.org.uk/art10013790 "How we got here"]. [[Vector journal]] Volume 23 special supplement "Dyalog at 25". 2008-09.</ref>
Work on Dyalog was begun in 1981 by APL consulting company [[Dyadic Systems]], which by that time had grown to support about 15 employees. In partnership with [[wikipedia:Zilog|Zilog]] UK, Dyadic developed an interpreter using the [[wikipedia:C (programming language)|C]] programming language for the [[wikipedia:Zilog Z8000|Zilog Z8000]]'s [[wikipedia:UNIX|UNIX]] operating system—both obscure technologies at the time. Dyadic employees [[John Scholes]] and [[Geoff Streeter]] worked full-time on the implementation, while David Crossley managed its development as a part-time role. Initially aiming to produce something like [[SHARP APL]], they eventually chose a [[Nested array model|nested]] model rather than adding [[box]]es to the [[flat array model]] like SHARP, and drew most design decisions from [[STSC]]'s experimental [[NARS]] dialect and the material available at the time regarding [[IBM]]'s plans for [[APL2]].<ref name="taylor">Stephen Taylor. [http://archive.vector.org.uk/art10013790 "How we got here"]. [[Vector journal]] Volume 23 special supplement "Dyalog at 25". 2008-09.</ref>


Line 36: Line 36:
In 1996, John Scholes introduced a new form of functional definition to Dyalog based on his studies of the functional programming language [[wikipedia:Scheme (programming language)|Scheme]], which he called [[dfn]]s, for "direct functions". Another major addition to the language began in 2000, when John Daintree was invited to participate in the design of Microsoft's [[.NET]]. Based on this work, and the [[namespace]]s which he had added to the language in 1994 to deliver a Windows GUI API and an interface to COM/OLE, Daintree developed an [[Object-oriented programming|object]] model for Dyalog, based on concepts from [[wikipedia:C_Sharp_(programming_language)|C#]] and [[wikipedia:Visual Basic]].
In 1996, John Scholes introduced a new form of functional definition to Dyalog based on his studies of the functional programming language [[wikipedia:Scheme (programming language)|Scheme]], which he called [[dfn]]s, for "direct functions". Another major addition to the language began in 2000, when John Daintree was invited to participate in the design of Microsoft's [[.NET]]. Based on this work, and the [[namespace]]s which he had added to the language in 1994 to deliver a Windows GUI API and an interface to COM/OLE, Daintree developed an [[Object-oriented programming|object]] model for Dyalog, based on concepts from [[wikipedia:C_Sharp_(programming_language)|C#]] and [[wikipedia:Visual Basic]].


In 2005, the management of Dyadic Systems (John Scholes, Peter Donnelly and Pauline Brand) wished to retire from their management roles. At that time, the part of the business that had been built around the sales and service of [[IBM]] UNIX hardware had grown larger than the APL interpreter business, and the two parts were sold separately. The UNIX business was sold to Syan Technology Ltd and the APL business, renamed Dyalog Ltd, was sold to a consortium of users, who recruited [[Gitte Christensen]] as CEO and [[Morten Kromberg]] as the new CTO. John Scholes continued as a member of the development team, and Peter Donnelly continued to write most of the language documentation.
In 2005, Dyadic transferred management to CEO [[Gitte Christensen]] and CTO [[Morten Kromberg]], and sold ownership of the company to a group of investors including their company Insight Systems. With this arrangement, the development team at Dyalog grew rapidly. Dfns were promoted as "mainstream" APL features, with the result that many newer APLs only support dfns, abandoning traditional [[defined function]]s completely. Daintree's work on objects resulted in the addition of full object oriented programming capabilities to Dyalog APL in 2006. The influence of the Microsoft's .NET Framework also led to a project to create a new language called [[APL#]], prototypes of which were released in 2010. The project was abandoned in 2012 when Microsoft deprecated [[wikipedia:Microsoft Silverlight|Silverlight]].
 
Under the new management, the development team at Dyalog grew rapidly. Dfns were promoted as "mainstream" APL features, with the result that many newer APLs only support dfns, abandoning traditional [[defined function]]s completely. Daintree's work on objects resulted in the addition of full object oriented programming capabilities to Dyalog APL in 2006. The influence of the Microsoft's .NET Framework also led to a project to create a new language called [[APL#]], prototypes of which were released in 2010. The project was abandoned in 2012 when Microsoft deprecated [[wikipedia:Microsoft Silverlight|Silverlight]].


In addition to functional and object oriented language features, Dyalog APL folded concepts and features from the [[SHARP APL]] and [[J]] side of the APL family tree back into what fundamentally remains a dialect of APL2. In 2011 the company hired [[Roger Hui]], developer of J, and in 2016 it also hired J programmer and language implementer [[Marshall Lochbaum]]. Both developers improved performance of Dyalog's primitives on flat arrays, and brought concepts such as the [[Rank (operator)|Rank operator]], [[trains]], and [[Function composition|composition operators]], namely [[Atop]] and [[Over]], from J to APL.
In addition to functional and object oriented language features, Dyalog APL folded concepts and features from the [[SHARP APL]] and [[J]] side of the APL family tree back into what fundamentally remains a dialect of APL2. In 2011 the company hired [[Roger Hui]], developer of J, and in 2016 it also hired J programmer and language implementer [[Marshall Lochbaum]]. Both developers improved performance of Dyalog's primitives on flat arrays, and brought concepts such as the [[Rank (operator)|Rank operator]], [[trains]], and [[Function composition|composition operators]], namely [[Atop]] and [[Over]], from J to APL.

Navigation menu