Thank you for your help with this, too. Now I get another error in a different file where simply appending Eq b' doesn't do the trick:
[170 of 180] Compiling XMonad.Actions.GridSelect ( XMonad/Actions/GridSelect.hs, dist/build/XMonad/Actions/GridSelect.o )
XMonad/Actions/GridSelect.hs:227:12:
Could not deduce (Eq b') arising from a use of `nub'
from the context (Enum b', Num b')
bound by the type signature for
diamondLayer :: (Enum b', Num b') => b' -> [(b', b')]
at
XMonad/Actions/GridSelect.hs:(226,1)-(229,35)
Possible fix:
add (Eq b') to the context of
the type signature for
diamondLayer :: (Enum b', Num b') => b' -> [(b', b')]
In the expression: nub
In the expression:
nub
$ ul
++
(map (negate *** id) ul)
++ (map (negate *** negate) ul) ++ (map (id *** negate) ul)
In the expression:
let ul = [... | x <- ...]
in
nub
$ ul
++
(map (negate *** id) ul)
++ (map (negate *** negate) ul) ++ (map (id *** negate) ul)
Following your earlier advice, I have tried replacing the line
diamondLayer :: (Enum b', Num b') => b' -> [(b', b')]
with both
diamondLayer :: (Enum b', Num b', Eq b') => b' -> [(b', b')]
as well as
diamondLayer :: (Enum b', (Num b', Eq b')) => b'
-> [(b', b')]
but the compiler was unhappy about it in both occasions.