¿Por qué es ilegal?¿Por qué comparar los resultados de la función es una excepción de guardia ilegal en Erlang?
min1_e_(F, X, E) ->
if
F(X + 2*E) < F(X + E) -> % ?
min1_e_(F, X, E*2);
true ->
E
end.
Quiero decir, si defino ambas partes de la expresión por separado, funciona bien. Pero comparar los retornos de funciones debería ser trivial, ¿no es así? Creo que me estoy perdiendo algo más debajo de eso.