www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

franzl

Gepostet:
10.12.2008 19:54

Funktionen und Typdefinitionen  
Nabend allerseits...

Ich habe 2 Probleme und bin noch Laie. Im Moment forste ich mich durch englische Tutorials, aber ich kommen beim besten Willen nicht weiter.

Nr.1: Definieren Sie eine Funktion "showBoolFun:: (Bool -> Bool) -> String", die eine Boolesche Funktion in Form einer Wertetabelle ausgibt.

und

Nr.2: Gegeben sei die Typdefinition "data MyType = Apfel | Melone | Pflaume".
Implementieren Sie diesen Typen als Instanz der Typklassen "Eq, Ord, Show" und "Read".
Dabei soll sich die Ordnungsrelation an der Größe der (ausgewachsenen) bezeichneten Frucht orientieren. Zum Beispiel soll die Auswertung des
Ausdrucks "Melone > Pflaume" den Wert "True" ergeben.
Zum Seitenanfang    
 
Siracusa

Gepostet:
13.12.2008 17:27

   
Hallo,

zu 1.) Für den Funktionstyp Bool -> Bool reicht es ja, die übergebene Funktion nur einmal mit True und einmal mit False aufzurufen und jeweils das Ergebnis auszugeben.

zu 2.) Eine Klasseninstanz kannst du auch automatisch ableiten lassen mittels deriving (Beispiel oben) oder per Hand implementieren (Beispiel unten):
data MyType = Apfel | Melone | Pflaume deriving (Eq)

instance Eq MyType where
(==) Apfel Apfel = True
(==) Apfel Melone = False
...

Bei Eq, Show und Read würden sich abgeleitete Instanzen anbieten, falls ihr nicht ausdrücklich per Hand implementieren sollt. Bei Ord würde er eine falsche Ordnungsrelation ableiten, also da mußt du das per Hand schreiben.


Viele Grüße,

Siracusa
Zum Seitenanfang