10得票2回答
Scalaz 镜头组合

这里有一个非常简单的问题。在观看了一个优秀的透镜介绍视频之后: http://www.youtube.com/watch?v=efv0SQNde5Q 我想尝试一下讲座中涉及的一个简单示例:import scalaz.Lens._ fst.andThen(snd).set(((1,2),3)...

10得票2回答
为什么我的数据类型需要成为Monoid的实例才能使用这个镜头?

我在使用下面的代码处理一个包含类型为SceneGraph的'_scene'字段的记录。我已经使用makeLenses创建了它的镜头。inputGame :: Input -> Game -> Game inputGame i g = flip execState g $ do ...

10得票1回答
我该如何结合镜头和函子?

我正在尝试熟悉 Haskell 的 lens 库,但是在某些简单问题上遇到了困难。例如,为了方便起见,假设 at 和 _1 有以下类型(至少这是我理解它们的方式):at :: Ord k => k -> Lens' (Map k v) (Maybe v) _1 :: Lens' ...

10得票2回答
Haskell的lens包如何处理同时也是关键字的字段?

当一个去糖化的字段是一个关键字时,Lens如何处理?我记得读过一些特殊的处理方式,但我不记得在哪里读到的或“lensed”访问器的名称会变成什么。 考虑以下内容:{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #...

10得票3回答
Data.Lens或Control.Lens是什么?

可能是重复的问题: lenses,fclabels,data-accessor - 哪个库更好地用于结构访问和修改 我将在我的下一个Haskell项目中使用并学习Lens包。当我发现这篇文章提到了Control.Lens包中的van Laarhoven Lenses时,我几乎已经决定要...

10得票3回答
使用Lens过滤复合结构

我有一个 [(a, Maybe b)],想要得到一个 [(a, b)],其中过滤掉所有第二个元素是Nothing的对。 是否有一种简洁的方式使用 lens 描述这个操作?

9得票3回答
如何在嵌套的case类中找到和修改字段?

定义了一些带有List字段的嵌套案例类: @Lenses("_") case class Version(version: Int, content: String) @Lenses("_") case class Doc(path: String, versions: List[Versi...

9得票1回答
基于Monad类型类,是否有一个van Laarhoven光学实现?

据我所了解,每个van Laarhoven光学类型可以通过对类型构造函数的限制来定义: type Lens s t a b = forall f. Functor f => (a -> f b) -> s -> f t type Traversal ...

9得票4回答
让一个单一函数能够在列表、字节串和文本(以及可能的其他类似表示)上工作

我正在编写一个函数,用于在任意符号序列中进行搜索。我希望使其足够通用,可以在列表、Foldable以及ByteString和Text上运行。将其泛化到Foldable很简单。但如何包括ByteString和Text呢?当然,我可以将ByteString转换为列表,然后调用我的函数,但我会失去所...

9得票1回答
使用Control.Lens索引列表需要Monoid约束。

下面的代码无法编译: {-# LANGUAGE TemplateHaskell #-} import Control.Lens data MyType = MyType Int data Outer = Outer { _inners :: [ Inner ] } data Inner ...