Sto cercando l'unità funtore/monadeQuale pacchetto Haskell ha un'unità functor/monad?
data Unit a = Unit
Potrei facilmente ricrearlo, ma preferisco non duplicare qualcosa di questa base. Viveva in Control.Functor
nel pacchetto di categoria extra (http://hackage.haskell.org/packages/archive/category-extras/0.1/doc/html/Control-Functor.html). Non riesco a trovare con Hoogle, o nella mappa del luogo in cui i pezzi di categoria-extras andò a vivere (http://hackage.haskell.org/package/category-extras-1.0.2)
Sembra che dovrebbe vivere nel pacchetto trasformatori, in quanto è lì che Control.Monad.Identity
andato (è ora Data.Functor.Identity
).
Il codice della libreria più vicina esistente posso venire in mente è
type Unit a = Constant() a
utilizzando Data.Functor.Constant
dal pacchetto trasformatori.
Eccellente, questo è esattamente quello che sto cercando; Grazie mille. Non mi è venuto in mente che "data Unit a = Unit" è la stessa cosa che scrivo per i proxy, "data Proxy a = a'. Sarebbe fantastico se Hoogle cercasse le dichiarazioni di 'data' nello stesso modo in cui cerca le firme delle funzioni. – Cirdec
Ovviamente intendevo digitare 'data proxy a = Proxy'. – Cirdec