lue-bird/elm-linear-direction/8.0.0

NOTE: the latest version is 11.2.0

String.Order

Order Strings

greaterEarlier : Ordering Char -> Ordering String

Order Strings by Chars first to last, specifying a Char Ordering:

import Case
import Char.Order
import String.Order


String.Order.greaterEarlier (Char.Order.alphabetically Case.lowerUpper)
    "hello, human!"
    "hello, Human"
--> LT

For string-number chunked text, you can use mcordova47/: NaturalOrdering.compare

NaturalOrdering.compare "abc2.tff" "abc10.tff"
--→ LT

Personally, I'd just store the String as something like

type TextChunked
    = TextChunked ( String, Maybe (List ( Int, String )) )

and order that to avoid converting too often