2011-07-27 3 views
5

Haskell의 proc-notation을 리 바인드하기 위해 GHC 사용자 안내서의 7.3.11 "Rebindable syntax and the implicit Prelude import" 문단은 arr, first, ... 범위의 기능을 사용한다고 명시합니다. 또한 형식은 "Prelude 형식과 매우 밀접하게 일치해야합니다."Haskell의 proc-notation을 사용자 정의 화살표로 리바 인딩하는 방법은 무엇입니까?

누구나이 기능을 사용하고자하는 사람에게 물어 보는 것이 좋습니다. 그렇다면 이러한 유형이 Prelude 유형과 얼마나 일치해야합니까?

답변

2

proc 표기법을 리바 인딩하는 것에 대한 모든 문서를 잘 모릅니다.이 문서는 의미가 있기 때문에 거기에 버려진 것들의 카테고리에 있다고 생각합니다.하지만 명확한 동기 부여 예제는 없습니다 아직 사용하고 있지 않습니다.

관련 확장을 사용하고 리바운드 기능에 위조 유형을 부여한 다음 유형 오류를 살펴본 경험적인 테스트를 수행했습니다. 내가 본 것은 대략 이와 비슷한 것이다.

arr :: (a -> b) -> t a b 
(>>>) :: t a b -> t b c -> t a c 
first :: t a b -> t (a, c) (b, c) 

나는 나머지 기능이 비슷하다고 가정한다. 대략적으로 이들은 표준 함수와 정확히 같은 유형이며, 컨텍스트에서 Arrow 제약 조건을 뺀 것입니다.

관련 문제