Разреженная матрица размерности nXn с m ненулевыми элементами представляется в виде функции int*int → float. Какова будет сложность операции умножения всех элементов матрицы на 2?
Пусть геометрическое преобразование определяется функцией трансляции координат int*int → int*int. Мы хотим определить функцию сдвига translate : int*int, которая возвращался бы замыкание. Как это сделать?
При введении списков, как определяется функция отделения первого элемента hd?
Как определяется конструкция letrec?
Как определяется конструкция let?
Как определяется множество значений для типа, описанного как type tree = {nil} + int X treeX tree?
Пусть L – генератор последовательности длины n. Какова сложность операции map f L?
Какой будет наиболее общий тип для функции tl: let tl x::t = t?
Какой функции эквивалентна запись [ for x in L → x*2 ]?
Какие недостатки "классической" нотации для определения функции f(x)=2*x+1?