free-monad

    0

    1답변

    FreeMonads를 사용하여 내 서비스 용 해석기를 구현하는 방법을 배우려고합니다. 내가 sealed trait ServiceAction[T] extends Product with Serializable case class ConsumeCommand(cmd: AccruePoints) extends ServiceAction[AccruePointModel]

    3

    2답변

    저는 프로젝트에서 무료 모나드를 사용하기 시작했습니다. 저는 그것을 우아하게 만들기 위해 고심하고 있습니다. 두 문맥 (실제로는 더 있습니다) - Receipt 및 User - 둘 다 데이터베이스에 대한 작업이 있으며, 나는 그들의 통역사를 별도로 유지하고 마지막 순간에 작성하고 싶습니다. 각기 다른 작업을 정의하고 Coproduct을 사용하여 하나의 유형

    4

    1답변

    무료 모나드를 이해하려고합니다. 그래서 자습서의 도움으로 나는 장난감 예제를 가지고 놀았지만 지금은 왜 컴파일되는지 이해하지 못합니다. 여기에 있습니다 : import cats.free.Free import cats.instances.all._ import cats.~> trait Operation[+A] case class Print(s: St

    1

    1답변

    을 위해 통역을 정의,이 통역을 정의하는 코드 예제가있다 : teletypeN :: forall eff. NaturalTransformation TeletypeF (Eff (console :: CONSOLE | eff)) teletypeN (PutStrLn s a) = const a <$> log s teletypeN (GetLine k) = pure

    2

    3답변

    여기에서 튜토리얼을 수행하고 있습니다 (http://typelevel.org/cats/datatypes/freemonad.html). 키 값 저장소 앞에있는 캐시에서 작동하도록 수정하려고합니다. 이것이 내가 지금까지 생각해 왔지만 valueGetOperation과 컴파일러 오류가 발생했습니다. 내가 왜 컴파일 오류가 나는지 이해할 수 없다. 나는 그 문제를

    7

    1답변

    나는 두 가지 해석이 가능한 문법 라이브러리를 만들고있다 : 1) 문법에 따라 문자열 파싱 2) 문법에 정의 된 언어로 문자열 생성. 라이브러리는 고양이를 사용하여 문법의 AST를 무료 모나드로 만듭니다. 그러나 무료 모나드는 AST의 목록과 같은 표현을 생성하기 때문에 성립되지 않을 수도 있지만 문법은 문 목록과는 거리가 멀며 임의의 나무 구조에 훨씬 가

    3

    1답변

    프리 모나드에 상태 모나드를 삽입 할 수 있습니다. {-# language FlexibleInstances, MultiParamTypeClasses #-} module Main where import Control.Monad.Free import Control.Monad.State import Data.Bifunctor data Toy stat

    2

    1답변

    무료 모나드에 대해 배우고 있으며 스칼라에 두 개의 도메인 특정 언어를 정의하는 데 사용하는 간단한 예제를 작성했습니다. 첫 번째 모나드는 저장소의 부작용을 처리합니다. 상태를 관리하기 위해 상태 모나드를 사용하는 통역사를 구현했지만 실제 프로그램에서는 데이터베이스를 사용합니다. 두 번째 모나드는 IO를 처리합니다. import cats.data.State

    2

    1답변

    F #에서 무료 모나드의 교회 인코딩을 표현하려고합니다. Free은 특정 기능자인 Effect에 특화되어 있습니다. return_ : 'T -> Free<'T>과 bind: ('T -> Free<'U>) -> Free<'T> -> Free<'U>을 아무런 문제없이 쓸 수 있습니다. 내 구현 스케치는 아래와 같습니다. 이 인코딩을 위해 인터프리터를 작성하려고

    2

    1답변

    스칼라에서 시스템 테스트를 작성하기위한 DSL을 작성하려고합니다. 이 DSL에서는 일부 작업이 비동기 적으로 발생한다는 사실 (예 : 테스트중인 웹 서비스를 사용하여 구현 되었기 때문에) 또는 웹 서비스를 사용할 수 없기 때문에 오류가 발생할 수 있다는 사실을 드러내지 않습니다. , 우리는 테스트가 실패하기를 원한다). In this answer이 접근법은