Подтвердить что ты не робот

Возможно ли построить сравнительно быструю нетипичную машину лямбда-исчисления?

Чистое нетипизированное лямбда-исчисление является мощным понятием. Однако создание машины или интерпретатора для реального использования часто описывается как (близкое к) невозможно. Я хочу исследовать это. Возможно ли теоретически построить сравнительно быструю нетипичную машину лямбда-исчисления?

Сравнительно быстро я обычно сравниваюсь с современными архитектурами, подобными Turing, для аналогичного круга задач, в пределах такого же количества ресурсов (ворота, операции, физическое пространство, использование энергии и т.д.).

Я не помещаю никаких ограничений на реализацию и архитектурные уровни машины, за исключением того, что это должно быть физически и несколько реалистично реализовано каким-то образом. Нет ограничений на то, как обращаться с IO.

  • Если возможно, каковы основные проблемы?
  • Если это невозможно, почему и как?
  • Каково состояние исследований в этой области?
  • Какие поля и предметы наиболее актуальны?

Насколько известно о возможности создания компьютерной архитектуры, основанной на исчислении лямбда?

Вопросы, охватывающие аналогичные основания:

4b9b3361

Ответ 1

Во-первых, можно эффективно вычислить лямбда-исчисление для машинного кода даже на существующих архитектурах. В конце концов, схема - это лямбда-исчисление плюс немного дополнительная, и ее можно эффективно компилировать. Однако схема и со являются лямбда-исчислением при строгой оценке. Также возможно скомпилировать исчисление лямбда по нестрогой оценке эффективно! Об этом см. SPJ две книги для некоторого фона: http://research.microsoft.com/en-us/um/people/simonpj/papers/papers.html

С другой стороны, также верно, что если бы мы создали аппаратное обеспечение, предназначенное для функциональных языков, мы могли бы скомпилировать код с этим оборудованием и действительно очень хорошо. Лучший новый материал, о котором я знаю, - это Reduceron: http://www.cs.york.ac.uk/fp/reduceron/

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