diff options
Diffstat (limited to 'src/Util.hs')
| -rw-r--r-- | src/Util.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Util.hs b/src/Util.hs new file mode 100644 index 0000000..e33e730 --- /dev/null +++ b/src/Util.hs @@ -0,0 +1,18 @@ +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE TypeSynonymInstances #-} + +module Util (Normalisable(..)) where + +import Data.Maybe (fromMaybe) +import qualified Data.Text as T + +---------------------------------------------------------------------------------------------------- +class Normalisable a where + normaliseVariant :: a -> a + +instance Normalisable [Char] where + normaliseVariant = T.unpack . normaliseVariant . T.pack + +instance Normalisable T.Text where + normaliseVariant str = fromMaybe str (T.stripSuffix (T.pack "'") str) + |