¿Se puede expresar esto en estilo libre de puntos?
Dada la siguiente expresión para sumar un IEnumerable de números:
let sum l = l |> Seq.reduce(+) //version a
¿Es posible eliminar el argumento - así?
let sum = Seq.reduce(+) //version b
Recibo un error del compilador F # (FS0030) y me parece recordar haber visto algo relacionado con una "conversión eta", pero desafortunadamente mi conocimiento de lambda calc es demasiado limitado para seguir cómo está involucrada la conversión eta.
¿Se puede eliminar el argumento como en la versión b?
¿Alguien, por favor, me indicaría la literatura que explicaría una conversión eta y cómo entraría en juego en este código en particular?
FS0030:
stdin (1,5): error FS0030: restricción de valor. Se ha inferido que el valor 'sum' tiene una suma val genérica de tipo: ('_a -> int) cuando' _a:> seq. O bien haga que los argumentos para 'sum' sean explícitos o, si no pretende que sea genérico, añadir una anotación de tipo.