Datalog for PLT Scheme

Jay McCarthy <>

This package contains a lightweight deductive database system. Queries and database updates are expressed using Datalog – a declarative logic language in which each formula is a function-free Horn clause, and every variable in the head of a clause must appear in the body of the clause. The use of Datalog syntax and an implementation based on tabling intermediate results ensures that all queries terminate.

    1 Datalog for PLT Scheme

      1.1 Getting Started

      1.2 Datalog Language for DrScheme

    2 Tutorial

    3 Abstract Syntax

    4 Lexing and Parsing

      4.1 Datalog Syntax

      4.2 Parser API

    5 Parenthetical Datalog

      5.1 Parenthetical Datalog Syntax

      5.2 Parethetical Parser API

    6 Pretty-Printing

    7 Runtime System

    8 Evaluation


    9 Acknowledgments