Size: a a a

Compiler Development

2021 May 08

B

Brenoritvrezorkre in Compiler Development
Это тривиализует исчисление
источник

B

Brenoritvrezorkre in Compiler Development
Это значит, что терминология функций должна остаться терминологией лямбда-исчисления, и ничего больше
источник

B

Brenoritvrezorkre in Compiler Development
Конечно, syntax driven, о каких ещё правилах вывода может идти речь
источник

МБ

Михаил Бахтерев... in Compiler Development
В смысле? CSP (давайте упростим)  описывает не функции, а поведения процессов.
источник

IJ

Igor 🐱 Jirkov in Compiler Development
вы имеете в виду, что можно доказать всё что угодно?
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну вот || не syntax-driven, например. Можно выбрать произвольно из нескольких вариантов вывода.
источник

B

Brenoritvrezorkre in Compiler Development
Да. Возьмём соответствие Карри-Говарда. Это значит, что можно вычислить что угодно. В том числе противоречащие друг другу вещи.
источник

МБ

Михаил Бахтерев... in Compiler Development
А в чём проблема? Нам часто приходится вычислять такие вещи.
источник

МБ

Михаил Бахтерев... in Compiler Development
Ну, в обыденной жизни.
источник

B

Brenoritvrezorkre in Compiler Development
Я же писал: мы рассматриваем здесь пи-исчисление просто как некоторую теорию, оперирующую набором абстрактных символов, не привлекаем человеческих интерпретаций.
источник

B

Brenoritvrezorkre in Compiler Development
А теперь представь, что можно вычислить все противоречия (поправка в том, что парадокс Карри не пользуется негацией).
источник

МБ

Михаил Бахтерев... in Compiler Development
Не. Когда мы говорим о ЯП, как о языке программирования физических машин, мы не можем обойтись только лишь множеством формул.
источник

МБ

Михаил Бахтерев... in Compiler Development
Так то, что это противоречия, определяется лишь нашей интерпретацией. В природе вон полно противоречий. Взять противоречие между ОТО и КМ, например. И ничего, вычисляем и то, и другое, когда надо моделировать звёзды.
источник

IJ

Igor 🐱 Jirkov in Compiler Development
ну я по прежнему не понимаю, как это лишает нас возможности программировать на языке. Исходный тезис был в том, что нетипизированное лямбда-исчисление не годится для программирования т.к. выразим парадокс Карри.  На хаскеле вон тоже нельзя теоремы доказывать. И на С.
источник

AG

Alex Gryzlov in Compiler Development
вычислить противоречие на практике это значит свалиться с ошибкой или уйти в бесконечный цикл
источник

AG

Alex Gryzlov in Compiler Development
если мы доказываем корректность программы, то для нас это критическая проблема, но если мы пишем на условном эрланге, то это просто часть жизни
источник

AG

Alex Gryzlov in Compiler Development
у жирара кстати в людике и позднейших системах есть специальные секвенты для обозначения "провалившихся доказательств" - daimon'ы
источник

B

Brenoritvrezorkre in Compiler Development
...а вы могли бы такого не писать?
источник

B

Brenoritvrezorkre in Compiler Development
Это про тип bottom? В нетипизированном лямбда-исчислении нет типов ) но противоречивые утверждения описать можно. Можно даже и не говорить о них — суть в том, что парадокс Карри позволяет вывести вообще что угодно. Например, грубо говоря, что это — строка и стул одновременно; с точки зрения логики противоречия тут нет, пока не заданы нужные определения, но нам не нужно этого делать, чтобы понять, что нам страшны не просто "это строка и не строка".
источник

B

Brenoritvrezorkre in Compiler Development
Это возникает из-за саморефлексивности нетипизированного лямбда-исчисления, которое не ограничено так, чтобы парадокс не возникал. Просто типизированное лямбда-исчисление создали как раз для того, чтобы уйти от парадоксов. И вот уже там можно найти тип bottom ) который значит больше, чем просто противоречие в логике, так как это прямо связывается с теорией вычислений.
источник