deriving over renamed types

Hal Daume III hdaume@ISI.EDU
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    | hdaume@isi.edu
  than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume