2016-12-03 10 views
6

나는 "."을 이해합니다. (점)을 기능 구성으로 사용합니다. 나는 "|"을 이해한다. (파이프)를 "또는"가드 도입 구문 (here)으로 사용하지만, 이해할 수없는 방식으로이 연산자를 사용하는 I saw an answer on http-conduits using ".|"입니다. 도트 파이프 란 무엇입니까?. " 하스켈에있는 통신 수?

등 내가 찾은 도관에 대한 다른 참조 :

이 ... "$$"와 같은 구문을 제안 "$ =" " = $ = ","= $ ".

"?." 이 연산자와 어떻게 작동합니까?

". | haskell"또는 " '도트 파이프'haskell '또는' '도트 파이프'haskell 연산자 도관 '에 대한 인터넷 검색은 성공적이지 않았습니다.

답변

9

이것은 융합을 위해 conduit이 사용하는 (최근) 새로운 구문입니다. 저자는 얼마 전에 이것에 대해 blog-post을 썼습니다. .| 연산자 - 다른 각 의 모든 동의어 - 포스트에서 인용하자면, 그는 $=, =$=$= 사업자를 교체

에 제안 (결국 이런 짓을). 이것은 유닉스 셸에서 직관을 빌려줍니다. 파이프 운영자는 한 프로세스의 데이터를 다른 프로세스로 파이핑하는 것을 나타냅니다. 유추는 도관에서 정말 잘 지냅니다. 따라서 을 빌려보십시오. (우리는 "융합."이 모든 연산자를 호출)

를 AS를 제외하고, 당신이 이제까지 사업자, HayooHoogle가 갈 수있는 장소를 검색해야하는 경우. Stackage Hoogle (덕분에 @duplode) 특정 resolver에 대한 연산자를 찾을 수 있습니다 (최근 변경 사항이므로 여기에서 특히 유용합니다).

+3

[Stackage Hoogle] (https://www.stackage.org/lts-7.11/hoogle?q=.%7C)도 좋은 옵션입니다 - haskell.org보다 더 광범위한 패키지가 기본값입니다 하나. – duplode

+1

고마워, @ 알렉 스. 계속 나를 괴롭히는 경우, 우리는 stackoverflow Q & A 세션이 인터넷의 다른 곳에서 구할 수있는 구버전과 구현 방식의 구식이 아닌 구식의 전략과 전략을 모두 극복 할 때까지이 작업을 계속할 것을 제안합니다. 올바른 문서.:) – Mittenchops

+0

그들은 "파이프"라고 부르는 것이 더 좋을 것처럼 보입니다./ – jberryman

1

.|Conduit 라이브러리에 의해 소개되며 fuse과 동의어입니다. . 연산자 기능의 조성물에 사용되는

fuse 
    :: Monad m => Conduit a m b -> ConduitM b c m r -> ConduitM a c m r 

fuseconduit S는 동일한 방법으로 조성물에 사용된다. 마지막으로 .|은 대체로 $=, =$=$=을 대체하는 새로운 구문으로 동의어였습니다.