APL-sharp: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
(Redirected page to APL)
 
(Note for those looking for "APL".)
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
#REDIRECT [[APL#]]
{{DISPLAYTITLE:APL#}}
{{Infobox array language
| title                    = APL#
| array model              = [[nested array model|nested]]
| index origin            = 0
| function styles          = [[tradfn]]-[[dfn]] hybrid
| numeric types            = any [[.NET]] type
| unicode support          = full
| released                = 2010
| withdrawn                = 2012
| latest version          = 0.3.0.627 / October 2011
| developer                = [[Dyalog Ltd.]]
| license                  = Unavailable / Proprietary software
| implementation language  = [[wikipedia:C_Sharp_(programming_language)|C#]]
| platform                = [[wikipedia:Common Language Infrastructure|CLI]]
| operating systems        = Microsoft Windows, macOS, Symbian OS, Linux
| influenced by            = [[APL2]], [[J]], [[Dyalog APL]], [[wikipedia:C_Sharp_(programming_language)|C#]]
}}
:''For technical reasons, "APL" redirects here. For an overview, see [[Overview]].''
'''APL#''' (pronounced ''APL Sharp'') was presented by [[Dyalog Ltd.]] at the 2010 [[APL conference]] in Berlin. The goal was to make the benefits of safe/managed computing available to users of APL through the development of an APL dialect targeting Microsoft Silverlight/Moonlight and featuring tight integration with Microsoft [[.NET]].
 
APL# was to be a new dialect of APL designed with object-oriented/language-agnostic platforms in mind, using Microsoft .NET as the initial target platform. Although portability of old APL code to APL# was an important consideration, the fact that complete upwards compatibility with "classic" APL was not achievable allowed an attempt to tidy up a few other aspects of APL. The goal was to produce a language which was as powerful a ''Tool of Thought'' as classic APL and [[APL2]], at the same time as feeling significantly more acceptable to a software engineer.
 
However, taking full advantage of the shared type system and related services which forced the abandoning some of the most central dogma of "classic" APL interpreters:
 
* The notion that APL only has two data types: numbers and characters
* That arguments are always passed "by value"
* User-defined names are global by default, and local variables are visible to all sub-functions
 
APL# featured a single functional form (besides for [[train]]s) which was a hybrid between [[dfn]] and [[tradfn]] syntax, superficially resembling that of dfns, but allowing a header (calling signature) and [[control structure]]s.
 
In 2012 Microsoft deprecated Silverlight for HTML5 in Windows 8, and Dyalog subsequently abandoned the APL# project.
 
== External links ==
=== 2010 APL conference ===
* [https://www.dyalog.com/uploads/conference/dyalog10/presentations/P01_KrombergScholesManktelow_APLSharp.pdf ''APL# - an APL for Microsoft.Net'']
* [https://www.dyalog.com/uploads/conference/dyalog10/presentations/P02_KrombergScholesManktelow_UnifyingFns.pdf ''Unifying T-Fns and D-Fns in APL#'']
=== 2011 Dyalog user meeting ===
* [https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp/AplSharpDescription.pdf ''APL# Language Description'']
* [https://www.dyalog.com/uploads/conference/dyalog11/presentations/D08_apl_sharp/AplSharpCoreLanguage_Dyalog2011_Presentation.pdf APL# Core language]
 
{{APL dialects}}[[Category:APL dialects]][[Category:Nested array languages]][[Category:.NET]]

Revision as of 09:57, 14 September 2022


For technical reasons, "APL" redirects here. For an overview, see Overview.

APL# (pronounced APL Sharp) was presented by Dyalog Ltd. at the 2010 APL conference in Berlin. The goal was to make the benefits of safe/managed computing available to users of APL through the development of an APL dialect targeting Microsoft Silverlight/Moonlight and featuring tight integration with Microsoft .NET.

APL# was to be a new dialect of APL designed with object-oriented/language-agnostic platforms in mind, using Microsoft .NET as the initial target platform. Although portability of old APL code to APL# was an important consideration, the fact that complete upwards compatibility with "classic" APL was not achievable allowed an attempt to tidy up a few other aspects of APL. The goal was to produce a language which was as powerful a Tool of Thought as classic APL and APL2, at the same time as feeling significantly more acceptable to a software engineer.

However, taking full advantage of the shared type system and related services which forced the abandoning some of the most central dogma of "classic" APL interpreters:

  • The notion that APL only has two data types: numbers and characters
  • That arguments are always passed "by value"
  • User-defined names are global by default, and local variables are visible to all sub-functions

APL# featured a single functional form (besides for trains) which was a hybrid between dfn and tradfn syntax, superficially resembling that of dfns, but allowing a header (calling signature) and control structures.

In 2012 Microsoft deprecated Silverlight for HTML5 in Windows 8, and Dyalog subsequently abandoned the APL# project.

External links

2010 APL conference

2011 Dyalog user meeting


APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages