Documentation

Batteries.Data.String.AsciiCasing

@[reducible, inline]

Case folding for ASCII characters only.

Alphabetic ASCII characters are mapped to their lowercase form, all other characters are left unchanged. This agrees with the Unicode case folding algorithm for ASCII characters.

#eval "ABC".caseFoldAsciiOnly == "abc" -- true
#eval "x".caseFoldAsciiOnly == "y" -- false
#eval "Àà".caseFoldAsciiOnly == "Àà" -- true
#eval "1$#!".caseFoldAsciiOnly == "1$#!" -- true
Equations
Instances For
    @[implemented_by _private.Batteries.Data.String.AsciiCasing.0.String.beqCaseInsensitiveAsciiOnlyImpl]

    Bool-valued comparison of two Strings for ASCII-case insensitive equality.

    #eval "abc".beqCaseInsensitiveAsciiOnly "ABC" -- true #eval "cba".beqCaseInsensitiveAsciiOnly "ABC" -- false #eval "$".beqCaseInsensitiveAsciiOnly "$" -- true #eval "a".beqCaseInsensitiveAsciiOnly "b" -- false #eval "γ".beqCaseInsensitiveAsciiOnly "Γ" -- false

    Equations
    Instances For
      @[implemented_by _private.Batteries.Data.String.AsciiCasing.0.String.cmpCaseInsensitiveAsciiOnlyImpl]

      ASCII-case insensitive implementation comparison returning an Ordering. Useful for sorting.

      #eval cmpCaseInsensitiveAsciiOnly "a" "A" -- eq
      #eval cmpCaseInsensitiveAsciiOnly "a" "a" -- eq
      #eval cmpCaseInsensitiveAsciiOnly "$" "$" -- eq
      #eval cmpCaseInsensitiveAsciiOnly "a" "b" -- lt
      #eval cmpCaseInsensitiveAsciiOnly "γ" "Γ" -- gt
      
      Equations
      Instances For