Параметричность
-
Определение параметричности
- Параметричность – это свойство единообразия полиморфных функций.
- Полиморфные функции действуют одинаково на всех множествах X.
-
Пример параметрической полиморфной функции
- Функция twiceX: T(X) → T(X) не зависит от множества X.
- Семейство функций дваждыX называется параметрически полиморфным.
-
Отличие параметрических функций от специальных полиморфных
- Параметрические функции обладают единообразием, в отличие от специальных полиморфных функций.
-
Теорема о параметричности
- Теорема была сформулирована Джоном К. Рейнольдсом и названа теоремой абстракции.
- Филип Вадлер использовал параметричность для получения теорем о полиморфных функциях.
-
Применение параметричности в Haskell
- Параметричность лежит в основе преобразований программ в компиляторах Haskell.
- Haskell поддерживает нестрогую семантику, но есть операции, которые обеспечивают “избирательную строгость”.
- Патриция Йоханн и Янис Фойгтлендер показали, что теорема о параметричности нарушается в Haskell из-за наличия операций seq.
-
Зависимые типы и параметрический полиморфизм
- Параметрический полиморфизм связан с зависимыми типами.
- Статья также упоминает нестрогие языки программирования.
-
Рекомендации и внешние ссылки
- Статья содержит ссылки на дополнительные материалы по теме.
Полный текст статьи: