Ошибка в коде SML с функциями высшего порядка
Я пытаюсь выбрать минимальный элемент в списке на основе третьего значения его элементов. Но, кажется, проблема в том, что я использую функции более высокого порядка в функции min_proc. (Я использую SML в CPN Tools)
fun min_process(p1: DATA, p2: DATA) =
if (#3 p1 <= #3 p2)
then p1
else p2;
fun min_proc(l) =
if (l = [])
then empty
else
if (List.length(l) = 1)
then List.hd(l)
else min_process(List.hd(l), min_proc(List.tl(l)));
Ошибка в:
../compiler/TopLevel/interact/evalloop.sml:66.19-66.27