Add make target %/fast.
[haskell/symantic.git] / symantic-lib / Language / Symantic / Lib / Bool.hs
index 9a6198f271774b57c5f61edaef1458ad3b548447..15a0f0ba181dffca7ab131fcca2c1af9c5481e87 100644 (file)
@@ -72,7 +72,7 @@ instance TypeInstancesFor Bool
 -- Compiling
 instance Gram_Term_AtomsFor src ss g Bool
 instance (Source src, Inj_Sym ss Bool) => ModuleFor src ss Bool where
-       moduleFor _s = ["Bool"] `moduleWhere`
+       moduleFor = ["Bool"] `moduleWhere`
         [ "False" := teBool False
         , "True"  := teBool True
         , "not"   := teBool_not
@@ -86,13 +86,13 @@ tyBool :: Source src => Inj_Len vs => Type src vs Bool
 tyBool = tyConst @(K Bool) @Bool
 
 -- ** 'Term's
-teBool :: Source src => Inj_Sym ss Bool => Bool -> Term src ss ts '[] Bool
+teBool :: Source src => Inj_Sym ss Bool => Bool -> Term src ss ts '[] (() #> Bool)
 teBool b = Term noConstraint tyBool $ teSym @Bool $ bool b
 
-teBool_not :: TermDef Bool '[] (Bool -> Bool)
+teBool_not :: TermDef Bool '[] (() #> (Bool -> Bool))
 teBool_not = Term noConstraint (tyBool ~> tyBool) $ teSym @Bool $ lam1 not
 
-teBool_and, teBool_or, teBool_xor :: TermDef Bool '[] (Bool -> Bool -> Bool)
+teBool_and, teBool_or, teBool_xor :: TermDef Bool '[] (() #> (Bool -> Bool -> Bool))
 teBool_and = Term noConstraint (tyBool ~> tyBool ~> tyBool) $ teSym @Bool $ lam2 (&&)
 teBool_or  = Term noConstraint (tyBool ~> tyBool ~> tyBool) $ teSym @Bool $ lam2 (||)
 teBool_xor = Term noConstraint (tyBool ~> tyBool ~> tyBool) $ teSym @Bool $ lam2 xor