lue-bird/elm-keysset/4.0.2

NOTE: the latest version is 5.0.2

Char.Order

Order Chars

casing

type Case
= CaseLower
| CaseUpper

order

'a' < 'A'

upperLower : Ordering Case (Reverse LowerUpper)

'A' < 'a'

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

  • Both are letters → Order ascii-alphabetically (a < ... < z)
  • Both aren't letters → Order according to unicode char code
  • Only one is a letter → the letter is considered greater
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