{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE ExplicitNamespaces #-}
{-# LANGUAGE DeriveGeneric #-}
module UniformBase
( module UniformBase
, module Uniform.Zero
, module Uniform.Pointless
, module Uniform.Error
, module Uniform.Strings
, module Uniform.FileIO
, module Uniform.Time
, Generic
) where
import Uniform.Zero
import Uniform.Pointless
import Uniform.Strings
import Uniform.FileIO
import Uniform.Error
import Uniform.Time
import GHC.Generics
data NoticeLevel = NoticeLevel0 | NoticeLevel1 | NoticeLevel2 deriving (NoticeLevel -> NoticeLevel -> Bool
(NoticeLevel -> NoticeLevel -> Bool)
-> (NoticeLevel -> NoticeLevel -> Bool) -> Eq NoticeLevel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NoticeLevel -> NoticeLevel -> Bool
$c/= :: NoticeLevel -> NoticeLevel -> Bool
== :: NoticeLevel -> NoticeLevel -> Bool
$c== :: NoticeLevel -> NoticeLevel -> Bool
Eq, Eq NoticeLevel
Eq NoticeLevel
-> (NoticeLevel -> NoticeLevel -> Ordering)
-> (NoticeLevel -> NoticeLevel -> Bool)
-> (NoticeLevel -> NoticeLevel -> Bool)
-> (NoticeLevel -> NoticeLevel -> Bool)
-> (NoticeLevel -> NoticeLevel -> Bool)
-> (NoticeLevel -> NoticeLevel -> NoticeLevel)
-> (NoticeLevel -> NoticeLevel -> NoticeLevel)
-> Ord NoticeLevel
NoticeLevel -> NoticeLevel -> Bool
NoticeLevel -> NoticeLevel -> Ordering
NoticeLevel -> NoticeLevel -> NoticeLevel
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: NoticeLevel -> NoticeLevel -> NoticeLevel
$cmin :: NoticeLevel -> NoticeLevel -> NoticeLevel
max :: NoticeLevel -> NoticeLevel -> NoticeLevel
$cmax :: NoticeLevel -> NoticeLevel -> NoticeLevel
>= :: NoticeLevel -> NoticeLevel -> Bool
$c>= :: NoticeLevel -> NoticeLevel -> Bool
> :: NoticeLevel -> NoticeLevel -> Bool
$c> :: NoticeLevel -> NoticeLevel -> Bool
<= :: NoticeLevel -> NoticeLevel -> Bool
$c<= :: NoticeLevel -> NoticeLevel -> Bool
< :: NoticeLevel -> NoticeLevel -> Bool
$c< :: NoticeLevel -> NoticeLevel -> Bool
compare :: NoticeLevel -> NoticeLevel -> Ordering
$ccompare :: NoticeLevel -> NoticeLevel -> Ordering
$cp1Ord :: Eq NoticeLevel
Ord, Int -> NoticeLevel -> ShowS
[NoticeLevel] -> ShowS
NoticeLevel -> String
(Int -> NoticeLevel -> ShowS)
-> (NoticeLevel -> String)
-> ([NoticeLevel] -> ShowS)
-> Show NoticeLevel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NoticeLevel] -> ShowS
$cshowList :: [NoticeLevel] -> ShowS
show :: NoticeLevel -> String
$cshow :: NoticeLevel -> String
showsPrec :: Int -> NoticeLevel -> ShowS
$cshowsPrec :: Int -> NoticeLevel -> ShowS
Show, ReadPrec [NoticeLevel]
ReadPrec NoticeLevel
Int -> ReadS NoticeLevel
ReadS [NoticeLevel]
(Int -> ReadS NoticeLevel)
-> ReadS [NoticeLevel]
-> ReadPrec NoticeLevel
-> ReadPrec [NoticeLevel]
-> Read NoticeLevel
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [NoticeLevel]
$creadListPrec :: ReadPrec [NoticeLevel]
readPrec :: ReadPrec NoticeLevel
$creadPrec :: ReadPrec NoticeLevel
readList :: ReadS [NoticeLevel]
$creadList :: ReadS [NoticeLevel]
readsPrec :: Int -> ReadS NoticeLevel
$creadsPrec :: Int -> ReadS NoticeLevel
Read, (forall x. NoticeLevel -> Rep NoticeLevel x)
-> (forall x. Rep NoticeLevel x -> NoticeLevel)
-> Generic NoticeLevel
forall x. Rep NoticeLevel x -> NoticeLevel
forall x. NoticeLevel -> Rep NoticeLevel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep NoticeLevel x -> NoticeLevel
$cfrom :: forall x. NoticeLevel -> Rep NoticeLevel x
Generic)
instance Zeros NoticeLevel where zero :: NoticeLevel
zero = NoticeLevel
NoticeLevel0
inform, informNone, informAll :: NoticeLevel -> Bool
inform :: NoticeLevel -> Bool
inform = Bool -> Bool
not (Bool -> Bool) -> (NoticeLevel -> Bool) -> NoticeLevel -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NoticeLevel -> Bool
forall z. (Zeros z, Eq z) => z -> Bool
isZero
informNone :: NoticeLevel -> Bool
informNone = Bool -> NoticeLevel -> Bool
forall a b. a -> b -> a
const Bool
False
informAll :: NoticeLevel -> Bool
informAll = Bool -> NoticeLevel -> Bool
forall a b. a -> b -> a
const Bool
True