{-# language BangPatterns #-} {-# language MagicHash #-} module ShortText ( E , eq# , eq ) where import GHC.Exts import Data.Unlifted (ShortText#(ShortText#)) type E = ShortText# eq# :: ShortText# -> ShortText# -> Int# eq# :: ShortText# -> ShortText# -> Int# eq# (ShortText# ByteArray# a) (ShortText# ByteArray# b) = case Int# sz Int# -> Int# -> Int# ==# ByteArray# -> Int# sizeofByteArray# ByteArray# b of Int# 0# -> Int# 0# Int# _ -> case ByteArray# -> Int# -> ByteArray# -> Int# -> Int# -> Int# compareByteArrays# ByteArray# a Int# 0# ByteArray# b Int# 0# Int# sz of Int# 0# -> Int# 1# Int# _ -> Int# 0# where !sz :: Int# sz = ByteArray# -> Int# sizeofByteArray# ByteArray# a eq :: ShortText# -> ShortText# -> Bool eq :: ShortText# -> ShortText# -> Bool eq ShortText# a ShortText# b = Int# -> Bool isTrue# (ShortText# -> ShortText# -> Int# eq# ShortText# a ShortText# b)