{ : append : concat : join : equal : length : fetch : clip : compare } Where Define (join glue strings) Match strings | 'nil "" | 'cons.{s strings} Let strings (LIST.fold strings 'nil Func {s strings} [Right glue & s & strings]) In (concat [s & strings]) ; Where Define (concat strings) (LIST.reduce strings "" append) Where Define (compare a b) Let sign (Prim string_compare a b) In Cond | [sign = -1] 'less | [sign = 0] 'equal | [sign = 1] 'greater ; Define (append s1 s2) (Prim string_append s1 s2) Define (equal s1 s2) (Prim string_equal s1 s2) Define (length s) (Prim string_length s) Define (fetch s i) (Prim string_fetch s i) Define (clip s begin end) (Prim string_clip s begin end) Where Let LIST Package "list"