Функційний типФункційний тип (стрілочний тип, експоненціал) у інформатиці — тип змінної або параметра, значенням якої або якого може бути функція; або тип аргументу чи повертаного значення функції вищого порядку, приймаючий або повертаючий функцію. Функційний тип залежить від типів параметрів та типу повертаного значення функції. Іншими словами, це тип вищого роду. У теоретичних моделях і мовах з підтримкою каррування, наприклад в просто типізованому лямбда-численні[en], функційний тип залежить від двох типів: області визначення та області значень . У цьому випадку функційний тип, слідуючи математичної традиції, зазвичай записують як , або як , маючи на увазі, що існує рівно теоретико-множинних функцій, відображаючих на . Функційний тип можна розглядати як окремий випадок залежного творення типів. Серед інших властивостей, таке уявлення несе в собі ідею поліморфної функції. Мови програмуванняУ наступну таблицю зведено синтаксис, який використовується в різних мовах програмування для функційних типів, а також відповідні приклади сигнатури типу для функції композиції функцій.
Слід звернути увагу, що в прикладі на C# функція Денотаціонна семантикаФункційний тип в мовах програмування не відповідає простору всіх теоретико-множинних функцій. Якщо прийняти зліченний тип натуральних чисел як область визначення і тип булевих чисел як область значень, то існує незлічена кількість теоретико-множинних функцій між ними. Очевидно, ця множина функцій ширше множини функцій, визначених в мовах програмування, так як існує лише зліченна множина програм (де програма являє собою кінцевий ланцюжок із символів кінцевого набору). Денотаціонна семантика займається пошуком більш відповідних моделей, яких називають областями, в тому числі, для моделювання таких понять мов програмування як функційний тип. У денотаціонной семантиці вважається, що доцільно не обмежуватися лише обчислюваною функцією, а використовувати будь-які неперервні за Скоттом функції[en] на частково впорядкованих множинах, якими можливо змоделювати також й обчислення, що не закінчуються. Засоби теорії областей, які використовуються в денотаціонной семантиці, досить виразні, наприклад, безперервної по Скотту функцією моделюється « Див. такожПосилання
|