Gepostet: |
Parameter, die nicht deklariert wurden | ||||||||||
Hallo zusammen, kann mir jemand von euch erklären, wie es möglich ist einen Parameter an eine Funktion zu übergeben, ohne dass dieser je in der Typdeklaration auftaucht? Beispiel bei Parsern:
|
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hallo, > type Parse a b = [a] -> [(b, [a])] Hierdurch wird ein Typsynonym definiert, der Typ auf der linken und auf der rechten Seite sind also gleich. > none :: Parse a b Wenn du hier den Typ Parse durch die Definition von oben ersetzt, erhältst du: none :: [a] -> [(b, [a])] Nun hast du also eine "ganz normale" Funktion mit einem Eingabe- und einem Rückgabewert. inp hat also den Typ [a]. Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||