小编New*_*ird的帖子

为类型同义词编写函子实例并感到困惑

我正在尝试实现一个通用的类似环形的东西,并将其应用于 Paul Hudak 在《哈斯克尔音乐学院》一书中描述的音乐数据结构。当然,有很多半群/幺半群的恶作剧被省略,但我有以下相关代码:

\n
newtype Duo     a b     = Duo     {duo1     :: a} -- A ring-like structure\n\ndata Song a =\n       Primitive a\n     | Song a :+: Song a             -- Composing Music Sequentially\n     | Song a :=: Song a deriving Eq -- Composing Music Concurrently (in parallel)\n\ninstance Functor Song where\n     fmap f (x :+: y)     = fmap f x :+: fmap f y\n     fmap f (x :=: y)     = fmap f x :=: fmap f y\n     fmap f …
Run Code Online (Sandbox Code Playgroud)

haskell

2
推荐指数
1
解决办法
74
查看次数

标签 统计

haskell ×1