{-# LANGUAGE NoImplicitPrelude #-} {-# OPTIONS_GHC -fno-warn-tabs #-} module Hcompta.Expr.Eq where import Data.Bool import Data.Eq (Eq(..)) import Hcompta.Expr.Dup -- * Class 'Expr_Eq' class Expr_Eq repr where eq :: Eq a => repr a -> repr a -> repr Bool instance (Expr_Eq r1, Expr_Eq r2) => Expr_Eq (Dup r1 r2) where eq (x1 `Dup` x2) (y1 `Dup` y2) = eq x1 y1 `Dup` eq x2 y2