这个“派生新类型”语法是什么?
What is this `deriving newtype` syntax?
来自博客post 我阅读
-- | Newtype for disabling logging
newtype NoLoggingT m a
= NoLoggingT { runNoLoggingT :: m a }
deriving newtype (Functor, Applicative, Monad)
deriving (MonadTrans) via IdentityT
instance Monad m => MonadLog (NoLoggingT m) where logLn _ _ = pure ()
deriving newtype
语法是什么?
它是哪个扩展,它有什么作用?
请在答案中为其文档提供 link。
它让 GHC 使用 GeneralizedNewtypeDeriving
策略来派生实例。您需要启用 DerivingStrategies
扩展程序。
来自博客post 我阅读
-- | Newtype for disabling logging
newtype NoLoggingT m a
= NoLoggingT { runNoLoggingT :: m a }
deriving newtype (Functor, Applicative, Monad)
deriving (MonadTrans) via IdentityT
instance Monad m => MonadLog (NoLoggingT m) where logLn _ _ = pure ()
deriving newtype
语法是什么?
它是哪个扩展,它有什么作用?
请在答案中为其文档提供 link。
它让 GHC 使用 GeneralizedNewtypeDeriving
策略来派生实例。您需要启用 DerivingStrategies
扩展程序。