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


> 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    |
  than astronomy is about telescopes." -Dijkstra |