on union help sign in
schematic/src/Data/Schematic/Instances.hs
23 lines 574 B history raw
1{-# LANGUAGE AllowAmbiguousTypes #-}
2{-# OPTIONS_GHC -fno-warn-orphans #-}
4module Data.Schematic.Instances where
6import Data.Scientific
7import Data.Vector as V
8import Data.Vinyl
9import Test.SmallCheck.Series
12instance Monad m => Serial m (Rec f '[]) where
13 series = cons0 RNil
15instance (Serial m (f a), Serial m (Rec f as), Monad m)
16 => Serial m (Rec f (a ': as)) where
17 series = cons2 (:&)
19instance Serial m a => Serial m (V.Vector a) where
20 series = V.fromList <$> series
22instance Monad m => Serial m Scientific where
23 series = scientific <$> series <*> series