monads

    1

    1답변

    는 아래의 고려 : class Test m a where t :: Int -> m a instance Test [] Int where t i = [i] instance Test Maybe Int where t i | i == 0 = Nothing | otherwise = Just i main = do

    2

    1답변

    모나드 트랜스포머를 사용하여 작가 모나드를 두 번 중첩 시키려고합니다. 내가 Struct 모나드하지 Collision에 tell를 사용할 필요로이 import Control.Monad.Identity import Control.Monad.Writer data Struct = S Bool instance Monoid Struct where

    1

    3답변

    스칼라에서 나는 Array[Option[(String,String,Try[String])]]을 가지며 모든 오류 오류 코드를 찾고 싶습니다. for { Some(row) <- row (a,b,c) = row x <- c } yield x 을하지만 내부 모나드가 실패 인 경우, 그때 나는 사투를 벌인거야 : 내부 모나드가 대신

    1

    2답변

    나는 스칼라에서 함수형 프로그래밍을 공부하고 있으며 모나드를 배웠다. 짧은 모나드에서 : trait M[A] { def flatMap[B](f: A => M[B]): M[B] } def unit[A](x: A): M[A] 모나드는 위의 2 가지 규칙을 기반으로 한 개념입니다. 그리고 우리는, 현실 세계와 같은 List 많은 모나드를 충족시

    1

    2답변

    독자 모나드를 이해하는 데 어려움이 있습니다. 내가 읽은 모든 곳에서 나의 이해는 다른 기능에 변수 (읽기 모드)를 공유 할 수 있다는 것입니다. 아래는 2 개의 함수 계산과 samething (나쁜 함수 이름은 유감스럽게 생각합니다)의 구현입니다. 하나는 Reader이고 하나는 Reader가없는 것입니다. 리더를 사용하여 이익을 얻지 못합니다. modul

    3

    1답변

    술어 p과 목록을 사용하는 함수를 작성했습니다. 은 ([value],[state])을 반환합니다. 첫 번째 목록에는 p을 전달하는 요소가 포함되어 있고 두 번째 요소에는없는 요소가 들어 있습니다. 그러나, 나는 실패한 요소가 잘못 [value]에 저장되는 곳 runState (myFunc even [1,2,3,4,5]) [] 내가 ([2,4,5,3,1]

    0

    1답변

    간단한 변수로 State Monad를 사용하려고했는데 제대로 작동했습니다. 하지만 여기에 내가 혼합 입출력과 비 입출력을 시도하는 것 같습니다. 상태 모나드가 관리하는 배열을 가질 의도입니다. 이 배열을 읽고 쓰고 싶습니다. 내가 생각했던 것보다 더 열심히 보입니다. funarray :: Map.Map String (IOArray Int Int)

    0

    1답변

    기능적 디자인 패턴에 대한 Java 표준 라이브러리 목록은 어디에서 찾을 수 있습니까? 나는 java.util 패키지는 데이터 구조를 모두 포함 들었지만, 나는 그것의 기능 인터페이스의 등가물을 찾을 수 없습니다 : Monoid -> Appendable Monad -> Flattenable Functor -> Mapable Applicative

    4

    2답변

    나는 느릅 나무의 모나드 부족에 고심하고있다. Elm (http://package.elm-lang.org/packages/folkertdev/elm-state/latest/State) 용 상태 모나드를 구현 한 라이브러리가 제게 많은 도움이되었습니다. 문제는 이제 각각 하나만 갖고 싶을 때 중첩 된 결과 및 상태 유형이있는 상황이 발생한다는 것입니다. 다음

    2

    1답변

    논문 Monadic Parse in Haskell에서 저자는 간단한 산수의 문자열 해석에 대한 예를 제시합니다. term을 확장하여 "1 + 2"에 적용하려고 시도했지만 파서의 재귀 적 특성에 대해 여전히 혼란 스럽습니다. 즉 나는 그것이 올바른 expr = ((digit +++ do {symb "("; n <- expr; symb ")"; return n