{ : append : concat : join : equal : length : fetch : clip : compare } Where Define (join glue strings) (concat (LIST.join glue 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"