2010-02-27 3 views
8

나는 Happstack에 대해 Guestbook example을 읽고 하스켈을 배우기 위해 공부 한 교과서에서 예전에 보지 못한 >> 기호를 발견했습니다 (예 : 23 행 참조). 이게 뭐야?하스켈에서 >> 기호의 의미

>>을 완전히 무시하므로 Google에서 찾을 수 없습니다 (Bing은 비 관련 결과가 많음). 그것은 첫 번째의 결과는 무시하는 것을 제외하고, 두 가지 작업을 서열 것을 http://holumbus.fh-wedel.de/hayoo/hayoo.html

(>>)(>>=) 같다 :

+2

hoogle (및 hayoo 동등 haskell 구문을 사용하여 검색 http://www.haskell.org/hoogle/?hoogle=%3E%3E – Keith

+0

Google 코드 검색은 일반적으로 이와 같은 경우에 적합하지만 특정 사례에 가장 적합하지 않을 수 있습니다. http://google.com/codesearch?q=lang%3Ahaskell+%3E%3E&hl=en&btnG=Search+Code – MatrixFrog

답변

10

, 당신은 입력 할 수 있습니다 거기에서

class Monad m where 
... 
(>>) :: m a -> m b -> m b 
... 
     -- Defined in GHC.Base 
infixl 1 >> 

을, 당신은 단지 자세한 내용은 소스 코드를 좀 걸릴 수 있습니다 .

는 그리고 당신의 질문에 대답을 위해 :

k >> f = k >>= \_ -> f 
+1

나는 지금 어리 석다. 나는 : i (정보) 명령에 대해 알고 있지만 Java와 PHP에서 왔으며 여전히 모든 것을 REPL을 사용하는 데 익숙해있다. 감사합니다 – CharlesS

+5

정확하지만 Haskell 초보자에게 간신히 도움이됩니다. 왜 그것이 존재합니까? 그것은 무엇을 위해 유용합니까? +0. –

+1

검색 할 위치를 찾는 데 충분합니다. 나는 어떤 단서도 가지지 않았다. – CharlesS

14

Hayoo 연산자의 종류를 인식한다.

:info >> 

과 같은 결과를 얻을 :

ghci 명령 프롬프트에서
+0

왜 downvote? –

+0

그 링크를 가져 주셔서 감사합니다! 굉장히 유용하다. Upvote. – CharlesS

+1

궁극적 인 주먹 싸움 챔피언십 결승 : Hoogle 대 Hayoo! –

1

을 난 더 하스켈 전문가는 아니지만, >> 많은 가운데 그 (특이한 기능입니다 모나드, 작업에 사용되는 연산자 다른 것들)는 Haskell에서 명령형 프로그래밍을 가능하게합니다. 모나드에는 많은 자습서가 있습니다. here's one good one.

기본적으로 a >> b는 "a 다음 b을 수행하고 b의 결과를 반환 않는다"처럼 읽을 수 있습니다. 보다 일반적인 바인드 연산자 >>=과 비슷합니다. DO-표기법

+6

"이해하기 어려운 것들"에 대한 대답은 명확하지 않습니다. 그것은 실패에 대한 독자를 설정, 내 생각 엔. –

+0

충분히 좋습니다. 그들은 이제는 "이해하기 어려운 것"이 아니라 "특이한 특징"입니다. –

+0

함수를 호출하고 그 결과를 다른 함수로 전달하는 것은 "특이한 기능"입니다. OK ... – jrockway

8

a >> b >> c >> d 

do a 
    b 
    c 
    d 

동등 (유사 a >>= (b >>= (c >>= d)) 가장 방법) 후술

do r1 <- a 
    r2 <- b r1 
    r3 <- c r2 
    d r3