lens

    0热度

    1回答

    TL展开;博士:是否有可能使用任何lens家族的抽象的包装/解开任意newtype(即提供了一种用于这样的抽象的实例)? 我会通过一个基于真实故事的简单示例来激发我的问题。假设我定义以下newtype: newtype FreeMonoid a = FreeMonoid { asMap :: Map a Int } 它是用来表示形式方面: a0 <> a1 <> ... <> an-1 我

    1热度

    1回答

    我有一个JSON结构看起来像这样: { "instances": [ { "instanceId": "i-1234", "tags": [ { "value": "author1useast1", "key": "hostname" } ] }, { "in

    -1热度

    2回答

    我是Haskell的新手。我正在读码here,我不知道(虽然我猜)是什么uses做: inRange <- uses fsCurrentCoinRangeUpperBound (coinIndex <=) 另外,为什么的<-被使用? 我抬头看“控制镜头在Haskell中使用”,但我找不到任何解释。

    0热度

    1回答

    我不清楚makeLense和makePrisms之间的区别吗? 我知道,当我们要访问一个嵌套的结构/数据,然后使用makeLense这样的: data Point = Point { _x :: Int, _y :: Int} data Test= Test {_name :: String, _position :: Point} makeLenses ''Point makeLense

    1热度

    1回答

    我能以恒定的指标,像这样创建列表的IndexedTraversal: constIndex :: i -> Lens.AnIndexedLens i a b a b constIndex index f = Lens.indexed f index constIndexedList :: i -> Lens.AnIndexedTraversal i [a] [b] a b constInd

    3热度

    2回答

    我想根据记录中的特定值执行排序。因此,我正在考虑将镜头传递到lensSort函数,但我一直无法使其工作。 理想的情况下,我可以做这样的事情 lensSort :: HasLens a => Lens' a b -> a -> a -> -> Ordering lensSort lens x y | x ^. lens > y ^. lens = GT | x ^. lens <

    0热度

    2回答

    考虑下面的记录,他们的镜头: data Bar = Bar {barField1 :: Int, barField2 :: String} makeLensesWith abbreviatedFields ''Bar data BarError = BarError {barerrField1 :: [String], barerrField2 :: [String]} makeLense

    0热度

    1回答

    ,我有以下的JSON数据 value :: Maybe Value value = decode "{ \"import\" : { \"starttime\": \"2017-02-20T18:45:456.45645\" \ \ , \"endtime\" : \"2017-02-20T18:45:456.45645\" \ \ } \

    6热度

    1回答

    只许成功试想一下,我有以下列表: lst :: [(Bool, Maybe Integer)] lst = [(True, Just 3), (True, Nothing), (False, Just 12)] 使用镜头库,我想提取的元组的元素,但我只希望它成功当第二个元素是Just。我想要一些光,split认为是这样的: > lst ^.. folded.split (_1.to not)

    2热度

    1回答

    假设我有一个列表[A]。如果满足某个谓词,我想更新列表的特定元素。但是如果没有这样的元素,我想先添加元素列表。我目前的解决方案是手动编写函数,以便将元素插入列表中,如果它不存在,然后使用遍历来更新元素。像这样: -- inserts element to list if there's no a single element -- which satisfies given predicate