«monads» 태그된 질문

프로그래밍의 모나드는 구성 가능한 계산 설명입니다. 모나드는 Haskell과 같은 함수형 프로그래밍 언어에서 중요한 구조입니다.

5
인덱스 된 모나드는 무엇입니까?
인덱스 된 모나드 는 무엇 이며이 모나드 의 동기 는 무엇입니까 ? 나는 그것이 부작용을 추적하는 데 도움이된다고 읽었습니다. 그러나 형식 서명과 문서는 나를 어디로도 인도하지 않습니다. 부작용 (또는 다른 유효한 예)을 추적하는 데 도움이 될 수있는 예는 무엇입니까?
98 haskell  monads 

3
하스켈에서 Control.Monad.Writer를 사용하는 방법?
저는 함수형 프로그래밍을 처음 접했고 최근에는 Learn You a Haskell 에서 배웠지 만이 장을 살펴 보았을 때 아래 프로그램을 고수했습니다. import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) multWithLog :: Writer [String] Int multWithLog = do a <- …
97 haskell  monads 

3
State, ST, IORef 및 MVar의 차이점
48 시간 내에 Write Yourself a Scheme (최대 85 시간)을 통해 작업 중이며 Add Variables and Assignments에 대한 부분에 도달했습니다 . 이 장에는 큰 개념적 점프가 있으며, 최종 솔루션으로 바로 점프하는 것보다 중간에 좋은 리팩토링을 통해 두 단계로 수행 되었으면합니다. 어쨌든… 나는 같은 목적을 제공하는 것 다른 클래스의 번호와 분실 …

3
mtl, 변환기, monads-fd, monadLib 및 선택의 역설
Hackage에는 모나드 변환기를위한 여러 패키지가 있습니다. mtl : Monad 변환기 라이브러리 변압기 : 콘크리트 펑터 및 모나드 변압기 monads-fd : 기능적 종속성을 사용하는 Monad 클래스 monads-tf : 유형 패밀리를 사용하는 Monad 클래스 monadLib : 모나드 변환기 모음입니다. mtl-tf : 유형 패밀리를 사용하는 Monad 변환기 라이브러리. mmtl : 모듈 식 Monad …

5
flatMap / Map 변환에 대한 이해를위한 것과 혼동
나는 정말로 Map과 FlatMap을 이해하지 못하는 것 같습니다. 내가 이해하지 못하는 것은 for-comprehension이 map 및 flatMap에 대한 중첩 호출 시퀀스라는 것입니다. 다음 예제는 Scala의 함수형 프로그래밍에서 가져온 것입니다. def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <- mkMatcher(pat) g <- mkMatcher(pat2) } yield f(s) && g(s) 번역하다 def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = mkMatcher(pat) flatMap …

18
Option [T] 클래스의 요점은 무엇입니까?
나는 Option[T]Scala에서 수업 의 요점을 이해할 수 없습니다 . 내 말은, 나는 Noneover의 어떤 이점도 볼 수 없다는 것을 의미 null합니다. 예를 들어 다음 코드를 고려하십시오. object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance …

5
모나드가 컴포지션에서 닫히지 않음을 보여주는 구체적인 예 (증거 포함)?
응용 펑 터는 컴포지션에서 닫히지 만 모나드는 그렇지 않다는 것은 잘 알려져 있습니다. 그러나 모나드가 항상 구성하는 것은 아니라는 구체적인 반례를 찾는 데 어려움을 겪었습니다. 이 대답 은 [String -> a]비 모나드의 예입니다. 잠시 놀아 본 후 직관적으로 믿었지만 그 대답은 실제로 정당화하지 않고 "조인을 구현할 수 없습니다"라고 말합니다. 좀 …

5
부가 물로서의 모나드
나는 카테고리 이론에서 모나드에 대해 읽었습니다. 모나드의 한 정의는 한 쌍의 인접 펑터를 사용합니다. 모나드는 이러한 펑터를 사용하는 왕복으로 정의됩니다. 명백하게 부속은 범주 이론에서 매우 중요하지만, 부속 펑터 측면에서 Haskell 모나드에 대한 설명은 보지 못했습니다. 누군가 그것에 대해 생각 했습니까?

1
"효과보다 더 강력한 모나드 트랜스포머"-예?
Idris의 효과에 대한 Edwin C. Brady의 "대수적 효과 및 종속 유형을 사용한 프로그래밍 및 추론" 논문 에는 다음과 같은 (참조되지 않은) 주장이 포함되어 있습니다. 비록 [효과와 모나드 변환기]가 전력면에서 동등하지는 않지만-모나드와 모나드 변환기는 더 많은 개념을 표현할 수 있습니다. 많은 일반적인 효과적인 계산이 포착됩니다. 모나드 변환기로 모델링 할 수 있지만 …

9
Java 8을 사용한 모나드
모나드가 무엇인지 이해하는 데 도움이되도록 누군가 java를 사용하여 예제를 제공 할 수 있습니까? 가능합니까? 여기 http://jdk8.java.net/lambda/ 에서 시험판 람다 호환 JDK8을 다운로드하면 java를 사용하여 람다 식을 사용할 수 있습니다. 이 JDK를 사용하는 람다의 예가 아래에 나와 있습니다. 누군가 비교적 간단한 모나드를 제공 할 수 있습니까? public interface TransformService { int[] …
78 java  java-8  monads  optional 

1
연속 모나드를 왼쪽 및 오른쪽 인접 요소로 분해하는 방법은 무엇입니까?
State monad는 Product (Left-Functor) 및 Reader (Right-Representable)로 분해 할 수 있습니다. Continuation Monad를 분해하는 방법이 있습니까? 아래 코드는 확인을 입력하지 않는 내 시도입니다. -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, InstanceSigs, TypeSynonymInstances #-} type (<-:) o i = i -> o -- I …

2
하스켈에 중첩 된 국가
다소 다른 종류의 상태로 상태 머신 패밀리를 정의하려고합니다. 특히, 더 "복잡한"상태 머신은 더 단순한 상태 머신의 상태를 결합함으로써 형성된 상태를 갖는다. (이것은 객체가 객체이기도 한 여러 속성을 갖는 객체 지향 설정과 유사합니다.) 다음은 내가 달성하고자하는 것에 대한 간단한 예입니다. data InnerState = MkInnerState { _innerVal :: Int } data OuterState …

1
계속해서 할 수없는 callCC로 무엇을 할 수 있습니까?
callCC를 이해하는 데 정말로 어려움을 겪고 있습니다. 나는 Continuations의 힘을 얻었고 멋진 컨셉을 만들기 위해 일부 프로젝트에서 컨셉을 사용하고 있습니다. 그러나보다 큰 기능을 가진 것을 사용할 필요는 없었습니다 cont :: ((a->r)->r)-> Cont r a. 그것을 사용한 후에는 왜 그들이 모든 모나드의 어머니 인 Cont Monad라고 부르는지 이해가 되겠지만, 그래도 언제 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.