The Dyalog Language Engine
At the heart of Dyalog is an ISO/IEC 13751-compliant APL language engine that has been tuned and optimised for more than 40 years. The current Dyalog language has evolved from a classical APL2-style interpreter into a modern, multi-paradigm programming language. The most important extensions to the original APL language include:
1983: Nested arrays: Any element of an array can be another array (APL2)
1990: Namespaces
1995: Control structures (If/Then/Else, Repeat/Until, exception handling, and so on)
1996: Functional programming: dfns provide lexical scope and lambda-style expressions
2006: Object orientated programming, allowing integration with OO frameworks and Microsoft .NET
2014: Point-free or “tacit” syntax similar to that in the J programming language
2014: Futures and isolates for parallel programming
2025: Literal notation for arrays, including namespaces
New versions of Dyalog are released approximately annually.
Dyalog language engines provide the same language features on all platforms and enable extreme inter-operability; binary workspace images and component files can be shared in real time without conversion between all platforms, and TCP sockets can be used to exchange binary data between the platforms.