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