Skip to content
Snippets Groups Projects
aalbert's avatar
aalbert authored
Closes #27, #29 et #36 🐔️👍️
Approved-by: default avatarloutr <loutr@crans.org>
Approved-by: default avataraalbert <augustin.albert@bleu-azure.fr>
Approved-by: default avatarbelazy <aarthuur01@gmail.com>

🦀️🍰🦀️🍰🦀️🍰

* feat(parser): add tests

* Apply 1 suggestion(s) to 1 file(s)

* Apply 1 suggestion(s) to 1 file(s)

* fix(kernel): fix tests

* fix(kernel): fix tests

* clippy

* add tests

* more tests

* feat(proost): tests

* clippy + move tests in kernel

* repl -> evaluator

* ex

* change processor for repl

* add verbose arg

* remove deps

* reference issues

* add issue for search command

* remove commandprocessor trait

* rename repl.rs

* fix error handling when failing to import file

* fix(proost): consider suggestions from review; slight refactor of errors

* chore(parser/commands): better display of the import command

* chore(parser): renaming private functions and correcting some documentation

* feat(proost): add better display for commands and use it instead in the import command display

* fix(proost): adapt proost to new parser behaviour

* fix(parser): make parser produce Builders instead of terms, which prevents evaluating commands too early

* add basic search command

* move pretty printing out of command processor

* functional cyclic dependency test

* better tab

* still buggy, more tests

* better emoji handling

* import file 2/2

* fix tests

* clippy

* import file 1/2: test if files exists

* add convenient command for user

* add import command, not fonctional yet

* clippy

* move command in parser
dc1fc185

Proost

A simple proof assistant written in Rust.

The specification of the project may be found here.

The documentation, generated with rust-doc may be found here.

Usage

Please see the specification for insights on how to use proost and tilleul.

Build and install

With nix installed, simply type nix run git+ssh://git@gitlab.crans.org/loutr/proost.git?ref=main to launch proost. Alternatively, clone this git repository and type nix build to perform a build and have it in the nix store. One can also type nix profile install in the repo to install proost to one's profile and use it everywhere!

Development environment

With nix installed, simply type nix develop. This provides an environment with all the necessary tools, including clippy and rustfmt. There, it is possible to run the usual cargo build and so on.

Please consider the syntax nix develop --profile <a-file-of-your-choosing>, which will prevent the garbage collection of the development dependencies.

Crates dependencies

graph TD;
  kernel-->tilleul;
  kernel-->parser;
  parser-->tilleul; 
  parser-->proost;
  kernel-->proost;