sbv-14.0: SBVTestSuite/TestSuite/CompileTests/SCase/SCase08.hs
{-# LANGUAGE QuasiQuotes #-}
{-# OPTIONS_GHC -Wall -Werror -ddump-splices #-}
module T where
import Expr
import Data.SBV
t :: SExpr -> SInteger
t e = [sCase| e of
Zero -> 0
Num i | Just 1 <- Just i -> i
Var s -> ite (s .== "a") 1 else 2
Add a b -> t e + t b
Let _ _a b -> t b
|]