Вопросы с тегом «lambda-calculus»

λ-исчисление - это формальная система определения, применения и рекурсии функций, которая образует математическую основу функционального программирования.

7
Лямбда-исчисление не казалось абстрактным. И я не вижу смысла в этом
Основной вопрос: Что делает для нас лямбда-исчисление , что мы не можем сделать с основными свойствами функций и обозначениями, обычно изучаемыми в алгебре средней школы? Прежде всего, что означает абстрактное в контексте лямбда-исчисления? Мое понимание слова абстрактное - это то, что отделено от механизма, концептуального резюме концепции. Однако лямбда-функции, покончив …

3
Изучение теории языка программирования
Недавно я чрезвычайно заинтересовался пониманием и доказательством аспектов (функциональных) языков программирования. Однако, как я углублюсь в глубину, такие вещи, как исчисление , теория категорий и денотационная семантика, немного трудно найти без надлежащего объяснения.λλ\lambda Я читаю SICP (довольно поучительная книга), но я хочу углубиться в теорию функционального программирования. Есть ли какие-нибудь …

2
Решение функциональных уравнений для неизвестных функций в лямбда-исчислении
Существуют ли методы решения функциональных уравнений для неизвестных функций в лямбда-исчислении? Предположим, у меня есть функция тождества, определенная как таковая: Ix=xIx=xI x = x (то есть, записывая уравнение для ожидаемого поведения этой функции) , и теперь я хочу , чтобы решить эту проблему для III , делая некоторое алгебраическое преобразование …

1
Почему алгоритм Хиндли-Милнера никогда не даст такой тип, как t1 -> t2?
Я читал об алгоритме типизации Хиндли-Милнере при написании реализации, и видят , что, до тех пор , как каждый переменная связана, вы всегда будете получать либо атомарные тип или типов , где аргументы будут определять окончательный тип, например, t1 -> t1или (t1 -> t2) -> (t1 -> t2)где t1и t2являются …

2
Есть ли рецензируемые статьи, в которых рассматриваются плюсы и минусы функционального программирования?
Может ли кто-нибудь отослать меня к рецензируемым статьям, изучающим преимущества или недостатки написания кода в функциональном стиле? Существуют ли документы, в которых обсуждается применение лямбда-исчисления в таких областях, как машинное обучение, языковой дизайн и т. Д.?

2
«Аппликативный порядок» и «Нормальный порядок» в лямбда-исчислении
Аппликативный порядок: всегда полностью оценивайте аргументы функции перед оценкой самой функции, например: (λx.x2(λx.(x+1) 2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9(λx.x2(λx.(x+1) 2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9(\lambda x. x^2(\lambda x.(x+1) \ \ 2))) \rightarrow (\lambda x. x^2(2+1))\rightarrow \ (\lambda x. x^2(3)) \rightarrow \ 3^2 \ \rightarrow \ 9 Нормальный порядок: выражение будет уменьшено извне, …

2
Представление отрицательных и комплексных чисел с использованием лямбда-исчисления
В большинстве учебных пособий по лямбда-исчислению приводится пример, в котором положительные целые и логические значения могут быть представлены функциями. Как насчет -1 и я?

3
В чем разница между исчислением и языком программирования?
Я думаю, что я довольно озадачен тем, что называется исчислением и тем, что называется языком программирования. Я склонен думать и, возможно, мне сказали, что исчисление - это формальная система рассуждений об эквивалентности программ. Программы имеют операционную семантику, указанную машиной, которая должна (я думаю?) Быть детерминированной. Таким образом, (правильное) исчисление для …

1
Какие функции могут вычислять выражения исчисления комбинатора?
Выражение комбинатора (скажем, в основе SK) можно рассматривать как функцию, которая отображает выражения исчисления комбинатора в выражения исчисления комбинатора. То есть выражение как функцию , где - множество всех синтаксически допустимых выражений комбинатора в базисе SK. Это отображение выполняется путем применения ввода к выражению, а затем приведение к нормальной форме, …

3
Quine в чистом лямбда-исчислении
Я хотел бы привести пример квин в чистом лямбда-исчислении . Я был довольно удивлен, что я не мог найти один, прибегая к помощи. На странице квин есть списки квин для многих «настоящих» языков, но не для лямбда-исчисления. Конечно, это означает определение того, что я имею в виду под квинем в …

2
Есть ли теория / абстракция за ООП?
Функциональное программирование имеет очень элегантное Lambda Calculus и его варианты в качестве теории резервного копирования. Есть ли такая вещь для ООП? Что такое абстракция для объектно-ориентированной модели?

2
Предоставляют ли функции высшего порядка больше возможностей для функционального программирования?
Я задал похожий вопрос на cstheory.SE . Согласно этому ответу на Stackoverflow существует алгоритм, который на не ленивом чисто функциональном языке программирования имеет сложность , тогда как тот же алгоритм в императивном программировании - Ω ( n ) . Добавление ленивости к языку FP сделало бы алгоритм Ω ( n …

2
Лямбда-исчисление: разница между контекстами и контекстами оценки
Во-первых, я хотел бы сказать, что мой текст ниже может содержать ошибки, поэтому не стесняйтесь указывать на любые ошибки в моей формулировке вопроса. Рассмотрим нетипизированное лямбда-исчисление с логическими значениями и операторами if, термины которых задаются этим синтаксисом: t ::= v | t t | if t t t | x …

4
Может кто-нибудь привести простой, но не игрушечный пример контекстно-зависимой грамматики?
Я пытаюсь понять контекстно-зависимые грамматики. Я понимаю, почему языки как { w w ∣ w ∈ A*}{ww∣w∈A∗}\{ww \mid w \in A^*\} {anbncn∣n∈N}{anbncn∣n∈N}\{a^n b^n c^n \mid n\in\mathbb{N}\} не являются контекстно-свободными, но я хотел бы знать, чувствителен ли контекстный язык, похожий на нетипизированное лямбда-исчисление. Я хотел бы увидеть пример простой, но не …

1
Что такое
Я смотрю на исчисление конструкций и его место в лямбда-кубе . Если я правильно понимаю, каждая ось куба может рассматриваться как добавление еще одной операции, связанной с типами, к простому типу исчисления, λ→λ→\lambda_\to . Первая ось добавляет операторы типа к термину, вторые операторы типа к типу и третью зависимую типизацию …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.