Ćwiczenia na konstrukcje imperatywne:
Counter o następującej sygnaturze:
module type COUNTER = sig
type counter
val make : unit -> counter
val inc : counter -> int
val reset : unit -> unit
end;;
Procedura make tworzy nowy licznik o początkowej wartości 0.
Procedura inc zwiększa licznik o 1 i zwraca jego nową wartość.
Procedura reset ustawia wartość wszystkich liczników na 0.