Вот мой код для карри факториальной функции. Я хочу, чтобы вывод был реальным
fun pow(x:real) (n:real)= if (n=0.0) then 1.0 else x:real*pow(x:real) (n-1:real) ;
Но мой синтаксис действительно очень неправильный, как мне это исправить?
Я думаю, что вы хотите:
fun pow x n = if n = 0 then 1.0 else x * pow x (n - 1)
или, если вы хотите быть более точным в отношении типов:
fun pow (x : real) (n : int) : real = if n = 0 then 1.0 else x * pow x (n - 1)
То есть:
n
int
real
:real