Gepostet: |
Haskell-Funktion definieren: Ord a => a -> a -> a -> Bool | ||||||||||
Hallo zusammen, ich soll eine Haskell-Funktion definieren: weakAscendingOrder :: Ord a => a -> a -> a -> Bool weakAscendingOrder 2 3 3 soll bsw. True zurückgeben (sprich alle Argumente sollen in aufsteigender Reihenfolge vorliegen). Kann mir jemand erklären, was dieses Ord a => a -> a -> a macht? Danke :) |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hallo hasch, zunächst mal wilkommen im Forum! Also das ganze Ding ist der Typ der Funktion. Es sollen also drei Werte vom Typ a an die Funktion übergeben werden und dann ein Bool zurückgeliefert werden. "Ord a =>" heißt, daß a nicht ein völlig beliebiger Typ sein kann, sondern eine Instanz der Klasse Ord sein muß. Ist ein Typ a eine Instanz dieser Klasse, dann kann man zwischen zwei Werten vom Typ a Funktionen wie <, >, min, max, ... anwenden, d.h. es herrscht eine Ordnung über allen Elementen des Typs a. Die allermeisten Standardtypen in Haskell sind Instanzen der Klasse Ord, also Int, Float, ..., auch Listen und Tupel. Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||