Dadas este fragmento de código OCaml:ocaml Int y negativos valores
let rec range a b =
if a > b then []
else a :: range (a+1) b
;;
El Sust me dice que es el tipo es:
val range : int -> int -> int list = <fun>
Darlo insumos tales como:
range 0 4;;
devuelve la lista:
- : int list = [0; 1; 2; 3; 4]
Sin embargo proporcionar la entrada
range -4 2;;
da el error:
Characters 0-5:
range -4 1;;
^^^^^
This expression has type int -> int -> int list but is here used with type int.
Que es esto tratando de decirme?
Gracias por el consejo sobre '~' no estaba al tanto. – chollida
bueno, no hay nada especial en '~' toda la función está definida, 'let (~ -) a = 0 - a', también hay una función de negación unaria correspondiente para flotadores, estoy seguro de que puedes adivínalo. – nlucaroni