diff options
Diffstat (limited to 'Utils.hs')
| -rw-r--r-- | Utils.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Utils.hs b/Utils.hs new file mode 100644 index 0000000..d058c1c --- /dev/null +++ b/Utils.hs @@ -0,0 +1,18 @@ + +module Utils where +import Data.Maybe (isJust) +import Data.List.Extra (stripSuffix) +import Control.Monad.IO.Class + +-- | A shortcut for `liftIO`. +io :: MonadIO m => IO a -> m a +io = liftIO + +-- | A helper for throwing an error if something is `Nothing` +just :: String -> Maybe a -> a +just _ (Just val) = val +just err Nothing = error ("Missing: " ++ err) + +-- | Test for whether something listy has a suffix +hasSuffix :: Eq a => [a] -> [a] -> Bool +hasSuffix s = isJust . stripSuffix s |
