module Study.Courses.English.Vocabulary.Attitudinals.Model where import System.Random (StdGen) import qualified Data.Text as T data AttitudinalType = PureEmotion | PropositionalEmotion deriving (AttitudinalType -> AttitudinalType -> Bool (AttitudinalType -> AttitudinalType -> Bool) -> (AttitudinalType -> AttitudinalType -> Bool) -> Eq AttitudinalType forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: AttitudinalType -> AttitudinalType -> Bool == :: AttitudinalType -> AttitudinalType -> Bool $c/= :: AttitudinalType -> AttitudinalType -> Bool /= :: AttitudinalType -> AttitudinalType -> Bool Eq) data Attitudinal = Attitudinal { Attitudinal -> Text attitudinalWord :: T.Text , Attitudinal -> AttitudinalType attitudinalType :: AttitudinalType , Attitudinal -> Text attitudinalPositiveMeaning :: T.Text , Attitudinal -> Maybe Text attitudinalNeutralMeaning :: Maybe T.Text , Attitudinal -> Maybe Text attitudinalNegativeMeaning :: Maybe T.Text } instance Eq Attitudinal where Attitudinal x == :: Attitudinal -> Attitudinal -> Bool == Attitudinal y = (Attitudinal -> Text attitudinalWord Attitudinal x) Text -> Text -> Bool forall a. Eq a => a -> a -> Bool == (Attitudinal -> Text attitudinalWord Attitudinal y) type AttitudinalGenerator = StdGen -> (Attitudinal, StdGen)