2013-09-24 2 views
5

나는 쉽게 재현 할 수있는 단위 펑/모나드어떤 하스켈 패키지에는 단위 펑터/모나드가 있습니까?

data Unit a = Unit 

를 찾고 있어요,하지만 난 오히려이 기본 뭔가를 복제 할 것입니다. 그것은 카테고리 - 엑스트라 패키지 (http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html)에 Control.Functor에 살고있었습니다. Hoogle이나 카테고리 - 엑스트라의 일부가 살았던 곳의지도에서 찾을 수 없습니다 (http://hackage.haskell.org/package/category-extras-1.0.2)

변압기 패키지에 살고있는 것처럼 보입니다. 그게 이후 Control.Monad.Identity에갔습니다. Data.Functor.Identity). 내가 가지고 올 수

가장 가까운 기존 라이브러리 코드는 변압기 패키지에서 사용

type Unit a = Constant() a 

Data.Functor.Constant입니다.

답변

8

Proxy 유형은 내가 원하는 것일 수 있습니다.

+1

우수합니다. 고마워요. 'data Unit a = Unit'은 프록시를 위해 작성한 것과 같은 데이터 프록시 'a = a'입니다. Hoogle이 함수 서명을 검색하는 것과 같은 방식으로'data' 선언을 검색 할 수 있다면 정말 좋을 것입니다. – Cirdec

+1

물론,'data proxy a = Proxy'라고 입력해야합니다. – Cirdec