lens

    1

    1答えて

    私は同じフィールド名を持つレコードのレンズを構築しようとしています。それと並んで、私はこれらのベースレコードを「ラップ/拡張」しようとしており、ラップされた/拡張されたレコードのために同じフィールド名を使用したいと考えています。どのように私は仕事に次のですか: -- Data types for context of the code snippet below data Download =

    3

    2答えて

    私は、マニュアルレンズ(焦点と絞りは手動で設定する)を備えた工業グレードのカメラで動作するソフトウェアを持っています。 私はカメラの露出時間とゲインを制御できます。 ヒストグラム解析を行って画像の露出を確認しました。 いいえグレースケール強度の平均値を露出値に変換する方法を探しています。 目標は、露出値がEv = Av + Tv(Av絞り値またはf停止、Tv時間値、露出時間)なので固定絞り設定およ

    3

    1答えて

    私はセッターについて幾分直感を得ようとしています。lensです。それは、Conjoinedクラスを威圧むしろ必要とIndexedSetterに実行するのは簡単です: class (Choice p, Corepresentable p, Comonad (Corep p), Traversable (Corep p) , Strong p, Representable p, M

    2

    2答えて

    いくつかのタイプ特化を実装しようとしています プリズムで動作するいくつかの関数があり、 GHC 8で問題があります。 < 8ですが、別の質問では です)。 A問題の(不自然な)最小限の例: foo :: Prism' s a -> Prism' s a foo = id {-# RULES "foo/foo'" foo = foo' #-} foo' :: Prism' Char Bool

    3

    1答えて

    私はMonadState s mが私にsを取得し、更新する能力を与えることを理解します。 しかし、私はこの状態がassignのようなレンズコンビネータで使用される状態にどのように関係しているのか分かりません。特に、レンズが複数のターゲットで動作できる場合。また、状態を必要としないsetのような単純な関数もあります。 これらの類似のコンビネータのそれぞれのユースケースは何ですか?

    2

    1答えて

    私はレンズとプリズムで欺いています。私は雑草に少し入ってきました。私は、テンプレートHaskellで次のことを書きたいけど、それはコンパイルできないですよう: data Suit = Spade | Heart | Diamond | Club makePrisms ''Suit blackSuits = _Spade <> _Club レンズやプリズムについて私が知っているすべて(だけで

    4

    1答えて

    私は内部の詳細が隠されている型を持っています。特定のインデックスで上記のタイプの要素を読み取ることができる何らかの種類のレンズを提供したいですが、ではなくを修正してください。私のタイプのIxedインスタンスは、明示的に(挿入や削除はできませんが)変更を許可するので、私のタイプのインスタンスは私が望んでいるようには見えません。私は、読み取り専用索引付けを許可したい場合、私が何を使用しているか分かりま

    2

    3答えて

    私は現在、特定の方法で論理形式を取り決めているコードを書いています。このの追求では、私はレンズを使用する次のコード、書かれている:次に {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE Rank2Types #-} module Logic.Internal.Formula where import BasicPrelude hidin

    1

    1答えて

    {-# LANGUAGE TemplateHaskell #-} import Control.Lens data Fruit = Fruit { _fruitColor :: String } $(makeClassy ''Fruit) data Fruits = Banana Int Fruit | Strawberry String

    9

    3答えて

    私はそれの穴にTraversableを持っている - このバイナリーツリー想像: : - - [2, 4]その結果、私はまたして穴を埋めるために値のリストを持っている / \ / \ Nothing Just 1 /\ Nothing Just 3 を / \ / \ Just 4 Just 1 /\ Just 2 Just 3 le