~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ F21840E09D1F763C8FC874655D698214__1714533900 ✰
Заголовок документа оригинал.:
✰ Typed lambda calculus - Wikipedia ✰
Заголовок документа перевод.:
✰ Типизированное лямбда-исчисление — Википедия, бесплатная энциклопедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Typed_lambda_calculus ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/f2/14/f21840e09d1f763c8fc874655d698214.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/f2/14/f21840e09d1f763c8fc874655d698214__translat.html ✰
Дата и время сохранения документа:
✰ 09.06.2024 11:54:04 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 1 May 2024, at 06:25 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Типизированное лямбда-исчисление — Википедия, бесплатная энциклопедия Jump to content

Типизированное лямбда-исчисление

Из Википедии, бесплатной энциклопедии

Типизированное , лямбда-исчисление — это типизированный формализм в котором используется лямбда-символ ( ) для обозначения абстракции анонимной функции. В этом контексте типы обычно представляют собой объекты синтаксической природы, которые присваиваются лямбда-термам; точная природа типа зависит от рассматриваемого исчисления (см. виды ниже). С определенной точки зрения типизированные лямбда-исчисления можно рассматривать как усовершенствования нетипизированного лямбда-исчисления , но с другой точки зрения их также можно считать более фундаментальной теорией, а нетипизированное лямбда-исчисление — особым случаем только с одним типом. [1]

Типизированные лямбда-исчисления являются основополагающими языками программирования и основой типизированных функциональных языков программирования , таких как ML и Haskell , а также, косвенно, типизированных императивных языков программирования . Типизированные лямбда-исчисления играют важную роль в разработке систем типов для языков программирования; здесь типизация обычно отражает желаемые свойства программы (например, программа не вызывает нарушения доступа к памяти).

Типизированные лямбда-исчисления тесно связаны с математической логикой и теорией доказательств через изоморфизм Карри-Говарда , и их можно рассматривать как внутренний язык определенных классов категорий . Например, просто типизированное лямбда-исчисление является языком декартовых закрытых категорий (CCC). [2]

Виды типизированных лямбда-исчислений [ править ]

Были изучены различные типизированные лямбда-исчисления. Просто типизированное лямбда-исчисление имеет только один конструктор типа — стрелку. , и его единственными типами являются базовые типы и типы функций. . Система T расширяет просто типизированное лямбда-исчисление за счет натуральных чисел и примитивной рекурсии более высокого порядка; все функции, доказуемо рекурсивные в арифметике Пеано в этой системе определимы . Система F допускает полиморфизм за счет использования универсальной количественной оценки всех типов; с логической точки зрения он может описать все функции, которые являются доказуемо полными в логике второго порядка . Лямбда-исчисления с зависимыми типами — это основа интуиционистской теории типов , исчисления конструкций и логической структуры (LF), чистого лямбда-исчисления с зависимыми типами. Основываясь на работе Берарди по системам чистых типов , Хенк Барендрегт предложил лямбда-куб для систематизации отношений чистых типизированных лямбда-исчислений (включая просто типизированное лямбда-исчисление, систему F, LF и исчисление конструкций). [3]

Некоторые типизированные лямбда-исчисления вводят понятие подтипирования , т.е. если является подтипом , то все члены типа также есть тип . Типизированные лямбда-исчисления с подтипами — это просто типизированные лямбда-исчисления с конъюнктивными типами и системой F <: .

Все системы, упомянутые до сих пор, за исключением нетипизированного лямбда-исчисления, являются строго нормализующими : все вычисления завершаются. Следовательно, они не могут описать все функции , вычислимые по Тьюрингу . [4] Как еще одно следствие, они логически последовательны, т.е. существуют необитаемые типы. Однако существуют типизированные лямбда-исчисления, которые не являются строго нормализующими. Например, зависимо типизированное лямбда-исчисление с типом всех типов (Тип: Тип) не является нормализуемым из-за парадокса Жирара . Эта система также является простейшей системой чистого типа, формализмом, который обобщает лямбда-куб. Системы с явными комбинаторами рекурсии, такие как » Плоткина « Язык программирования для вычислимых функций (PCF), не являются нормализующими, но они не предназначены для интерпретации как логики. Действительно, PCF — это прототип типизированного функционального языка программирования, в котором типы используются для обеспечения правильного поведения программ, но не обязательно для их завершения.

Приложения к языкам программирования [ править ]

В компьютерном программировании подпрограммы (функции, процедуры, методы) строго типизированных языков программирования близко соответствуют типизированным лямбда-выражениям. [5]

См. также [ править ]

  • Каппа-исчисление - аналог типизированного лямбда-исчисления, исключающий функции высшего порядка.

Примечания [ править ]

  1. ^ Брандл, Хельмут (27 апреля 2024 г.). «Типизированное лямбда-исчисление / Конструкционное исчисление» (PDF) . Расчет конструкций . Проверено 27 апреля 2024 г.
  2. ^ Ламбек, Дж.; Скотт, П.Дж. (1986), Введение в категориальную логику высшего порядка , издательство Кембриджского университета , ISBN  978-0-521-35653-4 , МР   0856915
  3. ^ Барендрегт, Хенк (1991). «Введение в системы обобщенных типов» . Журнал функционального программирования . 1 (2): 125–154. дои : 10.1017/S0956796800020025 . hdl : 2066/17240 . ISSN   0956-7968 .
  4. ^ поскольку проблема остановки для последнего класса оказалась неразрешимой
  5. ^ «Что нужно знать перед обсуждением систем типов | Овидий [blogs.perl.org]» . blogs.perl.org . Проверено 26 апреля 2024 г.

Дальнейшее чтение [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: F21840E09D1F763C8FC874655D698214__1714533900
URL1:https://en.wikipedia.org/wiki/Typed_lambda_calculus
Заголовок, (Title) документа по адресу, URL1:
Typed lambda calculus - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)