lue-bird / elm-keysset / Char.Order

Order Chars

casing


type Case
    = CaseLower
    | CaseUpper

Case of a letter. Orderings:

order

lowerUpper : Ordering Case LowerUpper

'a' < 'A'


type LowerUpper

Tag for lowerUpper

upperLower : Ordering Case (Order.Reverse LowerUpper)

'A' < 'a'

Order

unicode : Ordering Char Unicode

Ordering according to the unicode char code.

This behavior matches elm's Basics.compare.


type Unicode

Tag for unicode

aToZ : Ordering Case charOrderTag -> Ordering Char (AToZ charOrderTag)

Order Chars

Order.with (Char.Order.aToZ Char.Order.upperLower) 'b' 'D'
--> LT

Order.with (Char.Order.aToZ Char.Order.upperLower) 'l' 'L'
--> GT

Order.with (Char.Order.aToZ Char.Order.upperLower) 'i' '!'
--> GT

Order.with (Char.Order.aToZ Char.Order.upperLower) '-' '!'
--> Order.with Char.Order.unicode '-' '!'


type alias AToZ caseOrder =
( AToZTag, caseOrder )

Tag for aToZ


type AToZTag

Wrapper tag for AToZ