Works for me on GHC6.10.4: {-# LANGUAGE GeneralizedNewtypeDeriving #-} module NewtypeDerive where import Control.Applicative
newtype Foo f a = Foo (f a) deriving (Functor, Applicative, Alternative) newtype Bar a = Bar [a] deriving (Functor, Applicative, Alternative) -- ryan On Wed, Oct 14, 2009 at 2:16 PM, Martijn van Steenbergen < mart...@van.steenbergen.nl> wrote: > Hello café, > > I've never written an Alternative instance for a newtype yet that doesn't > look like this: > > instance Alternative T where >> empty = T empty >> T x <|> T y = T (x <|> y) >> > > Why does newtype deriving not work for Alternative? (It works fine for > Monoid.) > > Thanks, > > Martijn. > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe