-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
32 lines (27 loc) · 1.37 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
ocaml-datalog
=============
This package contains a lightweight deductive database system written
in OCaml. 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 goal 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. This is an OCaml version of the Lua implementation
at <https://github.com/ramsdell/datalog>, and documentation on that
site is relevant.
This Datalog engine was extracted from the runtime system of the
Cryptographic Protocol Programming Language (CPPL) at
<https://github.com/mitre/cppl>. The Cryptographic Protocol
Programming Language (CPPL) facilitates the design and implementation
of hand-crafted protocols for electronic commerce and
cross-organization distributed applications. The Datalog engine is
used to establish trust relations between communicating participants.
To build the software, type "make".
$ ./datalog --help
Usage: datalog [-o output] [input]
-o name - send output to this file (default stdout)
-- - treat remaining args as file names, where - means stdin
-help Display this list of options
--help Display this list of options
$
To run the test suite, type "./try". No output means all tests passed.