2,951
edits
mNo edit summary Tags: Mobile edit Mobile web edit |
(Wikipedia link) |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
A '''dfn''' (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"). | 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 [https://dfns.dyalog.com dfns website]. | |||
Wikipedia | 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. | ||
== Documentation == | |||
Wikipedia includes a thorough treatment of [[Wikipedia:dfns|dfns]]. | |||
== External links == | |||
* [[wikipedia:Direct function|Direct function]] | |||
=== Tutorials === | |||
* APL Cultivation: [https://chat.stackexchange.com/rooms/52405/conversation/lesson-2-diving-into-functions-in-apl Diving Into Functions in APL] | |||
* Mastering Dyalog: [https://www.dyalog.com/uploads/documents/MasteringDyalogAPL.pdf#page=174 page 174] | |||
=== Documentation === | |||
* [http://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Functions%20and%20Operators.htm Dyalog] | * [http://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Dynamic%20Functions%20and%20Operators.htm Dyalog] | ||
* [https://www.gnu.org/software/apl/apl.html#Section-3_002e7 GNU APL] | |||
* [ | |||
{{APL syntax}} | {{APL syntax}}[[Category:Kinds of functions]][[Category:Defining functions]] |