-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
REF: factor out common code, thus improving interfaces
and reducing code duplication. The common code was operating on the syntax tree, and has been added as new functions to the modules `Expr.T` and `Expr.Visit`. API: This commit adds functions for creating syntax-tree nodes, to the module `Expr.T`. These functions reduce the repetition of code (for example, code used to wrap nodes as `'a Property.wrapped`). The new functions also define an interface for node creation that is less dependent on the exact representation of the syntax tree. Thus, code that uses the new functions is more independent of changes to the syntax tree. These changes are motivated by and in anticipation of an upcoming change to the types of syntax tree nodes. DEV: This commit changes the order of OCaml modules in the `EXPR_PACK` inside `src/Makefile`. The reason for this change is that the newly-added function `E_visit.hyps_of_bounds_unditto` calls the functions `E_subst.app_expr` and `E_subst.shift`. So the module `expr/e_subst` has to appear before `expr/e_visit`. `expr/e_subst` depends on `expr/e_fmt`, so `expr/e_fmt` has to appear before `expr/e_subst`. `expr/e_levels` depends on `expr/e_visit`, so `expr/e_visit` has to appear before `expr/e_levels`. The other modules appear in the same order as earlier. - REF: write subclass signatures in a way that the super signature does not need to be repeated
- Loading branch information
Showing
38 changed files
with
2,003 additions
and
666 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.