Это правильный способ описания спецификации и определения функцииКак описать это определение функции?
MagicHaskeller генерирует функцию, заданную спецификацией.
Например спецификация: f [ 3 , 4 , 5.6 ] ~= 4.2
генерирует функцию f = (\a b -> sum a/3)
Другими словами: Функция: f [ 3 , 4 , 5.6 ] ~= 4.2
принимает список трех значений и генерирует приблизительное значение путем применения преобразования к этим значениям списка. Сгенерированная функция f = (\a b -> sum a/3)
принимает функцию a, которая суммирует значения списка и делит на 3. Я думаю, что утверждение takes a function a which sums the list values and divides by 3
неверно. Какова правильная интерпретация функции f = (\a b -> sum a/3)
?
Правильно ли моя терминология?
Uhm .. что-то мне не нравится: функция 'f = (\ ab -> sum a/3)' does _not_ удовлетворяет спецификации 'f [3, 4, 5.6] ~ = 4.2', так как она принимает дополнительный аргумент 'b'. Вы уверены, что ничего не пропустили ни в одном из них? Если MagicHaskeller действительно сообщил об этой функции для этой спецификации, я бы счел ее ошибкой. – chi