Looking for haskell Keywords? Try Ask4Keywords

Haskell LanguageAnwendungsfähiger Functor


Einführung

Applicative ist die Klasse der Typen f :: * -> * die eine übergeordnete Funktionsanwendung über eine Struktur ermöglicht, in der die Funktion ebenfalls in diese Struktur eingebettet ist.

Bemerkungen

Definition

class Functor f => Applicative f where
    pure  :: a -> f a
    (<*>) :: f (a -> b) -> f a -> f b

Beachten Sie die Functor Einschränkung für f . Die pure Funktion gibt ihr in die Applicative Struktur eingebettetes Argument zurück. Die Infix-Funktion <*> (ausgesprochen "zutreffend") ist fmap sehr ähnlich, abgesehen von der in die Applicative Struktur eingebetteten Funktion.

Eine korrekte Instanz von Applicative sollte die anwendbaren Gesetze erfüllen, diese werden jedoch vom Compiler nicht durchgesetzt:

pure id <*> a = a                              -- identity
pure (.) <*> a <*> b <*> c = a <*> (b <*> c)   -- composition
pure f <*> pure a = pure (f a)                 -- homomorphism
a <*> pure b = pure ($ b) <*> a                -- interchange

Anwendungsfähiger Functor Verwandte Beispiele