next up previous contents
Next: Typen Up: Grundlegende Sprachelemente Previous: Layout

Lokale Definitionen

Mit where-Klauseln kann man Definitionen qualifizieren, d.h. auf eine untergeordnete Definition stützen:

 area r = pi * r * r

where pi = 3.14

Mit let kann man was Entsprechendes für Ausdrücke tun:

 let x = 1 in x + 1


let x = 3
f y = x + y
in f x

Damit dann Frage nach Gültigkeitsbereich / scope:

1.
Gültigkeit einer gewöhnlichen Definition ist das ganze Skript, in dem sie enthalten ist;

Reihenfolge der Aufschreibung ist egal!

2.
untergeordnete Definitionen gelten nur lokal, d.h. scope ist durch die übergeordnete Definition gegeben:

 two_areas x y = area x + area y

where area x = pi * square x
where pi = 3.14
square x = x * x

beachte:



Ronald Blaschke
1998-04-19