Setter保留索引意味着什么?

时间:2016-08-22 18:35:28

标签: haskell lens

我试图在lens中获得关于Setters的一些直觉。很容易遇到IndexedSetter,这需要相当令人生畏的Conjoined类:

class
  ( Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p)
  , Strong p, Representable p, Monad (Rep p), MonadFix (Rep p), Distributive (Rep p)
  , Costrong p, ArrowLoop p, ArrowApply p, ArrowChoice p, Closed p
  ) => Conjoined p where

但是对于功能而言,它非常简单:

class Conjoined p => Indexable i p where
  -- | Build a function from an 'indexed' function.
  indexed :: p a b -> i -> a -> b

instance Indexable i (->) where
  indexed = const

似乎i除了作为p a b之后的参数之外没有任何约束。

什么使它成为“索引”,在使用Setter s时我应该关心它吗?

0 个答案:

没有答案