enc ← ##.rep name ⍝ Encapsulate function/operator. Returns an encapsulation of the function or operator [name] suitable for storing in an array or on file. Notably, the representation accommodates named, derived (or "assigned") functions, such as: sum←+/. Technical note: For traditional and D- functions/operators, ⎕or could be used directly, but the ⎕or of a derived function does not include its name for re-fixing. In this case, the capsule is a (name ⎕or) pair. Note that the rank of ⎕cr is used to disting- uish: 0=⍴⍴⎕cr ⍵: primitive / system function. 1=⍴⍴⎕cr ⍵: derived function. 2=⍴⍴⎕cr ⍵: defined / D-function. Example: ⎕fx'z←tfn' 'z←⎕ts' ⍝ trad fn. dfn←{3↑⍵} ⍝ D fn. afn←×/ ⍝ assigned fn. rep¨ 'tfn' 'dfn' 'afn' ┌─────────────┬───────────┬────────┐ │┌─────┬─────┐│┌─────────┐│┌───┬──┐│ ││z←tfn│z←⎕TS│││dfn←{3↑⍵}│││afn│×/││ │└─────┴─────┘│└─────────┘│└───┴──┘│ └─────────────┴───────────┴────────┘ See also: fix mns Back to: contents Back to: Workspaces