Die Aufgaben 1 und 2 präsentieren Haskell-Ausdrücke, für die Sie jeweils den Wert angegeben sollen oder aber ob ein Syntax-, Typ- oder Laufzeitfehler vorliegt. (Vermerken Sie Ihre Antwort bitte auf diesem Blatt hinter dem Ausdruck und verwenden Sie für die drei Fehlerfälle die Abkürzungen SF, TF, LF !) Es wird der übliche Kontext (standard prelude) angenommen.
True || (1/0 == 0) False == True && (1/0 /= 0)
True && 0 * (1/0) False && 1/0
False || (True || (1/0 > 0))
let x = 1/(x - 1) in x == 1
fix:: (Float->Float)->Float->Float
fix f = repeat_until pred f
where pred x = (abs(f x - x) <= 0.01)
square:: Float->Float
square x = x*x
Was ist (ungefähr):
fix square 0.01
fix square 0.1
fix square 1.0
initial_part:: [a]->[a]->Bool
initial_part [] _ = True
initial_part _ [] = False
initial_part (x:xs) (y:ys) =
double (double (1+1)) =>