Ошибка в коде 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

0 ответов

Другие вопросы по тегам