doc: Main README.md

This commit is contained in:
Leni Aniva 2024-03-28 22:09:56 -07:00
parent 47fabf333b
commit 4a89aaf70e
1 changed files with 13 additions and 3 deletions

View File

@ -1,9 +1,12 @@
# Pantograph # Pantograph
An interaction system for Lean 4. A Machine-to-Machine interaction system for Lean 4.
![Pantograph](doc/icon.svg) ![Pantograph](doc/icon.svg)
Pantograph provides interfaces to execute proofs, construct expressions, and
examine the symbol list of a Lean project for machine learning.
## Installation ## Installation
For Nix based workflow, see below. For Nix based workflow, see below.
@ -109,9 +112,12 @@ ulimit -s unlimited
## Library Usage ## Library Usage
`Pantograph/Library.lean` exposes a series of interfaces which allow FFI call `Pantograph/Library.lean` exposes a series of interfaces which allow FFI call
with `Pantograph`. with `Pantograph` which mirrors the REPL commands above. It is recommended to
call Pantograph via this FFI since it provides a tremendous speed up.
## Testing ## Developing
### Testing
The tests are based on `LSpec`. To run tests, The tests are based on `LSpec`. To run tests,
``` sh ``` sh
@ -120,6 +126,10 @@ make test
## Nix based workflow ## Nix based workflow
The included Nix flake provides build targets for `sharedLib` and `executable`.
The executable can be used as-is, but linking against the shared library
requires the presence of `lean-all`.
To run tests: To run tests:
``` sh ``` sh
nix build .#checks.${system}.test nix build .#checks.${system}.test