Resolving dependencies... Configuring transformers-0.4.3.0... Building transformers-0.4.3.0... Preprocessing library transformers-0.4.3.0... [ 1 of 28] Compiling Data.Functor.Identity ( oldsrc/Data/Functor/Identity.hs, dist/build/Data/Functor/Identity.o ) [ 2 of 28] Compiling Control.Monad.Trans.Class ( Control/Monad/Trans/Class.hs, dist/build/Control/Monad/Trans/Class.o ) [ 3 of 28] Compiling Control.Monad.Signatures ( Control/Monad/Signatures.hs, dist/build/Control/Monad/Signatures.o ) [ 4 of 28] Compiling Control.Monad.IO.Class ( Control/Monad/IO/Class.hs, dist/build/Control/Monad/IO/Class.o ) [ 5 of 28] Compiling Control.Monad.Trans.Cont ( Control/Monad/Trans/Cont.hs, dist/build/Control/Monad/Trans/Cont.o ) [ 6 of 28] Compiling Control.Monad.Trans.Reader ( Control/Monad/Trans/Reader.hs, dist/build/Control/Monad/Trans/Reader.o ) [ 7 of 28] Compiling Control.Monad.Trans.RWS.Lazy ( Control/Monad/Trans/RWS/Lazy.hs, dist/build/Control/Monad/Trans/RWS/Lazy.o ) [ 8 of 28] Compiling Control.Monad.Trans.RWS ( Control/Monad/Trans/RWS.hs, dist/build/Control/Monad/Trans/RWS.o ) [ 9 of 28] Compiling Control.Monad.Trans.RWS.Strict ( Control/Monad/Trans/RWS/Strict.hs, dist/build/Control/Monad/Trans/RWS/Strict.o ) [10 of 28] Compiling Control.Monad.Trans.State.Lazy ( Control/Monad/Trans/State/Lazy.hs, dist/build/Control/Monad/Trans/State/Lazy.o ) [11 of 28] Compiling Control.Monad.Trans.State ( Control/Monad/Trans/State.hs, dist/build/Control/Monad/Trans/State.o ) [12 of 28] Compiling Control.Monad.Trans.State.Strict ( Control/Monad/Trans/State/Strict.hs, dist/build/Control/Monad/Trans/State/Strict.o ) [13 of 28] Compiling Data.Functor.Classes ( Data/Functor/Classes.hs, dist/build/Data/Functor/Classes.o ) [14 of 28] Compiling Data.Functor.Constant ( Data/Functor/Constant.hs, dist/build/Data/Functor/Constant.o ) [15 of 28] Compiling Control.Applicative.Lift ( Control/Applicative/Lift.hs, dist/build/Control/Applicative/Lift.o ) [16 of 28] Compiling Control.Monad.Trans.Except ( Control/Monad/Trans/Except.hs, dist/build/Control/Monad/Trans/Except.o ) [17 of 28] Compiling Control.Monad.Trans.Error ( Control/Monad/Trans/Error.hs, dist/build/Control/Monad/Trans/Error.o ) [18 of 28] Compiling Control.Monad.Trans.Identity ( Control/Monad/Trans/Identity.hs, dist/build/Control/Monad/Trans/Identity.o ) [19 of 28] Compiling Control.Monad.Trans.List ( Control/Monad/Trans/List.hs, dist/build/Control/Monad/Trans/List.o ) [20 of 28] Compiling Control.Monad.Trans.Maybe ( Control/Monad/Trans/Maybe.hs, dist/build/Control/Monad/Trans/Maybe.o ) [21 of 28] Compiling Control.Monad.Trans.Writer.Lazy ( Control/Monad/Trans/Writer/Lazy.hs, dist/build/Control/Monad/Trans/Writer/Lazy.o ) [22 of 28] Compiling Control.Monad.Trans.Writer ( Control/Monad/Trans/Writer.hs, dist/build/Control/Monad/Trans/Writer.o ) [23 of 28] Compiling Control.Monad.Trans.Writer.Strict ( Control/Monad/Trans/Writer/Strict.hs, dist/build/Control/Monad/Trans/Writer/Strict.o ) [24 of 28] Compiling Data.Functor.Compose ( Data/Functor/Compose.hs, dist/build/Data/Functor/Compose.o ) [25 of 28] Compiling Data.Functor.Product ( Data/Functor/Product.hs, dist/build/Data/Functor/Product.o ) [26 of 28] Compiling Data.Functor.Sum ( Data/Functor/Sum.hs, dist/build/Data/Functor/Sum.o ) [27 of 28] Compiling Control.Applicative.Backwards ( Control/Applicative/Backwards.hs, dist/build/Control/Applicative/Backwards.o ) [28 of 28] Compiling Data.Functor.Reverse ( Data/Functor/Reverse.hs, dist/build/Data/Functor/Reverse.o ) In-place registering transformers-0.4.3.0... Running Haddock for transformers-0.4.3.0... Running hscolour for transformers-0.4.3.0... Preprocessing library transformers-0.4.3.0... Preprocessing library transformers-0.4.3.0... Haddock coverage: 100% ( 2 / 2) in 'Data.Functor.Identity' 100% ( 14 / 14) in 'Control.Monad.Trans.Class' 100% ( 5 / 5) in 'Control.Monad.Signatures' 100% ( 2 / 2) in 'Control.Monad.IO.Class' 100% ( 22 / 22) in 'Control.Monad.Trans.Cont' 100% ( 18 / 18) in 'Control.Monad.Trans.Reader' 100% ( 37 / 37) in 'Control.Monad.Trans.RWS.Lazy' 100% ( 2 / 2) in 'Control.Monad.Trans.RWS' 100% ( 37 / 37) in 'Control.Monad.Trans.RWS.Strict' 100% ( 34 / 34) in 'Control.Monad.Trans.State.Lazy' 100% ( 2 / 2) in 'Control.Monad.Trans.State' 100% ( 34 / 34) in 'Control.Monad.Trans.State.Strict' 100% ( 15 / 15) in 'Data.Functor.Classes' 100% ( 2 / 2) in 'Data.Functor.Constant' 100% ( 9 / 9) in 'Control.Applicative.Lift' 100% ( 19 / 19) in 'Control.Monad.Trans.Except' 100% ( 15 / 15) in 'Control.Monad.Trans.Error' 100% ( 7 / 7) in 'Control.Monad.Trans.Identity' 100% ( 7 / 7) in 'Control.Monad.Trans.List' 100% ( 12 / 12) in 'Control.Monad.Trans.Maybe' 100% ( 20 / 20) in 'Control.Monad.Trans.Writer.Lazy' 100% ( 2 / 2) in 'Control.Monad.Trans.Writer' 100% ( 20 / 20) in 'Control.Monad.Trans.Writer.Strict' 100% ( 2 / 2) in 'Data.Functor.Compose' 100% ( 2 / 2) in 'Data.Functor.Product' 100% ( 2 / 2) in 'Data.Functor.Sum' 100% ( 2 / 2) in 'Control.Applicative.Backwards' 100% ( 2 / 2) in 'Data.Functor.Reverse' Documentation created: dist/doc/html/transformers/index.html, dist/doc/html/transformers/transformers.txt Creating package registration file: /tmp/pkgConf-transformers-0.4.331813.0 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-7.8.3/transformers-0.4.3.0 Registering transformers-0.4.3.0... Installed transformers-0.4.3.0 Configuring value-supply-0.6... Building value-supply-0.6... Preprocessing library value-supply-0.6... [1 of 1] Compiling Data.Supply ( Data/Supply.hs, dist/build/Data/Supply.o ) In-place registering value-supply-0.6... Running Haddock for value-supply-0.6... Running hscolour for value-supply-0.6... Preprocessing library value-supply-0.6... Preprocessing library value-supply-0.6... Haddock coverage: 100% ( 17 / 17) in 'Data.Supply' Documentation created: dist/doc/html/value-supply/index.html, dist/doc/html/value-supply/value-supply.txt Creating package registration file: /tmp/pkgConf-value-supply-031813.6 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-7.8.3/value-supply-0.6 Registering value-supply-0.6... Installed value-supply-0.6 Configuring mtl-2.2.1... Building mtl-2.2.1... Preprocessing library mtl-2.2.1... [ 1 of 22] Compiling Control.Monad.Writer.Class ( Control/Monad/Writer/Class.hs, dist/build/Control/Monad/Writer/Class.o ) [ 2 of 22] Compiling Control.Monad.State.Class ( Control/Monad/State/Class.hs, dist/build/Control/Monad/State/Class.o ) [ 3 of 22] Compiling Control.Monad.Reader.Class ( Control/Monad/Reader/Class.hs, dist/build/Control/Monad/Reader/Class.o ) [ 4 of 22] Compiling Control.Monad.RWS.Class ( Control/Monad/RWS/Class.hs, dist/build/Control/Monad/RWS/Class.o ) [ 5 of 22] Compiling Control.Monad.Identity ( Control/Monad/Identity.hs, dist/build/Control/Monad/Identity.o ) [ 6 of 22] Compiling Control.Monad.Error.Class ( Control/Monad/Error/Class.hs, dist/build/Control/Monad/Error/Class.o ) [ 7 of 22] Compiling Control.Monad.Cont.Class ( Control/Monad/Cont/Class.hs, dist/build/Control/Monad/Cont/Class.o ) [ 8 of 22] Compiling Control.Monad.Trans ( Control/Monad/Trans.hs, dist/build/Control/Monad/Trans.o ) [ 9 of 22] Compiling Control.Monad.Error ( Control/Monad/Error.hs, dist/build/Control/Monad/Error.o ) [10 of 22] Compiling Control.Monad.Except ( Control/Monad/Except.hs, dist/build/Control/Monad/Except.o ) [11 of 22] Compiling Control.Monad.List ( Control/Monad/List.hs, dist/build/Control/Monad/List.o ) [12 of 22] Compiling Control.Monad.RWS.Lazy ( Control/Monad/RWS/Lazy.hs, dist/build/Control/Monad/RWS/Lazy.o ) [13 of 22] Compiling Control.Monad.RWS ( Control/Monad/RWS.hs, dist/build/Control/Monad/RWS.o ) [14 of 22] Compiling Control.Monad.Reader ( Control/Monad/Reader.hs, dist/build/Control/Monad/Reader.o ) [15 of 22] Compiling Control.Monad.RWS.Strict ( Control/Monad/RWS/Strict.hs, dist/build/Control/Monad/RWS/Strict.o ) [16 of 22] Compiling Control.Monad.State.Lazy ( Control/Monad/State/Lazy.hs, dist/build/Control/Monad/State/Lazy.o ) [17 of 22] Compiling Control.Monad.State ( Control/Monad/State.hs, dist/build/Control/Monad/State.o ) [18 of 22] Compiling Control.Monad.State.Strict ( Control/Monad/State/Strict.hs, dist/build/Control/Monad/State/Strict.o ) [19 of 22] Compiling Control.Monad.Writer.Lazy ( Control/Monad/Writer/Lazy.hs, dist/build/Control/Monad/Writer/Lazy.o ) [20 of 22] Compiling Control.Monad.Writer ( Control/Monad/Writer.hs, dist/build/Control/Monad/Writer.o ) [21 of 22] Compiling Control.Monad.Writer.Strict ( Control/Monad/Writer/Strict.hs, dist/build/Control/Monad/Writer/Strict.o ) [22 of 22] Compiling Control.Monad.Cont ( Control/Monad/Cont.hs, dist/build/Control/Monad/Cont.o ) In-place registering mtl-2.2.1... Running Haddock for mtl-2.2.1... Running hscolour for mtl-2.2.1... Preprocessing library mtl-2.2.1... Preprocessing library mtl-2.2.1... Haddock coverage: 75% ( 3 / 4) in 'Control.Monad.Writer.Class' 100% ( 5 / 5) in 'Control.Monad.State.Class' 100% ( 3 / 3) in 'Control.Monad.Reader.Class' 80% ( 4 / 5) in 'Control.Monad.RWS.Class' 100% ( 4 / 4) in 'Control.Monad.Identity' 100% ( 3 / 3) in 'Control.Monad.Error.Class' 50% ( 1 / 2) in 'Control.Monad.Cont.Class' 100% ( 3 / 3) in 'Control.Monad.Trans' 93% ( 14 / 15) in 'Control.Monad.Error' 100% ( 19 / 19) in 'Control.Monad.Except' 100% ( 5 / 5) in 'Control.Monad.List' 95% ( 21 / 22) in 'Control.Monad.RWS.Lazy' 100% ( 2 / 2) in 'Control.Monad.RWS' 96% ( 22 / 23) in 'Control.Monad.Reader' 95% ( 21 / 22) in 'Control.Monad.RWS.Strict' 96% ( 24 / 25) in 'Control.Monad.State.Lazy' 100% ( 2 / 2) in 'Control.Monad.State' 96% ( 24 / 25) in 'Control.Monad.State.Strict' 89% ( 17 / 19) in 'Control.Monad.Writer.Lazy' 100% ( 2 / 2) in 'Control.Monad.Writer' 94% ( 17 / 18) in 'Control.Monad.Writer.Strict' 91% ( 20 / 22) in 'Control.Monad.Cont' Documentation created: dist/doc/html/mtl/index.html, dist/doc/html/mtl/mtl.txt Creating package registration file: /tmp/pkgConf-mtl-2.231813.1 Installing library in /home/builder/hackage-server/build-cache/tmp-install/lib/x86_64-linux-ghc-7.8.3/mtl-2.2.1 Registering mtl-2.2.1... Installed mtl-2.2.1 Downloading Obsidian-0.0.0.1... Configuring Obsidian-0.0.0.1... Building Obsidian-0.0.0.1... Preprocessing library Obsidian-0.0.0.1... [ 1 of 22] Compiling Obsidian.CodeGen.PP ( Obsidian/CodeGen/PP.hs, dist/build/Obsidian/CodeGen/PP.o ) [ 2 of 22] Compiling Obsidian.DimSpec ( Obsidian/DimSpec.hs, dist/build/Obsidian/DimSpec.o ) [ 3 of 22] Compiling Obsidian.Globs ( Obsidian/Globs.hs, dist/build/Obsidian/Globs.o ) [ 4 of 22] Compiling Obsidian.CodeGen.SPMDC ( Obsidian/CodeGen/SPMDC.hs, dist/build/Obsidian/CodeGen/SPMDC.o ) [ 5 of 22] Compiling Obsidian.Names ( Obsidian/Names.hs, dist/build/Obsidian/Names.o ) [ 6 of 22] Compiling Obsidian.Types ( Obsidian/Types.hs, dist/build/Obsidian/Types.o ) [ 7 of 22] Compiling Obsidian.Exp ( Obsidian/Exp.hs, dist/build/Obsidian/Exp.o ) Obsidian/Exp.hs:789:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Num a) bound by a pattern with constructor Add :: forall a. Num a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:789:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CAdd In an equation for ‘binOpToCBinOp’: binOpToCBinOp Add = CAdd Obsidian/Exp.hs:790:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Num a) bound by a pattern with constructor Sub :: forall a. Num a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:790:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CSub In an equation for ‘binOpToCBinOp’: binOpToCBinOp Sub = CSub Obsidian/Exp.hs:791:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Num a) bound by a pattern with constructor Mul :: forall a. Num a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:791:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CMul In an equation for ‘binOpToCBinOp’: binOpToCBinOp Mul = CMul Obsidian/Exp.hs:792:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Num a) bound by a pattern with constructor Div :: forall a. Num a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:792:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CDiv In an equation for ‘binOpToCBinOp’: binOpToCBinOp Div = CDiv Obsidian/Exp.hs:793:22: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Floating a) bound by a pattern with constructor FDiv :: forall a. Floating a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:793:15-18 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CDiv In an equation for ‘binOpToCBinOp’: binOpToCBinOp FDiv = CDiv Obsidian/Exp.hs:794:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Integral a) bound by a pattern with constructor Mod :: forall a. Integral a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:794:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CMod In an equation for ‘binOpToCBinOp’: binOpToCBinOp Mod = CMod Obsidian/Exp.hs:796:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor Eq :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:796:15-16 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CEq In an equation for ‘binOpToCBinOp’: binOpToCBinOp Eq = CEq Obsidian/Exp.hs:797:23: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor NotEq :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:797:15-19 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CNotEq In an equation for ‘binOpToCBinOp’: binOpToCBinOp NotEq = CNotEq Obsidian/Exp.hs:798:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor Lt :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:798:15-16 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CLt In an equation for ‘binOpToCBinOp’: binOpToCBinOp Lt = CLt Obsidian/Exp.hs:799:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor LEq :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:799:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CLEq In an equation for ‘binOpToCBinOp’: binOpToCBinOp LEq = CLEq Obsidian/Exp.hs:800:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor Gt :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:800:15-16 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CGt In an equation for ‘binOpToCBinOp’: binOpToCBinOp Gt = CGt Obsidian/Exp.hs:801:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> Bool), Ord a) bound by a pattern with constructor GEq :: forall a. Ord a => Op ((a, a) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:801:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CGEq In an equation for ‘binOpToCBinOp’: binOpToCBinOp GEq = CGEq Obsidian/Exp.hs:803:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((Bool, Bool) -> Bool)) bound by a pattern with constructor And :: Op ((Bool, Bool) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:803:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CAnd In an equation for ‘binOpToCBinOp’: binOpToCBinOp And = CAnd Obsidian/Exp.hs:804:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((Bool, Bool) -> Bool)) bound by a pattern with constructor Or :: Op ((Bool, Bool) -> Bool), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:804:15-16 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: COr In an equation for ‘binOpToCBinOp’: binOpToCBinOp Or = COr Obsidian/Exp.hs:806:21: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Floating a) bound by a pattern with constructor Pow :: forall a. Floating a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:806:15-17 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CPow In an equation for ‘binOpToCBinOp’: binOpToCBinOp Pow = CPow Obsidian/Exp.hs:808:28: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Bits a) bound by a pattern with constructor BitwiseAnd :: forall a. Bits a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:808:15-24 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CBitwiseAnd In an equation for ‘binOpToCBinOp’: binOpToCBinOp BitwiseAnd = CBitwiseAnd Obsidian/Exp.hs:809:28: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Bits a) bound by a pattern with constructor BitwiseOr :: forall a. Bits a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:809:15-23 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CBitwiseOr In an equation for ‘binOpToCBinOp’: binOpToCBinOp BitwiseOr = CBitwiseOr Obsidian/Exp.hs:810:28: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, a) -> a), Bits a) bound by a pattern with constructor BitwiseXor :: forall a. Bits a => Op ((a, a) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:810:15-24 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CBitwiseXor In an equation for ‘binOpToCBinOp’: binOpToCBinOp BitwiseXor = CBitwiseXor Obsidian/Exp.hs:811:28: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, b) -> a), Num b, Bits a) bound by a pattern with constructor ShiftL :: forall a b. (Num b, Bits a) => Op ((a, b) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:811:15-20 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CShiftL In an equation for ‘binOpToCBinOp’: binOpToCBinOp ShiftL = CShiftL Obsidian/Exp.hs:812:28: Couldn't match expected type ‘t’ with actual type ‘CBinOp’ ‘t’ is untouchable inside the constraints (t1 ~ ((a, b) -> a), Num b, Bits a) bound by a pattern with constructor ShiftR :: forall a b. (Num b, Bits a) => Op ((a, b) -> a), in an equation for ‘binOpToCBinOp’ at Obsidian/Exp.hs:812:15-20 ‘t’ is a rigid type variable bound by the inferred type of binOpToCBinOp :: Op t1 -> t at Obsidian/Exp.hs:789:1 Relevant bindings include binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:789:1) In the expression: CShiftR In an equation for ‘binOpToCBinOp’: binOpToCBinOp ShiftR = CShiftR Obsidian/Exp.hs:815:28: Couldn't match expected type ‘t’ with actual type ‘CUnOp’ ‘t’ is untouchable inside the constraints (t1 ~ (a -> a), Bits a) bound by a pattern with constructor BitwiseNeg :: forall a. Bits a => Op (a -> a), in an equation for ‘unOpToCUnOp’ at Obsidian/Exp.hs:815:15-24 ‘t’ is a rigid type variable bound by the inferred type of unOpToCUnOp :: Op t1 -> t at Obsidian/Exp.hs:815:1 Relevant bindings include unOpToCUnOp :: Op t1 -> t (bound at Obsidian/Exp.hs:815:1) In the expression: CBitwiseNeg In an equation for ‘unOpToCUnOp’: unOpToCUnOp BitwiseNeg = CBitwiseNeg Failed to install Obsidian-0.0.0.1 cabal: Error: some packages failed to install: Obsidian-0.0.0.1 failed during the building phase. The exception was: ExitFailure 1