λProlog: Logic programming in higher-order logic - The World's First Language with Native Higher-Order Abstract Syntax

February 25, 2026 Query: λProlog: Logic programming in higher-order logic
λProlog: Logic programming in higher-order logic - The World's First Language with Native Higher-Order Abstract Syntax

Photo by Patrick Martin on Unsplash

λProlog: Logic programming in higher-order logic - The World's First Language with Native Higher-Order Abstract Syntax

λProlog is a logic programming language based on higher-order intuitionistic logic that pioneered direct support for higher-order abstract syntax in the late 1980s. Developed by Dale Miller and Gopalan Nadathur, it extends Prolog with lambda terms, modular programming, and sophisticated type systems for reasoning about syntax with bindings. This curated collection provides essential resources for understanding and working with this influential language.

Overview

λProlog represents a significant evolution in logic programming, building on Church's Simple Theory of Types to provide a solid logical foundation. Unlike traditional Prolog, λProlog offers polymorphic typing, higher-order unification, and lambda-tree syntax—an approach that maps object-level bindings to programming language bindings, eliminating the need to manage bound variable names explicitly. The language remains actively developed through multiple implementations including ELPI, Teyjus, and Makam, with recent updates as of December 2025.

Top Recommended Resources

1. λProlog: Logic programming in higher-order logic - LIX

2. Teyjus

3. Examples of Lambda Prolog code - Teyjus

4. Programming with Higher-Order Logic - Brief description

5. PLE lecture notes -- Lambda-Prolog

Summary

These five resources provide a complete learning path for λProlog, from theoretical foundations to practical implementation. Start with the official homepage and lecture notes to understand what makes λProlog unique, then dive into Teyjus for hands-on experimentation with the code examples. The book website offers deeper theoretical grounding when you're ready to explore advanced applications. Together, these resources represent decades of research and teaching by the language's creators and their collaborators, making them the definitive references for anyone serious about higher-order logic programming.