packages feed

stack-prism-0.1.3: tests/TestTH.hs

{-# LANGUAGE TemplateHaskell #-}

module TestTH where

import Data.StackPrism.TH


data Person = Person
  { name     :: String
  , gender   :: Gender
  , age      :: Int
  , location :: Coords
  } deriving (Eq, Show)

data Gender = Male | Female
  deriving (Eq, Show)

data Coords = Coords { lat :: Float, lng :: Float }
  deriving (Eq, Show)

deriveStackPrisms ''Person
deriveStackPrisms ''Gender
deriveStackPrisms ''Coords

-- Regression test for https://github.com/MedeaMelana/stack-prism/issues/3
deriveStackPrisms ''Maybe