-
doc/
: documentationDOCUMENTATION.md
: entry point of the documentation, each topic being developed in a separate.md
filePERFS.md
: a comparison of performances of Dedukti 2.6 and Lambdapisyntax.bnf
: BNF grammar of Lambdapi
-
editors/
: editor plugins for handling Lambdapi files-
emacs/
: code for emacs -
vim/
: code for vim -
vscode/
: code for vscode.vscode/*.json
: config for launching, debugging, building the extensionsrc/*.ts
: the VSCode plugin source code written in the TypeScript languagepackage.json
: the manifest of the plugin (activation events, scripts, dependencies, ...)tsconfig.json
: TypeScript configuration (directories, ...)vscode.proposed.d.ts
: VSCode API (Microsoft file, likely to change)lp.configuration.json
: specific characterssyntaxes/lp.tmLanguage.json
: grammar of lambdapiMakefile
-
-
libraries/
: libraries of Dedukti files (see GNUmakefile) -
src/core/
: source code of Lambdapi-
utilities:
extra.ml
: standard library extensionfiles.ml
: filenames and paths managementpos.ml
: source file position managementconsole.ml
: output and debuggingexternal.ml
: call to external toolshrs.ml
: export to the .hrs format of the confluence competitionxtc.ml
: export to the .xtc format of the termination competitionconfig.ml
: handling of configuration filesstubs.c
: C implementation forExtra.Filename.realpath
.
-
file, command and tactic handling:
compile.ml
: file parsing and compiling (.lpo files)handle.ml
: command handlingqueries.ml
: handling of queries (commands that do not change the signature or the proof state)tactics.ml
: tactic handlingrewrite.ml
: rewrite tactic (similar to Ssreflect)why3_tactic.ml
: why3 tactic (uses why3)proof.ml
: proof state
-
terms, signatures, rewriting, unification and type-checking:
terms.ml
: internal representation of termsbasics.ml
: basic operations on termsprint.ml
: pretty printing of termstree_types.ml
: types and basic functions for decision treestree.ml
: compilation of rewriting rules to decision treestree_graphviz.ml
: representation of trees as graphviz fileseval.ml
: rewriting engineunif.ml
: unification algorithmctxt.ml
: typing contexts (maps variable -> type)infer.ml
: constraints-generating type inference and checkingtyping.ml
: type inference and checkingsign.ml
: signatures/theories (sets of symbols and rules)
-
parsing and scoping:
syntax.ml
: abstract syntaxparser.ml
: parser (convert the concrete syntax into the abstract syntax)env.ml
: maps identifier -> variable (and type)scope.ml
: convert the abstract syntax into termspretty.ml
: pretty print the abstract syntax (used to convert old Dedukti files into Lambdapi files)
-
legacy parser:
legacy_lexer.ml
: lexer for the old Dedukti syntaxlegacy_parser.ml
: interface of the parser for the old Dedukti syntaxmenhir_parser.ml
: parser using menhir
-
property checking:
sr.ml
: algorithm for checking subject reduction
-
-
src/cli/
: command line interface -
src/pure/
: pure interface (mainly used by the LSP server)pure.ml
andpure.mli
: provide utilities to roll back state
-
src/lsp/
: LSP server -
src/cli/lambdapi.ml
: main program -
tests/
: unit testsOK/
: tests that should succeedKO/
: tests that should fail
-
lib/
: examples of Lambdapi files -
tools/
:deps.ml
: gives the#REQUIRE
commands that should be added at the beginning of a Dedukti filegenerate_tests.ml
: creates test files intests/OK
that can be parametrisedlistings.tex
: setup of the LaTeX package listings for including Lambdapi code into a LaTeX documentsanity_check.sh
: script checking some style guidelines below (called bymake sanity_check
)gen_version.ml
: script used by dune to generate thesrc/core/version.ml
file