2013-09-24 14 views
5

Ich suche die Einheit Funktors/MonadeWas Haskell Paket hat eine Einheit Funktor/Monade?

data Unit a = Unit 

ich es leicht wiederherstellen könnte, aber ich möchte lieber nicht etwas, das Grund duplizieren. Es lebte in Control.Functor im Kategorie-Extras-Paket (http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html). Ich kann es nicht mit Hoogle finden, oder in der Karte, wo die Stücke der Kategorie-Extras gingen zu leben (http://hackage.haskell.org/package/category-extras-1.0.2)

Es scheint, wie es in den Transformatoren Paket leben soll, denn das ist, wo Control.Monad.Identity ging (es ist jetzt Data.Functor.Identity).

Der nächstgelegene Bibliothek Code, den ich mit oben kommen kann, ist

type Unit a = Constant() a 

mit Data.Functor.Constant aus dem Transformatoren-Paket.

Antwort

8

Die Proxy Art kann sein, wonach Sie suchen.

+1

Ausgezeichnet, das ist genau das, wonach ich suche; vielen Dank. Es ist mir nicht in den Sinn gekommen, dass "Dateneinheit a = Einheit" dasselbe ist, was ich für Proxies schreibe, "Datenproxy a = a". Es wäre toll, wenn Hoogle 'data' Deklarationen genauso durchsuchen könnte, wie es Funktionssignaturen durchsucht. – Cirdec

+1

Natürlich wollte ich "Daten Proxy a = Proxy" eingeben. – Cirdec