{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-missing-signatures #-} {-# OPTIONS_GHC -fno-warn-tabs #-} module Expr.Dup.Test where import Data.Bool (Bool(..)) import Data.Function (($)) import Hcompta.Expr.Lit import Hcompta.Expr.Bool import Hcompta.Expr.Fun -- e1 :: (Boo repr, Lit repr) => repr Bool e1 = lit True `and` neg (lit True `and` lit True) e2 = let_val (lit True) $ \x -> lit True `and` x