小编Fel*_*ner的帖子

带括号的Haskell newtype

我试图理解Monads中的解释变得困难,我很难搞清楚以下新类型的定义:

newtype (FComp g f) x = FComp { unCompose :: g (f x) }

instance (Functor b c f, Functor a b g) => Functor a c (FComp g f) where
  fmap f (FComp xs) = FComp $ fmap (fmap f) xs
Run Code Online (Sandbox Code Playgroud)

我无处可见解释newtype的含义是用括号中的表达式代替类型声明.因此,我无法弄清楚fmap函数的定义是什么意思.我也不明白为什么定义unCompose字段访问器但从未使用过.我觉得我缺少一些newtype的基本语义.

haskell newtype

15
推荐指数
2
解决办法
498
查看次数

标签 统计

haskell ×1

newtype ×1