type 'a option = None | Some of 'a type 'a elem = {v: 'a; mutable next: 'a lista} and 'a lista = 'a elem option
Ć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.