Итак, два вопроса:

































































Что такое higher-order functions

Функции, которые могут возвращать другие функции в качестве результата.

Чрезвычайно полезны и могут быть использованы в самых необычных местах.

Вот вариант из "Haskell vs. Ada vs. Smalltalk..." (напишите, если интересна ссылка, пока нет времени искать):

(p ||| q) point = p point || q point
Выше был продемонстрирован оператор объединения областей пространства. Сам оператор ||| получает на вход две булевых функции от точки в пространстве p и q и выдает в качестве результата булеву функцию от точки в пространстве.

В результате мы можем объединять функции операторами, в то числе, и функции, созданные другими операторами: (p ||| q) &&& f.


Где в C++ находится параметрический полиморфизм

А параметрический полиморфизм находится в C++ в районе темплейтов. См.
определение Wikipedia для лучшего понимания.

В Java и C#, соответственно - в районе generics.


Hosted by uCoz