monads

    3

    1답변

    하스켈을 배우기 시작한 후 많은 문서를 읽은 후에도 하스켈에서 이해할 수없는 무언가가 있습니다. IO 작업을 수행하려면 IO 모나드를 사용하는 모든 함수가 여전히 순수하게 작동 할 수 있도록 "블랙 박스"종류의 값을 래핑 한 "IO 모나드"를 사용해야한다는 것을 알고 있습니다. 좋아요. 그렇지만 입출력 작업은 실제로 어디에서 발생합니까? 모나드 자체가 순전

    1

    1답변

    이것이 조금 까다 롭습니다 만 왜 작동하지 않는지 궁금합니다! module Main where sillyDebug :: Int -> Int -> Int sillyDebug x y = (print x) `seq` (x + y) main :: IO() main = do print (sillyDebug 1 2) 이상적인 그것이 지

    1

    2답변

    보통 모나드에리스트의 첫 번째 원소를 넣는 함수를 구현하려하지만 모나드가리스트라면 전체리스트를 반환합니다 : Just 1을 반환해야 putInMonad :: MonadPlus m => [a] -> m a putInMonad (s:sx) = return s putInMonad _ = mzero putInMonad [1,2,3] :: Maybe Int

    5

    1답변

    현재 Alternative/MonadPlus의 안경은 wikibooks입니다. 차이점을 잘 설명합니다. 그러나, 난처한 부분은 guard 함수입니다.이 함수는 계산을 "단락"하는 데 사용됩니다. (맞습니까?) Control.Monad에 정의되어 있지만 기능이 guard 인 경우 Alternative 제약 조건이 있습니다 (link). guard :: (

    0

    1답변

    부분적으로 적용된 함수 are instances of the MonadReader이므로 다음 코드가 잘못된 이유는 무엇입니까? MonadReader의 인스턴스가되는 runReader (\x -> x + 2) 4 또는 runReader (\x -> pure $ x + 2) 4

    1

    1답변

    저는 카테고리 이론을 배우고 있습니다. 나는 독자 모나드의 개념을 이해 , 그것을 구현하는 데에도 꽤 쉽게 : case class Reader[DEP, A](g: DEP => A) { def apply(dep: DEP): A = g(dep) def map[B](f: A => B): Reader[DEP, B] = Reader(dep =>

    2

    1답변

    오늘 나는 다음과 같은 문제를 가로 질러 온 경비원 : 나는 몇 가지 패턴 매칭 단순화이처럼 보이는, 무슨했다 : object Sync { sealed trait MatchType case object BigType extends MatchType case object SmallType extends MatchType c

    0

    1답변

    나는 간단한 yesod 템플릿을 기반으로하는 프로젝트 작업을하고 있습니다. 나는 기능 프로그래밍, haskell 및 Yesodd를 처음 사용하므로 Yesod 경험을 가진 사람이라면 누구에게나 명백한 것이 될 것입니다. 현재이 library을 사용하여 github API 호출을 만들려고합니다. 유형 문제가 발생하고 있으며 문제 해결 방법을 시작하는 방법조차

    1

    2답변

    나는 상태 모나드 here을 통해 갈거야 내가 구현하려고 해요 : 나는 다음과 같은 오류 받고 있어요 그러나 import Control.Monad.Reader import Control.Monad.Writer import Control.Monad.State type Stack = [Int] pop :: State Stack Int pop = S

    0

    1답변

    안에 나는 랜드 - 모나드 내부 runST을하고 싶지,하지만 난 오른쪽 종류를 얻을 수 GHC의 출력은 특히 도움이되지 않습니다 : 입력에 import Control.Monad import Control.Monad.Random as MR import Control.Monad.ST import Control.Monad.Trans impo