Nehmen wir an, ich möchte Text.pack
mit Text.strip
zusammenstellen.
:t (.)
produziert: (b -> c) -> (a -> b) -> a -> c
:t (Text.pack)
produziert: String -> Text
:t (Text.strip)
produziert: Text -> Text
So ersetzt strip
für (b -> c)
Folgendes:
%Code%
b = Text
Das Ersetzen von c = Text
für pack
ergibt:
%Code%
(a -> b)
Lets verify: a = String
erzeugt:
b = Text
Ok, großartig, probieren Sie es aus:
:t strip . pack
Produziert:
%Vor% strip . pack :: String -> Text
funktioniert wie erwartet .... warum?
Tags und Links haskell syntax operator-precedence function-composition