Epilog is a computer language based on Dynamic Logic Programming (DLP). Epilog is similar to other logic programming languages, such as Datalog and Prolog, but there are some differences. Like Datalog, Epilog separates data and rules. Like Prolog, Epilog supports data and rules with functional terms. Like both of these languages, Epilog provides the ability to define views of data. However, Epilog also provides a way to express database dynamics. Whereas Prolog treats side effects implicitly using assert and retract as subgoals in view definitions, Epilog enables users to express side effects in the form of explicit constraints and transition rules.
Sierra is a browser-based interactive development environment (IDE) for Epilog. It allows users to view and edit datasets, and it allows users to view and edit view definitions, constraints, and transition rules. It provides a variety of tools for manually querying and modifying datasets, and it automatically updates visible datasets in spreadsheet-like fashion in accordance with the user's rules. It also provides tools for analyzing datasets and rule sets, tools for tracing program execution, and tools for saving and loading files. Click here for a tour of Sierra.
The Documentation tab provides access to documentation on Logic Programming, Epilog, EpilogJS, CompilerJS, and Sierra.