OCaml — объектно-ориентированный язык функционального программирования общего назначения. Был разработан с учётом безопасности исполнения и надёжности программ. Поддерживает функциональную, императивную и объектно-ориентированную парадигмы программирования. Самый распространённый в практической работе диалект языка ML.

Тео́рия катего́рий — раздел математики, изучающий свойства отношений между математическими объектами, не зависящие от внутренней структуры объектов.
Функтор — особый тип отображений между категориями. Его можно понимать как отображение, сохраняющее структуру. Функторы между малыми категориями являются морфизмами в категории малых категорий. Совокупность всех категорий не является категорией в обычном смысле, так как совокупность её объектов не является классом. Один из способов преодолеть подобные теоретико-множественные трудности — добавление в ZFC независимой от неё аксиомы о существовании недостижимых кардиналов.
Сопряжённые функторы — пара функторов, состоящих в определённом соотношении между собой. Понятие сопряжённых функторов и сам термин были предложены Даниэлем Каном в 1956 году. Сопряжённые функторы часто встречаются в разных областях математики.
Декартово замкнутая категория — категория, допускающая каррирование, то есть содержащая для каждого класса морфизмов
некоторый объект
, представляющий его. Декартово замкнутые категории занимают в некотором смысле промежуточное положение между абстрактными категориями и множествами, так как позволяют корректно оперировать с функциями, но не позволяют, к примеру, оперировать с подобъектами.
Мо́дульное программи́рование — организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определённым правилам.
В теории категорий есте́ственное преобразова́ние предоставляет способ перевести один функтор в другой, сохраняя внутреннюю структуру. Поэтому естественное преобразование можно понимать как «морфизм функторов». Эта интуиция может быть строго формализована в определении категории функторов. Естественные преобразования — наиболее базовое определение в теории категорий наряду с функторами, потому что оно появляется в большинстве её приложений.
Преде́л в теории категорий — понятие, обобщающее свойства таких конструкций, как произведение, декартов квадрат и обратный предел. Двойственное понятие копредела обобщает свойства таких конструкций, как дизъюнктное объединение, копроизведение, кодекартов квадрат и прямой предел.
Функциональный объект, также функтор, функционал и функционоид — распространённая в программировании конструкция, позволяющая использовать объект как функцию. Часто используется как callback, делегат.
Схе́ма — математическая абстракция, позволяющая связать алгебраическую геометрию, коммутативную алгебру и дифференциальную геометрию и переносить идеи из одной области в другую. В первую очередь понятие схемы позволяет перенести геометрическую интуицию и геометрические конструкции, такие как тензорные поля, расслоения и дифференциалы, в теорию колец. Исторически теория схем возникла с целью обобщения и упрощения классической алгебраической геометрии итальянской школы XIX века, занимавшейся исследованием полиномиальных уравнений.
Во многих областях математики полезную конструкцию часто можно рассматривать как «наиболее эффективное решение» определенной проблемы. Определение универсального свойства использует язык теории категорий, чтобы сделать это определение точным и изучать его теоретическими методами.
Забывающий функтор — теоретико-категорный функтор, который «забывает» некоторые или все алгебраические структуры и свойства исходной области, то есть переводит области, наделённые дополнительными структурами и свойствами, в кообласти с меньшими ограничениями.
Точный функтор — функтор, который переводит точные последовательности в точные. Точные функторы удобны для вычислений в гомологической алгебре, поскольку их можно сразу применять к резольвентам объектов. Бо́льшая часть гомологической алгебры была построена для того, чтобы сделать возможной работу с функторами, которые не являются точными, но их отличие от точных поддаётся контролю.
Абелева категория — категория, в которой морфизмы можно складывать, а ядра и коядра существуют и обладают определёнными удобными свойствами. Пример, который стал прототипом абелевой категории — категория абелевых групп. Теория абелевых категорий была разработана Александром Гротендиком для объединения нескольких теорий когомологий. Класс абелевых категорий замкнут относительно нескольких категорных конструкций; например, категория цепных комплексов с элементами из абелевой категории и категория функторов из малой категории в абелеву также являются абелевыми.
В теории категорий, представимый функтор — функтор специального типа из произвольной категории в категорию множеств. В некотором смысле, такие функторы задают представление категории в терминах множеств и функций.
В программировании:
- Функтор — объект, который можно использовать как функцию.
- Функтор — параметрический модуль в системе модулей языков Standard ML и OCaml; модуль-функция, принимающий на входе модули-определения и порождающий на их основе новые модули-определения.
Язык модулей ML — система модулей, используемая преимущественно в языках программирования семейства ML, имеющая аппликативную семантику, иначе говоря, представляющая собой небольшой функциональный язык, оперирующий модулями.
Пространство модулей в алгебраической геометрии — это геометрическое пространство, точки которого соответствуют некоторому классу алгебро-геометрических объектов
, факторизованному по некоторому отношению эквивалентности
. Такие пространства часто возникают как решения классификационных задач: если множество интересующих нас объектов, может быть снабжено структурой геометрического пространства, то можно параметризовать данные объекты, введя координаты на этом пространстве. В данном контексте термин «модули» синонимичен термину «параметры»: пространства модулей первоначально понимались как пространства параметров, а не пространства объектов.
У определённых функторов можно взять производные функторы чтобы получить другие функторы, тесно связанные с исходными. Данная операция является довольно абстрактной, но объединяет большое количество конструкций в математике.