[Haskell] Re: "Never" GADT Function?
Ashley Yakeley
ashley at semantic.org
Sat Jan 8 04:08:00 EST 2005
In article <16863.36246.132716.788213 at sf0.comp.nus.edu.sg>,
Martin Sulzmann <sulzmann at comp.nus.edu.sg> wrote:
You should be able to even write
neverT (BoolT x) = x
neverT (IntT x) = False
Actually I didn't put in any arguments to my constructors. Apart from
that I agree: this should compile, but doesn't:
data T a where
BoolT :: T Bool
IntT :: T Int
neverT :: T Char -> x
neverT BoolT = "hello"
neverT IntT = 37
Pick.hs:11:9:
Inaccessible case alternative: Can't match types `Bool' and `Char'
When checking the pattern: BoolT
In the definition of `neverT': neverT BoolT = "hello"
--
Ashley Yakeley, Seattle WA
--
Ashley Yakeley, Seattle WA
More information about the Haskell
mailing list