packages feed

singletons-base-3.2: tests/compile-and-dump/Singletons/T200.hs

module T200 where

import Data.Singletons.Base.TH

$(singletons [d|
      data ErrorMessage = ErrorMessage :$$: ErrorMessage
                        | ErrorMessage :<>: ErrorMessage
                        | EM [Bool]

      ($$:) :: ErrorMessage -> ErrorMessage -> ErrorMessage
      x $$: y = x :$$: y

      (<>:) :: ErrorMessage -> ErrorMessage -> ErrorMessage
      x <>: y = x :<>: y
    |])