Resolving dependencies...
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'
Missing documentation for:
MonadWriter (Control/Monad/Writer/Class.hs:62)
100% ( 5 / 5) in 'Control.Monad.State.Class'
100% ( 3 / 3) in 'Control.Monad.Reader.Class'
80% ( 4 / 5) in 'Control.Monad.RWS.Class'
Missing documentation for:
MonadRWS (Control/Monad/RWS/Class.hs:44)
100% ( 4 / 4) in 'Control.Monad.Identity'
100% ( 3 / 3) in 'Control.Monad.Error.Class'
50% ( 1 / 2) in 'Control.Monad.Cont.Class'
Missing documentation for:
MonadCont (Control/Monad/Cont/Class.hs:73)
100% ( 3 / 3) in 'Control.Monad.Trans'
93% ( 14 / 15) in 'Control.Monad.Error'
Missing documentation for:
runErrorT
100% ( 19 / 19) in 'Control.Monad.Except'
100% ( 5 / 5) in 'Control.Monad.List'
95% ( 21 / 22) in 'Control.Monad.RWS.Lazy'
Missing documentation for:
runRWST
100% ( 2 / 2) in 'Control.Monad.RWS'
96% ( 22 / 23) in 'Control.Monad.Reader'
Missing documentation for:
runReaderT
95% ( 21 / 22) in 'Control.Monad.RWS.Strict'
Missing documentation for:
runRWST
96% ( 24 / 25) in 'Control.Monad.State.Lazy'
Missing documentation for:
runStateT
100% ( 2 / 2) in 'Control.Monad.State'
96% ( 24 / 25) in 'Control.Monad.State.Strict'
Missing documentation for:
runStateT
89% ( 17 / 19) in 'Control.Monad.Writer.Lazy'
Missing documentation for:
MonadWriter (Control/Monad/Writer/Class.hs:62)
runWriterT
100% ( 2 / 2) in 'Control.Monad.Writer'
94% ( 17 / 18) in 'Control.Monad.Writer.Strict'
Missing documentation for:
MonadWriter (Control/Monad/Writer/Class.hs:62)
91% ( 20 / 22) in 'Control.Monad.Cont'
Missing documentation for:
MonadCont (Control/Monad/Cont/Class.hs:73)
runContT
Documentation created: dist/doc/html/mtl/index.html, dist/doc/html/mtl/mtl.txt
Creating package registration file: /tmp/pkgConf-mtl-2.2278722862233665123.1
Installing library in
/home/builder/rebuild/build-cache/tmp-install/lib/x86_64-linux-ghc-7.10.2/mtl-2.2.1-KMpng31YRYc5JfMWFZ3FCU
Registering mtl-2.2.1...
Installed mtl-2.2.1
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-0711645630195740084.6
Installing library in
/home/builder/rebuild/build-cache/tmp-install/lib/x86_64-linux-ghc-7.10.2/value-supply-0.6-6FTHZuhL89zGCMmrMWNSei
Registering value-supply-0.6...
Installed value-supply-0.6
Downloading Obsidian-0.0.0.2...
Configuring Obsidian-0.0.0.2...
Building Obsidian-0.0.0.2...
Preprocessing library Obsidian-0.0.0.2...
Obsidian/CodeGen/InOut.hs:2:14: Warning:
-XOverlappingInstances is deprecated: instead use per-instance pragmas OVERLAPPING/OVERLAPPABLE/OVERLAPS
[ 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:788: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:788:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CAdd
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Add = CAdd
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
Sub :: 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:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CSub
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Sub = CSub
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
Mul :: 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:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CMul
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Mul = CMul
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
Div :: 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:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CDiv
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Div = CDiv
Obsidian/Exp.hs:792: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:792:15-18
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CDiv
In an equation for ‘binOpToCBinOp’: binOpToCBinOp FDiv = CDiv
Obsidian/Exp.hs:793: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:793:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CMod
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Mod = CMod
Obsidian/Exp.hs:795: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:795:15-16
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CEq
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Eq = CEq
Obsidian/Exp.hs:796: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:796:15-19
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CNotEq
In an equation for ‘binOpToCBinOp’: binOpToCBinOp NotEq = CNotEq
Obsidian/Exp.hs:797: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:797:15-16
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CLt
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Lt = CLt
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
LEq :: forall a. Ord a => Op ((a, a) -> Bool),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:798:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CLEq
In an equation for ‘binOpToCBinOp’: binOpToCBinOp LEq = CLEq
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
Gt :: forall a. Ord a => Op ((a, a) -> Bool),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:799:15-16
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CGt
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Gt = CGt
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
GEq :: forall a. Ord a => Op ((a, a) -> Bool),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:800:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CGEq
In an equation for ‘binOpToCBinOp’: binOpToCBinOp GEq = CGEq
Obsidian/Exp.hs:802: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:802:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CAnd
In an equation for ‘binOpToCBinOp’: binOpToCBinOp And = CAnd
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
Or :: Op ((Bool, Bool) -> Bool),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:803:15-16
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: COr
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Or = COr
Obsidian/Exp.hs:805: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:805:15-17
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CPow
In an equation for ‘binOpToCBinOp’: binOpToCBinOp Pow = CPow
Obsidian/Exp.hs:807: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:807:15-24
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CBitwiseAnd
In an equation for ‘binOpToCBinOp’:
binOpToCBinOp BitwiseAnd = CBitwiseAnd
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
BitwiseOr :: forall a. Bits a => Op ((a, a) -> a),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:808:15-23
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CBitwiseOr
In an equation for ‘binOpToCBinOp’:
binOpToCBinOp BitwiseOr = CBitwiseOr
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
BitwiseXor :: forall a. Bits a => Op ((a, a) -> a),
in an equation for ‘binOpToCBinOp’
at Obsidian/Exp.hs:809:15-24
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CBitwiseXor
In an equation for ‘binOpToCBinOp’:
binOpToCBinOp BitwiseXor = CBitwiseXor
Obsidian/Exp.hs:810: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:810:15-20
‘t’ is a rigid type variable bound by
the inferred type of binOpToCBinOp :: Op t1 -> t
at Obsidian/Exp.hs:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CShiftL
In an equation for ‘binOpToCBinOp’: binOpToCBinOp ShiftL = CShiftL
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
ShiftR :: 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:788:1
Possible fix: add a type signature for ‘binOpToCBinOp’
Relevant bindings include
binOpToCBinOp :: Op t1 -> t (bound at Obsidian/Exp.hs:788:1)
In the expression: CShiftR
In an equation for ‘binOpToCBinOp’: binOpToCBinOp ShiftR = CShiftR
Obsidian/Exp.hs:814: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:814:15-24
‘t’ is a rigid type variable bound by
the inferred type of unOpToCUnOp :: Op t1 -> t
at Obsidian/Exp.hs:814:1
Possible fix: add a type signature for ‘unOpToCUnOp’
Relevant bindings include
unOpToCUnOp :: Op t1 -> t (bound at Obsidian/Exp.hs:814:1)
In the expression: CBitwiseNeg
In an equation for ‘unOpToCUnOp’:
unOpToCUnOp BitwiseNeg = CBitwiseNeg
Failed to install Obsidian-0.0.0.2
cabal: Error: some packages failed to install:
Obsidian-0.0.0.2 failed during the building phase. The exception was:
ExitFailure 1