cmat ← {excl} ##.fndiff (fna fnb) ⍝ Defined function differences. Fndiff takes a pair of function names of the form 'fnid' or 'wsid fnid'. Where, [fnid] is a plain or space-referenced function or operator name and [wsid] is a workspace id. If [wsid] is given and a directory path is not supplied, WSPATH (See Options-> Configure->Workspace) is used to locate the saved workspace. Otherwise, the function is sought in the current active workspace. The result is a "split-screen" display of lines that are in one function but not the other. The optional left argument is a character vector exclusion list: ' ' Exclude white space from the comparison. '⍝' Exclude comments from the comparison. In order to accommodate [wsids] containing embedded blanks, the _last_ word in a function specification is taken as the [fnid] and everything to the left of it (omitting leading and trailing blanks) is taken as the [wsid]. Embedded multiple blanks are preserved: ' My Documents\WS myfn ' => wsid ≡ 'My Documents\WS' fnid ≡ 'myfn' Examples: '⍝'fndiff'min trees' 'max trees' · 0=≡⍵:⍵ · · · · · · · │· 0=≡⍵:⍕⍵ · · · · · · · · ~(⊂⊃⍵)∊'@\=':⍺∘∇¨⍵ · · · · │· (0≡⊃0⍴⍵)∨(0≠≡⊃⍵)∨(,3)≢⍴⍵:⍺∘∇¨⍵ · '⍝'fndiff'display DISPLAY' 'display' DISPLAY←{⎕IO·⎕ML←0 · · · · · │display←{⎕IO·⎕ML←0 · · · · · · ⍺←0 ⋄ chars←⍺⊃'..''''|-'·'┌┐└┘│─' │· ⍺←1 ⋄ chars←⍺⊃'..''''|-'·'┌┐└┘│─' See also: wsdiff Workspaces Back to: contents Back to: Workspaces