문제

나는 Haskell에서 약간의 경험을 가지고 있었고 현재 Scala를 배우고 있습니다. 스칼라에 모나드와 동등한 것이 있는지 궁금합니다.

도움이 되었습니까?

해결책

당신은 아마 체크 아웃하고 싶을 것입니다 스칼라즈; Haskell의 영향을 많이 받았습니다. 실제로, 그것은 종종 주요 기여자 중 한 명에게 그들이 왜 그렇지 않은지에 대한 질문을 받았습니다. 단지 그들이 너무 좋아하는 것처럼 Haskell을 사용하십시오!

Scalaz는 모나드로 구조물을 장식하기 위해 암시를 많이 사용합니다. 예를 들어:

val fibs = (0, 1).iterate[Stream]( i => i._2 -> (i._2 + i._1) ).map(_._1)
println( fibs.take(10) )

다른 팁

Scala의 "For-Congrension"은 Haskell의 모나디아 인 "Do"와 동일하다는 점에 주목할 가치가 있다고 생각합니다.

옵션과 목록은 모두 모나드입니다. 또한 왼쪽과 오른쪽 예측도 모나드라고 생각합니다.

Scala Standard Library에는 Monad의 명시 적 개념이 없습니다 (적절한 특성/클래스 또는 TypeClass는 없습니다).

Scala는 이것을 임시 방식으로 다루고 있습니다. 예제 별 스칼라의 섹션 이해를 위해 자세한 내용은.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top