Language.Souffle.Internal.Constraints

Description

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.

Synopsis

# Documentation

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.

Equations

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