summaryrefslogtreecommitdiff
path: root/compiler (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug when composing the continuations in eval_statementSon Ho2024-06-034-122/+131
|
* Change the order in which we merge abstractionsSon Ho2024-06-035-105/+99
|
* Cleanup a bitSon Ho2024-06-033-44/+53
|
* Factor out some code and update some commentsSon Ho2024-06-034-166/+173
|
* Cleanup a bitSon Ho2024-06-034-91/+87
|
* Make minor modificationsSon Ho2024-06-034-19/+25
|
* Update some commentsSon Ho2024-06-031-2/+2
|
* formatAymeric Fromherz2024-05-311-18/+18
|
* Add documentation to collapseAymeric Fromherz2024-05-311-1/+27
|
* Add missing reverse when collapsing environmentAymeric Fromherz2024-05-311-2/+1
|
* Fix unused variables warningsAymeric Fromherz2024-05-312-13/+18
|
* Avoid adding shared loans twice when merging environmentsAymeric Fromherz2024-05-311-5/+28
|
* Add markers when creating new abstractions because of a join with bottomAymeric Fromherz2024-05-313-48/+63
|
* Also fix implementation of Join-SharedBorrowAymeric Fromherz2024-05-311-3/+3
|
* destructure_abs can be called during collapse: markers should be allowedAymeric Fromherz2024-05-301-4/+0
|
* Correct implementation of Join-MutBorrows: add markers when creating a new ↵Aymeric Fromherz2024-05-301-3/+4
| | | | abstraction
* More lisible sign for proj_right pretty-printingAymeric Fromherz2024-05-301-1/+1
|
* Implement two phases of loops join + collapseAymeric Fromherz2024-05-304-383/+552
|
* Compute marker information for borrow/loan mapsAymeric Fromherz2024-05-283-50/+73
|
* Add type and set/map for marker and borrow idAymeric Fromherz2024-05-283-9/+21
|
* Simplify collapse_ctxAymeric Fromherz2024-05-271-6/+5
|
* Simplify reduce_ctxAymeric Fromherz2024-05-271-21/+6
|
* Split collapse into collapse and reduce, rename accordinglyAymeric Fromherz2024-05-274-13/+185
|
* Add projection markers when joining environmentsAymeric Fromherz2024-05-271-0/+59
|
* Add markers everywhere, do not use them yetAymeric Fromherz2024-05-2710-139/+302
|
* Start adding markersSon Ho2024-05-246-50/+94
|
* Expand debug output in loops fixed pointsAymeric Fromherz2024-05-241-1/+16
|
* Rename meta into spanAymeric Fromherz2024-05-2451-2939/+2943
|
* Rename span into raw_spanAymeric Fromherz2024-05-244-20/+20
|
* Update charon pinNadrieril2024-05-242-2/+3
|
* Fix a crash which happens when type definitions are ignoredSon Ho2024-05-241-2/+5
|
* Print the name patterns of the definitions which fail to extractSon Ho2024-05-242-15/+24
|
* 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>