Вот такое задание подскажите как победить язык CAML
fold left для дерева тремя способами пробега?
Есть вот такие соображения
код
тип `a дерево = ПустоеДерево | Узел от `a * `a дерево * `a дерево;;
пусть рекурсивный свертка_дерева функц пустое_значение дер = сопоставить дер с помощью
| ПустоеДерево -> пустое_значение
| Узел(значение, дерево_левое, дерево_правое) ->
пусть левое_значение = свертка_дерева функц пустое_значение дерево_левое в
пусть правое_значение = свертка_дерева функц пустое_значение дерево_правое в
функц значение (функц левое_значение правое_значение);;