allgemein:
interpreter :: Programm -> Daten -> Resultat
Beispiel
data Colour = Red | Green data Car = Car { wheels :: Integer , colour :: Colour } data Property = Colour_Is Colour | Max_Wheels Integer | And Property Property evaluate :: Property -> Car -> Bool
Anwendung:
filter ( evaluate p ) cars