In OCaml, c'è un modo per riferirsi all'operatore cons da solo?OCaml cons (: :) operatore?
Per esempio, posso usare (+)
e (*)
come int -> int -> int
funzioni, ma non posso usare (::)
come funzione 'a -> 'a list -> 'a list
, come nell'esempio seguente spettacolo:
# (+) 3 5;;
- : int = 8
# (*) 4 6;;
- : int = 24
# (::) 1 [2;3;4];;
Error: Syntax error: operator expected.
C'è un modo per produrre un risultato come (::)
diverso da quello con fun x y -> x::y
? E qualcuno sa perché (::)
non è stato implementato in OCaml?
Funzionerebbe se si circondano gli argomenti con parentesi, in questo modo: '(: :) (1, [2; 3; 4]) ;; ' –