Przeczytałem this paper i jest tam wspomniane, że klasa Applicative
jest zamknięta pod składem.Znaczenie "zamkniętego pod skład"
Co to właściwie oznacza?
Przeczytałem this paper i jest tam wspomniane, że klasa Applicative
jest zamknięta pod składem.Znaczenie "zamkniętego pod skład"
Co to właściwie oznacza?
Generalnie, „X jest zamknięty pod Y” oznacza, że jeśli trochę XS i Y ich wynikiem jest X. Na przykład, „zbiór liczb całkowitych jest zamknięty pod Ponadto” oznacza że jeśli weźmiesz dwie liczby całkowite i dodasz je, wynikiem jest liczba całkowita.
Dlatego mówiąc, że klasa Applicative
jest zamknięta pod kompozycją, oznacza to, że jeśli weźmiesz dwa funktory aplikacyjne i skomponujesz je, wynik jest także funktorem aplikacyjnym.
Kompozycja Applicative
s f
i g
jest
newtype Compose f g a = Compose { getCompose :: f (g a) }
i „Applicative
jest zamknięty pod kompozycji”, oznacza, że sam ten newtype
ma instancję Applicative
.
http://hackage.haskell.org/package/transformers-0.3.0.0/docs/Data-Functor-Compose.html