APL systems provide a definition mechanism so that expressions may be collected into
non-primitive or “user-defined” functions and operators: the traditional function or “T-Fn”.
In 1996, Dyalog introduced a purer direct-definition style, now referred to as a “D-Fn”,
which was designed to fit better with the functional programming paradigm.
APL#, pronounced “APL Sharp”, is a new dialect of APL, which is aimed at the Microsoft.NET
and similar “virtual machine” frameworks.
This paper details an attempt, in Dyalog's APL# project, to combine both “T-Fn” and “D-Fn”
definition styles into a unified whole, which supports both the procedural and functional modes of programming.