Ć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.