souffle-haskell-3.0.0: Souffle Datalog bindings for Haskell
Safe HaskellNone



A helper module for generating more user friendly type errors in the form of custom constraints. This is an internal module, not meant to be used directly.



type family SimpleProduct (a :: Type) :: Constraint where ... Source #

A helper type family used for generating a more user-friendly type error for incompatible types when generically deriving marshalling code for the Marshal typeclass.

The a type parameter is the original type, used when displaying the type error.

A type error is returned if the passed in type is not a simple product type consisting of only "simple" types like Int32, Word32, Float, String, Text and ShortText.


SimpleProduct a = (ProductLike a (Rep a), OnlySimpleFields a (Rep a))