lenses

    1

    2答えて

    私はいくつかの特殊なフォームだけで普通の木に非常に似ているいくつかのデータ型を持っています。 data NestedTree = NT { _dummy :: Int , _tree :: HashMap String NestedTree } deriving (Show) makeLenses ''NestedTree レンズを使用してデータ型のインスタン

    2

    1答えて

    私はいくつかのネストされたレコードを(関連するフィールドに縮小して)持っています。 data GameS = GameS { _game_data_gs :: GameData } data GameData = GameData { _players_gd :: PlayerMap } data PlayerMap = PlayerMap { _p_map :: Map PlayerNam

    0

    1答えて

    これはおそらく間違った方法だと思っていますが、コンストラクタで何かを拡張するクラスでレンズを使用するScalaでは問題があります。 class A(c: Config) extends B(c) { val x: String = doSomeProcessing(c, y) // y comes from B } 私は、このクラスを変異させるLensを作成しようとしていますが、ト

    -2

    1答えて

    レンズを使用し始めていますが、今まで私が書いているコードベースの具体的な部分では使用できませんでした。私の目的は、既存のものの1つの中に新しいノードを追加することによって、Data.Treeにあるようなバラのツリー構造を更新することです。それはそのようになりますので、そうするために、私は、それが一意のIDと各ノードを識別するために理にかなっていることを考えた: type MyTree = Tree

    3

    1答えて

    私はのいずれかのの再帰的文法データ型とそのデータ型の表現をとることができ、同じ種類のすべての部分式のリストを生成するようなコードを作成しようとしていますその型の再帰でscanのようにします。 付属の玩具電卓の文法タイプEExpについては、以下の2つの手動の例を書いています。最初の例では、Lensライブラリのプリズムとレンズを使用していますが、eg1の式の1つでは動作しますが、2番目の関数はハンドリ

    0

    1答えて

    で構築されたパス内の任意の値を定義しますMonocleを使用してデフォルト以外の必要がある要素。 isosは簡単です。私は、組成物とナビゲーションを指定して、内側の要素を変更するには、Set使用することができます。 object Beta { val alphaI: Iso[Beta, Alpha] = GenIso[Beta, Alpha] } object Alpha {

    1

    1答えて

    私は、ハスケルとの勢いを拾い始めて、lensのような私が毎日実行する抽象を愛しています。 私は、REST APIレンズを使用すると便利ですが、時間がかかりそうでないことを見つける前に、それは可能ですか? 私が見る大きな問題は(私のレンズの構文は、おそらく間違っている)私は直接、データ構造にアクセスするが、要求された文字列を出力していないよということです。 λ> over (user "robert

    0

    1答えて

    TLを使用して、DRを:それは/いずれかの任意newtype(すなわち、このような抽象化のインスタンスを提供する)アンラップラップする抽象化のlensファミリーのいずれかを使用することが可能ですか? 私は真実の物語に基づいて簡単な例で私の質問を動機づけます。フォームの条件を表すために使用される newtype FreeMonoid a = FreeMonoid { asMap :: Map a I

    6

    2答えて

    import Control.Lens import Control.Lens.TH data Foo = Foo { _bar, _baz :: Int } makeLenses ''Foo は今、私は barbaz :: Setter' Foo Int barbaz = sets $ \foo f -> foo & bar %~ f &

    0

    1答えて

    私はこのパイプラインの周りに私の頭を包んで問題があります。学生がいれば、既存のプロパティ(grade)の値に基づいて新しいプロパティ(icon)を追加して、その上にマップしたいと考えています。私は、今のところマッピング部分を無視し、個々の問題に焦点を当てることによって、問題を小さな部分に分割しました。このため 条件 私はこの 完全なコード 用のレンズを利用しています R.cond ゲッターとセッタ