Go to the Next or Previous section, the Detailed Contents, or the FS(E)L Home Page.


A.6.1 External

External definitions are used to enable additional `magic' functions supported by a specific tool. Requiring a definition, rather than silently inserting names into the initial environment, has two advantages: any dependencies on such functions are made explicit and there is no possibility that users will introduce conflicting definitions without being aware of it. For example, to make use of an (imaginary) frobnicate external function, we might say

external frobnicate
P(s) = c!frobnicate(s^<0>, 7) -> STOP

Without the external definition, frobnicate would be reported as an undeclared identifier. Tools should report as an error any attempt to define an external name which they do not recognise.


Go to the Next or Previous section, the Detailed Contents, or the FS(E)L Home Page.