{-# 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)