deriving over renamed types

Hal Daume III [email protected]
Wed, 3 Apr 2002 15:14:58 -0800 (PST)


Why can't I do this:

> import FiniteMap
> type FM = FiniteMap
> instance (Show a, Show b) => Show (FiniteMap a b) where
>     show = show . fmToList
> data X = X (FM Int Int)
>        deriving (Show)

if I replace

> type FM = FiniteMap

with

> type FM a b = FiniteMap a b

it works fine.  I wasn't aware there was (supposed to be) a difference
between these two declarations?  Is there?

 - Hal


--
Hal Daume III

 "Computer science is no more about computers    | [email protected]
  than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume