Я хочу создать функцию, которая меняет значение mylist. Я написал код, но он не работает, и я буду признателен за любые советы или помощь.
код типа данных:
datatype 'element mylist =
NIL
| CONS 'element * 'element mylist;
и написанные мной функции:
fun reverse NIL = NIL
| reverse (CONS(x, xs)) = CONS((reverse xs), x);
Я также хочу написать функцию, которая добавляет 2 значения mylist, у меня есть несколько случаев, но это не сработало, хотя из следующего:
fun append NIL = fn NIL => NIL
| append NIL = fn (CONS(x, xs)) => CONS(x, xs)
| append (CONS(x, xs)) = fn NIL => CONS(x, xs)
| append (CONS(x, xs)) = fn (CONS(y, ys)) => append xs (CONS(y, ys));
но он не работает, выдает ошибку, что не так с моим кодом?
Спасибо