symbiote-0.0.5: Data serialization, communication, and operation verification implementation

Copyright(c) 2019 Athan Clark
LicenseBSD-3-Style
Maintainerathan.clark@gmail.com
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Test.Serialization.Symbiote.Abides

Description

This module provides newtypes for ensuring consistent functionality with respect to various class laws: Monoids, SemiRing, etc are all included via the abides library. Note: This only verifies the consistency of behavior between platforms - if both platforms are broken (return False) consistently, the tests will pass. Prevent this by implementing a local test suite with QuickCheck, and use the abides property tests directly.

Documentation

newtype AbidesSemigroup a Source #

Constructors

AbidesSemigroup 

Fields

Instances
Eq a => Eq (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesSemigroup a)) :: Type -> Type #

Generic (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesSemigroup a) :: Type -> Type #

Semigroup a => Semigroup (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Semigroup a, Eq a) => SymbioteOperation (AbidesSemigroup a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesSemigroup a) :: Type Source #

type Rep (Operation (AbidesSemigroup a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesSemigroup a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "SemigroupAssociative" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AbidesSemigroup a)) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AbidesSemigroup a))))
type Rep (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesSemigroup a) = D1 (MetaData "AbidesSemigroup" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesSemigroup" PrefixI True) (S1 (MetaSel (Just "getAbidesSemigroup") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesSemigroup a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesMonoid a Source #

Constructors

AbidesMonoid 

Fields

Instances
Eq a => Eq (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesMonoid a)) :: Type -> Type #

Generic (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesMonoid a) :: Type -> Type #

Methods

from :: AbidesMonoid a -> Rep (AbidesMonoid a) x #

to :: Rep (AbidesMonoid a) x -> AbidesMonoid a #

