monads

    1

    1답변

    나는 가독성을 높이기 위해 변수를 많이 사용하는 경향이 있지만 모나드 올 때, 나는 내 변수가 모나드 (들) def getUser(id: Int): Future[User] = ??? val _user1 = getUser(1) val _user2 = getUser(2) for { user1 <- _user1 user2 <- _use

    2

    1답변

    아래 코드에서 >>을 사용하여 IO 작업을 함께 연결합니다. 그러나 AFAIU, m1>>m2은 m1>>=(\_.m2)으로 de-sugared되고 바인딩하는 경우 바로 첫 번째 IO 작업을 실행합니다. 모든 인쇄가 주체에서 일어나길 원합니다. 즉, print 문이 입력 문 ("코드 입력")과 인터리브되지 않아야합니다. do 이후로는 [IO()]과 같이 IO보

    2

    1답변

    이 같은 Data.Maybe.monad을 사용하는 기능이 있습니다 유사한 typeCheck ν (f · e) = typeCheck ν e >>= λ { (u , e′) → typeCheck ν f >>= λ { (u′ ▷ t , f′) → u !≡ₜ u′ >>= λ { refl → pure (, (f′ · e′)) };

    2

    1답변

    조금 이해하려고 노력하고 있습니다. conduit. runConduit $ yield "abc" .| mapMC id .| sinkList 을 실행하는 동안, runConduit $ yield "abc" .| mapC id .| sinkList 이 ["abc"]을 제공 실행 ["a", "b", "c"] 제공합니다. 왜 모나드 버전이 스트림을 분할합니

    1

    1답변

    스 카스를 배우고 있으며 이제는 모나드 IO의 요지를 이해하려고합니다. 나는 입출력 모나드에 대한 this article를 읽고 간단한 예에게 자신을 실행하려고 : 예상대로 val io = println("test").pure[IO] println("before") io.unsafePerformIO() 예, 그것은 작동합니다. 그것은 인쇄합니다 be

    11

    1답변

    Tardis 모나드를 사용하여 모든 통과 컨테이너에 버블 정렬을 구현하려고합니다. {-# LANGUAGE TupleSections #-} module Main where import Control.DeepSeq import Control.Monad.Tardis import Data.Bifunctor import Data.Traversable

    2

    1답변

    멋진 모나드 방식으로 비동기 프로세스를 작성하는 방법에 어려움을 겪고 있습니다. 프로세스의 각 단계가 실패하여 Future[Either[String, T]]을 검색 할 수 있습니다. def firstStep(input: Int): Future[Either[String, Long]] = ??? def secondStep(input: Long): Future

    1

    1답변

    the article of Dan Friedman about monadic evaluation을 Scheme에서 구현 한 적이 있는데, State monad의 서브 찬 종말에서 연습 문제로 골머리를 앓고 있습니다. 이 기사는 매우 명확합니다. 최소한의 이론으로 깊은 이해를 얻지 만,이 운동은 실제로는 모호합니다. 나는 몇 가지 중요한 부분을 그리워하고 이것

    0

    1답변

    f = do putStrLn "1" putStrLn "2" main = f 내가 이해하는 방식으로 f은 (putStrLn "1")>>=(\_ -> (putStrLn "2"))으로 줄어 듭니다. 람다 (모나드 제거 _)를 적용하는 동안 인쇄 작업이 완료 되었습니까? 누군가가 어떤 부분에서 평가되고 실행되는지 어떤 부분을 설명 할 수

    2

    2답변

    IO [[Char]]과 IO()을 바인딩해도 괜찮지 만 Maybe을 IO으로 바인딩 할 수는 없습니다. 누군가이 완화 작용이 나쁜 디자인으로 이어질 수있는 예를 들어 줄 수 있습니까? Monad의 다형성 유형에서 자유가 허용되는 이유는 무엇입니까?