如何使用带IxSet的镜头?

时间:2015-02-05 08:33:29

标签: haskell lens lenses

说,我有用户列表中包含的用户,如下所示:

import Control.Lens
import Control.Lens.At -- maybe this would help?
import Data.IxSet

data User = User { _userId :: Int
                 , _userName :: String }

instance Indexable User where
    empty = ixSet [ ixFun (\u -> _userId u) ]

makeLenses ''User

data Userlist = Userlist { _users :: IxSet User }

makeLenses ''Userlist

什么命令会给我一个镜头来查看用户列表的第3个成员?

也许,因为我的数据定义会允许多个具有相同ID的用户,所以镜头可能不是我想要的......一次遍历?棱镜?

对我来说,部分困难在于我所有的谷歌搜索引导我使用一个名为data-lens-ixset的弃用软件包。

0 个答案:

没有答案