
#10892: ApplicativeDo should use *> and <* -------------------------------------+------------------------------------- Reporter: simonmar | Owner: simonmar Type: task | Status: new Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 7.11 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by rwbarton): Replying to [comment:8 sjcjoosten]:
On a side note, I ran into this strange (but understandable) behavior, not sure if it should be considered a bug: {{{ Prelude Data.Sequence> :t (\x -> do{_ <- x; return x}) (\x -> do{_ <- x; return x}) :: Functor f => f t -> f (f t) Prelude Data.Sequence> :t (\x -> do{_ <- x; pure x}) (\x -> do{_ <- x; pure x}) :: Monad m => m a -> m (m a) Prelude Data.Sequence> :t (\x -> do{pure x}) (\x -> do{pure x}) :: Applicative f => a -> f a Prelude Data.Sequence> :t (\x -> do{return x}) (\x -> do{return x}) :: Monad m => a -> m a }}}
This is #11607. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10892#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler