Я не могу объяснить термин лямбда-куб лучше, чем это делает Википедия:
[...] λ-куб представляет собой основу для исследования осей уточнения в исчислении конструкций Коканда, начиная с просто типизированного лямбда-исчисления как вершины куба, помещенной в начало координат, и исчисления построений (более высокого порядка полиморфное лямбда-исчисление зависимого типа) как его диаметрально противоположная вершина. Каждая ось куба представляет новую форму абстракции:
- Термины в зависимости от типов или полиморфизма. Система F, она же лямбда-исчисление второго порядка, получается путем наложения только этого свойства.
- Типы в зависимости от типов или операторов типов. Просто типизированное лямбда-исчисление с операторами типа λω получается путем наложения только этого свойства. В сочетании с Системой F это дает Систему Fω.
- Типы в зависимости от терминов или зависимые типы. Наложение только этого свойства дает λΠ, систему типов, тесно связанную с LF.
Все восемь исчислений включают в себя самую базовую форму абстракции, термы, зависящие от термов, обычные функции, как в простом лямбда-исчислении. Самое богатое исчисление в кубе со всеми тремя абстракциями — это исчисление построений. Все восемь исчислений являются сильно нормализующими.
Можно ли найти примеры кода на таких языках, как Java, Scala, Haskell, Agda, Coq для каждого уточнения, которое было бы невозможно достичь в исчислениях без этого уточнения?