Open kvanbere opened 10 years ago
Changing the Applicative instance to something like this may have been intended;
instance Applicative Identity where pure !x = return x {-# INLINE pure #-} (<*>) !a !b = do !f <- a ; !v <- b ; return $! (f $! v) {-# INLINE (<*>) #-}
I'm not completely sure.
its unclear, it may be that in some sense its impossible to write the right strict applicative and functor instances!
i'll stare at this more this evening / later this week, may write error instead :)
Changing the Applicative instance to something like this may have been intended;
I'm not completely sure.