Semigroup a => Semigroup (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Monoid a => Monoid (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Monoid a, Eq a) => SymbioteOperation (AbidesMonoid a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesMonoid a) :: Type Source #

type Rep (Operation (AbidesMonoid a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesMonoid a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "MonoidSemigroup" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesSemigroup a)))) :+: (C1 (MetaCons "MonoidLeftIdentity" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "MonoidRightIdentity" PrefixI False) (U1 :: Type -> Type)))
type Rep (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesMonoid a) = D1 (MetaData "AbidesMonoid" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesMonoid" PrefixI True) (S1 (MetaSel (Just "getAbidesMonoid") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesMonoid a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesEq a Source #

Constructors

AbidesEq 

Fields

Instances
Eq a => Eq (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

(==) :: AbidesEq a -> AbidesEq a -> Bool #

(/=) :: AbidesEq a -> AbidesEq a -> Bool #

Show a => Show (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

showsPrec :: Int -> AbidesEq a -> ShowS #

show :: AbidesEq a -> String #

showList :: [AbidesEq a] -> ShowS #

Generic (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesEq a)) :: Type -> Type #

Methods

from :: Operation (AbidesEq a) -> Rep (Operation (AbidesEq a)) x #

to :: Rep (Operation (AbidesEq a)) x -> Operation (AbidesEq a) #

Generic (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesEq a) :: Type -> Type #

Methods

from :: AbidesEq a -> Rep (AbidesEq a) x #

to :: Rep (AbidesEq a) x -> AbidesEq a #

Arbitrary a => Arbitrary (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

arbitrary :: Gen (AbidesEq a) #

shrink :: AbidesEq a -> [AbidesEq a] #

ToJSON a => ToJSON (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

put :: Putter (AbidesEq a) #

get :: Get (AbidesEq a) #

Eq a => SymbioteOperation (AbidesEq a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesEq a) :: Type Source #

type Rep (Operation (AbidesEq a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesEq a) = D1 (MetaData "AbidesEq" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesEq" PrefixI True) (S1 (MetaSel (Just "getAbidesEq") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesEq a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesOrd a Source #

Constructors

AbidesOrd 

Fields

Instances
Eq a => Eq (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

(==) :: AbidesOrd a -> AbidesOrd a -> Bool #

(/=) :: AbidesOrd a -> AbidesOrd a -> Bool #

Ord a => Ord (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesOrd a)) :: Type -> Type #

Generic (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesOrd a) :: Type -> Type #

Methods

from :: AbidesOrd a -> Rep (AbidesOrd a) x #

to :: Rep (AbidesOrd a) x -> AbidesOrd a #

Arbitrary a => Arbitrary (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

arbitrary :: Gen (AbidesOrd a) #

shrink :: AbidesOrd a -> [AbidesOrd a] #

ToJSON a => ToJSON (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

put :: Putter (AbidesOrd a) #

get :: Get (AbidesOrd a) #

Ord a => SymbioteOperation (AbidesOrd a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesOrd a) :: Type Source #

type Rep (Operation (AbidesOrd a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesOrd a) = D1 (MetaData "AbidesOrd" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesOrd" PrefixI True) (S1 (MetaSel (Just "getAbidesOrd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesOrd a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesEnum a Source #

Constructors

AbidesEnum 

Fields

Instances
Enum a => Enum (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Eq a => Eq (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

(==) :: AbidesEnum a -> AbidesEnum a -> Bool #

(/=) :: AbidesEnum a -> AbidesEnum a -> Bool #

Ord a => Ord (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesEnum a)) :: Type -> Type #

Generic (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesEnum a) :: Type -> Type #

Methods

from :: AbidesEnum a -> Rep (AbidesEnum a) x #

to :: Rep (AbidesEnum a) x -> AbidesEnum a #

Arbitrary a => Arbitrary (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

put :: Putter (AbidesEnum a) #

get :: Get (AbidesEnum a) #

(Enum a, Ord a) => SymbioteOperation (AbidesEnum a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesEnum a) :: Type Source #

type Rep (Operation (AbidesEnum a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesEnum a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) ((C1 (MetaCons "EnumOrd" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesOrd a)))) :+: C1 (MetaCons "EnumCompareHom" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AbidesEnum a)))) :+: (C1 (MetaCons "EnumPredSucc" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EnumSuccPred" PrefixI False) (U1 :: Type -> Type)))
type Rep (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesEnum a) = D1 (MetaData "AbidesEnum" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesEnum" PrefixI True) (S1 (MetaSel (Just "getAbidesEnum") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesEnum a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesSemiring a Source #

Constructors

AbidesSemiring 

Fields

Instances
Eq a => Eq (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Num a => Num (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesSemiring a)) :: Type -> Type #

Generic (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesSemiring a) :: Type -> Type #

Arbitrary a => Arbitrary (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Num a, Eq a) => SymbioteOperation (AbidesSemiring a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesSemiring a) :: Type Source #

type Rep (Operation (AbidesSemiring a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesSemiring a) = D1 (MetaData "AbidesSemiring" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesSemiring" PrefixI True) (S1 (MetaSel (Just "getAbidesSemiring") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesSemiring a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesRing a Source #

Constructors

AbidesRing 

Fields

Instances
Eq a => Eq (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

(==) :: AbidesRing a -> AbidesRing a -> Bool #

(/=) :: AbidesRing a -> AbidesRing a -> Bool #

Num a => Num (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesRing a)) :: Type -> Type #

Generic (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesRing a) :: Type -> Type #

Methods

from :: AbidesRing a -> Rep (AbidesRing a) x #

to :: Rep (AbidesRing a) x -> AbidesRing a #

Arbitrary a => Arbitrary (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

put :: Putter (AbidesRing a) #

get :: Get (AbidesRing a) #

(Num a, Eq a) => SymbioteOperation (AbidesRing a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesRing a) :: Type Source #

type Rep (Operation (AbidesRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesRing a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "RingSemiring" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesSemiring a)))) :+: C1 (MetaCons "RingAdditiveInverse" PrefixI False) (U1 :: Type -> Type))
type Rep (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesRing a) = D1 (MetaData "AbidesRing" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesRing" PrefixI True) (S1 (MetaSel (Just "getAbidesRing") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesCommutativeRing a Source #

Instances
Eq a => Eq (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Num a => Num (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesCommutativeRing a)) :: Type -> Type #

Generic (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesCommutativeRing a) :: Type -> Type #

Arbitrary a => Arbitrary (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Num a, Eq a) => SymbioteOperation (AbidesCommutativeRing a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesCommutativeRing a) :: Type Source #

type Rep (Operation (AbidesCommutativeRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesCommutativeRing a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "CommutativeRingRing" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesRing a)))) :+: C1 (MetaCons "CommutativeRingCommutative" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AbidesCommutativeRing a))))
type Rep (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesCommutativeRing a) = D1 (MetaData "AbidesCommutativeRing" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesCommutativeRing" PrefixI True) (S1 (MetaSel (Just "getAbidesCommutativeRing") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesCommutativeRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesDivisionRing a Source #

Constructors

AbidesDivisionRing 
Instances
Eq a => Eq (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Fractional a => Fractional (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Num a => Num (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesDivisionRing a)) :: Type -> Type #

Generic (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesDivisionRing a) :: Type -> Type #

Arbitrary a => Arbitrary (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Fractional a, Eq a) => SymbioteOperation (AbidesDivisionRing a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesDivisionRing a) :: Type Source #

type Rep (Operation (AbidesDivisionRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesDivisionRing a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "DivisionRingRing" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesRing a)))) :+: C1 (MetaCons "DivisionRingInverse" PrefixI False) (U1 :: Type -> Type))
type Rep (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesDivisionRing a) = D1 (MetaData "AbidesDivisionRing" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesDivisionRing" PrefixI True) (S1 (MetaSel (Just "getAbidesDivisionRing") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesDivisionRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesEuclideanRing a Source #

Instances
Eq a => Eq (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Num a => Num (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesEuclideanRing a)) :: Type -> Type #

Generic (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesEuclideanRing a) :: Type -> Type #

Arbitrary a => Arbitrary (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

(Num a, Eq a) => SymbioteOperation (AbidesEuclideanRing a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesEuclideanRing a) :: Type Source #

type Rep (Operation (AbidesEuclideanRing a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesEuclideanRing a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "EuclideanRingCommutativeRing" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesCommutativeRing a)))) :+: C1 (MetaCons "EuclideanRingIntegralDomain" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AbidesEuclideanRing a))))
type Rep (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesEuclideanRing a) = D1 (MetaData "AbidesEuclideanRing" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesEuclideanRing" PrefixI True) (S1 (MetaSel (Just "getAbidesEuclideanRing") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesEuclideanRing a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

newtype AbidesField a Source #

Constructors

AbidesField 

Fields

Instances
Eq a => Eq (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Fractional a => Fractional (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Num a => Num (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Show a => Show (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Generic (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (Operation (AbidesField a)) :: Type -> Type #

Generic (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

type Rep (AbidesField a) :: Type -> Type #

Methods

from :: AbidesField a -> Rep (AbidesField a) x #

to :: Rep (AbidesField a) x -> AbidesField a #

Arbitrary a => Arbitrary (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Arbitrary a => Arbitrary (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

ToJSON a => ToJSON (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

FromJSON a => FromJSON (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Serialize a => Serialize (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Methods

put :: Putter (AbidesField a) #

get :: Get (AbidesField a) #

(Fractional a, Eq a) => SymbioteOperation (AbidesField a) Bool Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

Associated Types

data Operation (AbidesField a) :: Type Source #

type Rep (Operation (AbidesField a)) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (Operation (AbidesField a)) = D1 (MetaData "Operation" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" False) (C1 (MetaCons "FieldDivisionRing" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesDivisionRing a)))) :+: C1 (MetaCons "FieldEuclideanRing" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Operation (AbidesEuclideanRing a)))))
type Rep (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides

type Rep (AbidesField a) = D1 (MetaData "AbidesField" "Test.Serialization.Symbiote.Abides" "symbiote-0.0.5-CizdGLSttkNC7czGnIyxfU" True) (C1 (MetaCons "AbidesField" PrefixI True) (S1 (MetaSel (Just "getAbidesField") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
data Operation (AbidesField a) Source # 
Instance details

Defined in Test.Serialization.Symbiote.Abides