{
Let append. append
Let concat. concat
Let join glue strings.
Match strings
| `nil ""
| `cons.{s strings}
Let strings.
(LIST.fold strings []
Func s strings. (glue::s::strings))
In
(concat (s::strings))
;
Let equal. Prim string_equal
Let length. Prim string_length
Let fetch. Prim string_fetch
Let clip. Prim string_clip
Let compare a b.
Switch (Prim string_compare a b)
| 1 `greater
| 0 `equal
| _ `less
;
}
Where
Let concat strings. (LIST.reduce strings "" append)
Where
Let append. Prim string_append
Where
Let LIST. Package "list"