Мне нужно создать функцию о числах Пеано, определенную как следующий тип данных:
datatype 'a peano = P of ('a -> 'a) * 'a -> 'a
val zero = P(fn (f, x) => x)
Функция, которую я должен реализовать, находит последовательный номер peano параметра peano P(p)
. Вот что я написал:
fun suc (P(p)) = case P(p) of P(fn(f,x)=>x) => P(fn(f,x)=>f(x));
Проблема в том, что я получаю следующие ошибки:
stdIn:4.33-4.36 Error: syntax error: deleting FN LPAREN
stdIn:4.43 Error: syntax error found at RPAREN
Я не знаю, что я делаю неправильно. Пожалуйста, помогите!