cmp ← {cmp←1} ##.packQ data ⍝ Assorted uniQues packer. The data must have no more than 256 unique elements. Veli-Matti Jantunen suggests the following technique for reducing the size of a shipped executable: ⍝ Using: (⎕io ⎕ml)←1 3 ⍝ Remove comments and empty lines (enhanced hhh, see →rmcm←). {0∊⍴⍵:z←'' ∇ 1↓⍵,(⍎↑⍵).{ ((⍵,'.')∘,¨~∘' '¨↓⎕nl 9){⍺ }{c←⎕cr ⍵ ⋄ ~'⍝'∊c:0 ((,∨\(c='⍝')∧=\c≠'''')/,c)←' ' ⎕fx(∨/c≠' ')⌿c }¨~∘' '¨↓⎕nl 3 4 }↑⍵ },'#' ⍝ Make the list for packing list←(~∘' '¨↓⎕nl 3 4)~'LX' 'packQ' 'Do' ⍝ Pack ∆fns←packQ 1↓∊{⎕tc[3],1↓∊⎕tc[2],¨⎕nr ⍵}¨list ⍝ Make executable ... ⍝ The LX function starts with the following: {⎕fx(⍵≠2⊃⎕tc)⊂⍵)¨{(⍵≠3⊃⎕tc)⊃⍵}0 packQ ∆fns ⋄ ⎕ex'∆fns' See also: Data_compression rmcm Back to: contents Back to: Workspaces