summaryrefslogtreecommitdiff
path: root/compiler (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update the interpreter so that it is not written in CPS style (#120)Escherichia2024-05-2319-2294/+2116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start turning the compiler in a style which is less CPS * Update a function in InterpreterExpressions.ml * WIP work on cps * WIP * WIP, currently on InterpreterStatements.ml * WIP * Finished CPS-related modification * Fixed some warning related to documentation comments * Finished loop support, fixed a loop * fixed a typed value * Fixed check_disappeared related error * cleaned check_disappeared related error * Start cleaning up * Do more cleanup * Make some cleanup and fix an issue * Do more cleanup * Do more cleanup * Do more cleanup * Do more cleanup * Do more cleanup * Do more cleanup * Do more cleanup * Do more cleanup * Rename a function * Do more cleanup * Cleanup the loops code and fix some bugs * Cleanup assign_to_place * Make a minor cleanup --------- Co-authored-by: Son Ho <hosonmarc@gmail.com>
* Catch new literal variantsNadrieril2024-05-142-0/+6
|
* Ensure `./charon` points to a valid charon cloneNadrieril2024-05-142-1/+1
|
* Update charonNadrieril2024-05-062-3/+12
|
* Add error when handling mutually recursive traitsAymeric Fromherz2024-05-011-1/+4
|
* Update compiler/ExtractBuiltin.mlSon HO2024-04-261-1/+1
| | | Co-authored-by: Zyad Hassan <88045115+zhassan-aws@users.noreply.github.com>
* Update the backend and ExtractBuiltin.mlSon Ho2024-04-251-1/+4
|
* Merge branch 'main' into core-option-unwrapSon Ho2024-04-251-0/+25
|\
| * Merge branch 'main' into option-takeSon Ho2024-04-2510-100/+212
| |\
| * | compiler: introduce Lean-only translationsRyan Lahfa2024-04-241-10/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the long run, all backends will not have equivalent or equal support for extraction. This introduces a function to filter out some Lean-only definitions in our various arrays of core functions. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | compiler: map `core::option::Option::is_none` to `Option.isNone`Ryan Lahfa2024-04-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Our backend already have support for `isNone`, we just map it and filter out passing the actual type as it can be inferred via implicit types. Other backends than Lean are not done in this commit. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | compiler: map `core::mem::swap` to the pure swapRyan Lahfa2024-04-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In the pure functional model, `swap` is mostly about borrow checking and should simplify to the pure swap in our backends. Other backends than Lean are not done in this commit. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | compiler: map `core::option::Option::take` to identity functionRyan Lahfa2024-04-171-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | `take` in a pure functional model is the identity function and everything related to borrow checking is handled by the forward/backward mechanism. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
* | | Add core::option::unwrap builtinZyad Hassan2024-04-241-0/+2
| |/ |/|
* | Fix an issue when joining a symbolic value with bottomSon Ho2024-04-222-11/+33
| |
* | Reformat some filesSon Ho2024-04-225-24/+47
| |
* | Merge pull request #146 from RaitoBezarius/mainSon HO2024-04-191-3/+69
|\ \ | | | | | | fix(backends/lean): add a significant amount of keywords
| * | fix(backends/lean): extract more keywords from `lstlean.tex`Ryan Lahfa2024-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken from https://github.com/leanprover/lean4/blob/master/doc/latex/lstlean.tex#L33 and https://github.com/leanprover/lean4/blob/master/doc/latex/lstlean.tex#L36-L43. This will not extract the tactics. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | fix(backends/lean): extract more keywords from `lstlean.latex`Ryan Lahfa2024-04-181-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Taken from https://github.com/leanprover/lean4/blob/master/doc/latex/lstlean.tex#L12 and sorted. Tactics are ignored. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | chore(backends/lean): sort the keyword listRyan Lahfa2024-04-171-4/+4
| | | | | | | | | | | | | | | | | | OCD. :D Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | fix(backends/lean): `from` is a keywordRyan Lahfa2024-04-171-0/+1
| | | | | | | | | | | | Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
| * | fix(backends/lean): `as` is a keywordRyan Lahfa2024-04-171-0/+1
| |/ | | | | | | | | | | | | | | `as` is a reserved keyword and cannot be used as a variable name. Fixes #139. Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
* / item_metaNadrieril2024-04-189-80/+81
|/
* Add more definitions to the Lean librarySon Ho2024-04-121-0/+73
|
* Start adding integer functions to the Lean librarySon Ho2024-04-124-55/+181
|
* Update the bindings for the extractionSon Ho2024-04-121-14/+11
|
* Merge branch 'son/clean' into checked-opsSon Ho2024-04-1126-259/+517
|\
| * Update a commentSon Ho2024-04-111-2/+2
| |
| * Merge remote-tracking branch 'origin/main' into son/cleanSon Ho2024-04-1125-88/+250
| |\
| | * Reformat the codeSon Ho2024-04-111-9/+6
| | |
| | * Update a commentSon HO2024-04-111-1/+1
| | |
| | * Trust rustc regarding `Copy` boundsNadrieril2024-04-103-7/+7
| | |
| | * Improve the error messages furtherSon Ho2024-04-073-1/+44
| | |
| | * Cleanup a bit and improve the error messagesSon Ho2024-04-0712-82/+91
| | |
| | * Resolved comments and added the name of the not translated elementEscherichia2024-04-052-7/+18
| | |
| | * resolved commentsEscherichia2024-04-053-99/+113
| | |
| | * error catching should now be able to tell when code couldn't be generatedEscherichia2024-04-053-101/+144
| | |
| | * Fix a minor issueSon Ho2024-04-041-1/+1
| | |
| | * Merge remote-tracking branch 'origin/main' into escherichia/error_catchingSon Ho2024-04-043-45/+86
| | |\
| | * | Update the way errors are reportedSon Ho2024-04-042-10/+7
| | | |
| | * | Now prints all errors in the error_listEscherichia2024-04-042-3/+11
| | | |
| | * | Merge remote-tracking branch 'origin/main' into escherichia/error_catchingEscherichia2024-04-042-4/+1
| | |\ \
| | * | | resolved requested changesEscherichia2024-04-031-1/+0
| | | | |
| | * | | resolved requested changesEscherichia2024-04-033-6/+4
| | | | |
| | * | | added extract_ty_errors and extract_texpression_errors to deal with the ↵Escherichia2024-04-032-3/+10
| | | | | | | | | | | | | | | | | | | | error case in their respective types
| | * | | added Error and EError to expressions and propagated related changesEscherichia2024-04-0312-5/+41
| | | | |
| * | | | Add field mk_return, mk_panic in SymbolicToPure.bs_ctxSon Ho2024-04-042-90/+152
| | | | |
| * | | | Update the extractionSon Ho2024-04-048-34/+30
| | |_|/ | |/| |
| * | | Merge pull request #109 from AeneasVerif/escherichia/names_collisionSon HO2024-04-041-31/+48
| |\ \ \ | | | | | | | | | | Escherichia/names collision
| | * | | Update a commentSon Ho2024-04-041-3/+5
| | | | |