monad-transformers

    24

    1답변

    나는 ListT가 monad laws을 만족하지 않는 버그가 모나드 변압기의 전형적인 예라고 언급 보았다. 간단한 예를 통해 설명 할 수 있습니까? 편집 : 내 생각은 ListT []입니다. 조금 잘못되었으므로, documentation은 교환 가능한 내부 모나드가 필요합니다. 그래서,이 요구 사항을 가지고 있다는 의미에서 ListT 버그가 있습니까? 아니

    3

    2답변

    에서 상태 및 연속 모나드를 결합하는 방법 트리가 특정 깊이까지 트래버스 될 때까지 하위 작업이 생성되는 작업 병렬 라이브러리를 사용하여 트리를 합산하려고합니다. 그렇지 않으면 나머지 자식 노드를 합계하여 합계합니다 스택 오버 플로우를 피하기 위해 연속 전달 스타일. 그러나 코드는 꽤 못생긴 것처럼 보입니다. 현재의 깊이를 전달하기 위해 상태 모나드를 사용

    6

    2답변

    제목에서 알 수 있듯이 Monads의 큰 스택과 함께 모나드 트랜스포머를 사용하는 프로그램을 찾고 있습니다. 실제 사례를 아는 사람이 있습니까?

    2

    2답변

    튜토리얼 Write Yourself A Scheme을 따라 갔다. 나는 유형 LispVal는 모나드 변압기의 층의 몇 가지에 싸서 한 : import qualified Data.Map as M data LispVal = ... data LispError = ... type Bindings = M.Map String (IORef LispVal) d

    5

    1답변

    나는 IO 모나드와 함께 AppState를 구축하기 위해 Combine state with IO actions에 제공된 조언을 따르려고합니다. 내가 뭘 얻었 는가 : module Main where import Control.Monad.State import Control.Monad.Trans data ST = ST [Integer] derivin

    1

    2답변

    특히이 클라이언트를 example에 적용하고 있습니다. 코드와 오류가 발생한 후 문제가 있다고 생각하는 전화를 드리겠습니다. > {-# LANGUAGE OverloadedStrings #-} > import Network.HTTP.Conduit > (http, parseUrl, newManager,def, withManager, RequestBody (

    5

    1답변

    나는 ErrorT을 포함하는 모나드 변압기 스택을 가지고 있으며, 전체적으로 ContT r 변압기를 감싸고 싶습니다. 이 작업을 시도 할 때 throwError에 대한 호출은 유형 오류를 생성합니다. 분명히 ContT r은 MonadError의 인스턴스가 아닙니다. 좋아, 내가 생각 - 난 그냥 하나에 그것을 만들 수 있습니다 : instance Monad

    2

    1답변

    작은 메시지 파이프 라인을 구성하기 위해 Pipes-2.1.0 패키지와 zeromq3-haskell 패키지를 사용하고 있습니다. Frames의 마무리를 이해하는 데 문제가 있다는 것을 제외하고는 모든 것이 잘 진행되는 것 같습니다. 다음 프레임에서는 두 가지 리소스를 얻습니다. zeromq 컨텍스트 및 zeromq 소켓이 있습니다. 그런 다음 zeromq

    6

    1답변

    내가 유형 VS[Option[B]]의 결과를 얻으려면 내가 type VS[A] = Validation[String, A] val v: VS[Option[A]] val f: A => VS[B] 이 있다고 가정하지만 v이 Success(None) 인 경우, 결과는 또한 Success(None)해야한다. 그런 다음 scala> val v: VS[Opti

    10

    3답변

    내가이 async 워크 플로우에 Option 동안을 반환하고 싶은 말은 어쩌면 계산 식을 결합 match. 커스텀 빌더를 만들 수는 있지만 두 개의 계산식을 일반적으로 결합하는 방법이 있습니까? 그것은 다음과 같이 보일 수 있습니다 let run = async { let! x = doAsyncThing let! y = doNe