Dfn: Difference between revisions
Jump to navigation
Jump to search
No edit summary Tags: Mobile edit Mobile web edit |
No edit summary Tags: Mobile edit Mobile web edit |
||
Line 3: | Line 3: | ||
John Scholes was responsible for numerous presentations and publications on and about dfns, and until his passing he maintained the [https://dfns.dyalog.com dfns dfns website]. | John Scholes was responsible for numerous presentations and publications on and about dfns, and until his passing he maintained the [https://dfns.dyalog.com dfns dfns website]. | ||
As of 2020, dfns are fully implemented in [[Dyalog APL]], [[NARS2000]], [[ngn/apl]], [[dzaima/APL]], and partially in [[GNU APL]], although not all dialects implement [[wikipedia:lexical scoping|lexical scoping]], in contrast to the dynamic scoping of [[tradfn]]s. | As of 2020, dfns are fully implemented in [[Dyalog APL]], [[NARS2000]], [[ngn/apl]], [[dzaima/APL]], and partially in [[GNU APL]], although not all dialects implement [[wikipedia:lexical scoping|lexical scoping]], in contrast to the dynamic scoping of [[tradfn]]s. In other words, a dfn cannot "see" locals of its caller, but can see locals of its definer. | ||
Wikipedia includes a thorough treatment of [[Wikipedia:dfns|dfns]]. | Wikipedia includes a thorough treatment of [[Wikipedia:dfns|dfns]]. |
Revision as of 13:05, 20 December 2019
A dfn (contraction of direct function or dynamic function, pronounced "dee fun") is an alternative way to define a function and operator, invented by John Scholes. A dfn operator can also be called a dop (pronounced "dee op").
John Scholes was responsible for numerous presentations and publications on and about dfns, and until his passing he maintained the dfns dfns website.
As of 2020, dfns are fully implemented in Dyalog APL, NARS2000, ngn/apl, dzaima/APL, and partially in GNU APL, although not all dialects implement lexical scoping, in contrast to the dynamic scoping of tradfns. In other words, a dfn cannot "see" locals of its caller, but can see locals of its definer.
Wikipedia includes a thorough treatment of dfns.
External links
Tutorials
- APL Cultivation: Diving Into Functions in APL