Ich habe diesen einfachen Code in OCaml dekonstruieren:Unable Produktart nach Vereinfachung in OCaml
type int_pair = int * int;;
type a = A of int_pair;;
let extract (A x) = x;;
Testen meiner extract
Funktion scheint es zu funktionieren:
# extract (A (1,2));;
- : int_pair = (1, 2)
ich es vereinfachen, so dass es braucht nur eine Art:
type a' = A' of int * int;;
let extract' (A' x) = x;;
Aber ich bekomme die Fehlermeldung:
Error: The constructor A' expects 2 argument(s),
but is applied here to 1 argument(s)
Das Komische ist, kann ich Werte von a'
konstruieren ...
# A' (1,2);;
- : a' = A' (1, 2)
... Ich kann sie einfach nicht dekonstruieren. Warum?