free-monad

    2

    1答えて

    私はFree Monads of Catsで遊んでいます。私はCSVレコードを処理するためにDSLを書いています。基本的な操作はCSVレコードを処理することであり、私はprocessCSVRecordsの操作のためにヘルパーsequenceとmap2の関数を書いています。私はケースクラスの戻り値の型をジェネリック型Rにします。以下は私が使用しているコードです。私は上記のコードをコンパイルしようとす

    0

    1答えて

    私はFreeMonadsを使用して私のサービスのためのインタプリタを実装する方法を学ぼうとしています。 私は sealed trait ServiceAction[T] extends Product with Serializable case class ConsumeCommand(cmd: AccruePoints) extends ServiceAction[AccruePointMo

    2

    1答えて

    私はScalaでシステムテストを書くためのDSLを書こうとしています。このDSLでは、一部の操作が非同期的に行われる可能性があるという事実(例えば、テスト対象のWebサービスを使用して実装されているため)や、Webサービスが利用できない可能性があるため私たちはテストが失敗するようにしたい)。 In this answerこのアプローチはお勧めできませんが、私はテストを書くためのDSLの文脈でこれに

    3

    2答えて

    私は私のプロジェクトで無料のモナドを使い始めようとしています。私はそれをエレガントにするために苦労しています。 私は2つのコンテキスト(実際にはもっと持っている) - ReceiptとUserを持っています - どちらもデータベース上で操作をしており、私はそれらのインタプリタを別々に保ち、最後にそれらを構成したいと思います。 このためには、それぞれ異なる操作を定義し、Coproductを使用して1

    4

    1答えて

    私はフリーモナドを理解しようとしています。チュートリアルの助けを借りて、私はおもちゃの例を書いていましたが、今はなぜそれがコンパイルされるのかわかりません。ここにあります: import cats.free.Free import cats.instances.all._ import cats.~> trait Operation[+A] case class Print(s: St

    0

    1答えて

    私は最近、FPのコンセプト、特にフリーモナドを理解するために時間を費やしてきました。私はフリーモナドの背後にある考え方をよく理解していると思うが、疑問が浮かび上がった。 私は無料のモナドの上に構築されたビットのためにDoobieを使用してきました。私にとっては、ドゥービー(doobie)を含めて、異なる代数を組み合わせたもの(共産物を含む)を持つことは理にかなっています。代数をテストするときには、

    2

    3答えて

    ここでチュートリアルに従っている:http://typelevel.org/cats/datatypes/freemonad.htmlを修正し、キー値ストアの前のキャッシュで動作するように修正しようとしています。これは私がこれまで出てきたものですが、valueGetOperationでコンパイルエラーが発生しています。私はなぜコンパイルエラーが発生するのか理解していますが、回避方法を理解できません

    7

    1答えて

    私は文法に基づいて文字列を解析する2)文法によって定義された言語で文字列を生成する2つの異なる解釈を持つ文法ライブラリを作成しています。 ライブラリはcatsを使用して、フリーモナドとして文法のASTを作成します。しかし、フリー・モナドはASTのリスト形式の表現を作成するため、文リストには適していますが、文法は文リストから遠くにあり、任意のツリー構造に非常に近いので、完璧なものではないようです。

    3

    1答えて

    私は無料モナド状態モナドを埋め込むできるようにしようとしています。 {-# language FlexibleInstances, MultiParamTypeClasses #-} module Main where import Control.Monad.Free import Control.Monad.State import Data.Bifunctor data Toy