Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixing a normalizer inefficiency #3222

Merged
merged 7 commits into from
Mar 15, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion ocaml/fstar-lib/generated/FStar_Ident.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion ocaml/fstar-lib/generated/FStar_Parser_Dep.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions ocaml/fstar-lib/generated/FStar_Syntax_Syntax.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

168 changes: 167 additions & 1 deletion ocaml/fstar-lib/generated/FStar_TypeChecker_Cfg.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

52 changes: 38 additions & 14 deletions ocaml/fstar-lib/generated/FStar_TypeChecker_Env.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 22 additions & 4 deletions ocaml/fstar-lib/generated/FStar_TypeChecker_Normalize.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/basic/FStar.Ident.fst
Original file line number Diff line number Diff line change
@@ -88,3 +88,9 @@ instance hasrange_lident = {
pos = (fun lid -> Class.HasRange.pos lid.ident);
setPos = (fun rng id -> { id with ident = setPos rng id.ident });
}
instance deq_ident = {
(=?) = ident_equals;
}
instance deq_lident = {
(=?) = lid_equals;
}
3 changes: 3 additions & 0 deletions src/basic/FStar.Ident.fsti
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@ module FStar.Ident
open FStar.Compiler.Range
open FStar.Class.Show
open FStar.Class.HasRange
open FStar.Class.Deq

(** A (short) identifier for a local name.
* e.g. x in `fun x -> ...` *)
@@ -138,3 +139,5 @@ instance val showable_ident : showable ident
instance val showable_lident : showable lident
instance val hasrange_ident : hasRange ident
instance val hasrange_lident : hasRange lident
instance val deq_ident : deq ident
instance val deq_lident : deq lident
2 changes: 1 addition & 1 deletion src/data/FStar.Compiler.Path.fst
Original file line number Diff line number Diff line change
@@ -32,4 +32,4 @@ let search_forest #a #q {| deq a |} p f =
| [] -> def
| (r, q)::rs -> if p `is_under` r then q else aux rs
in
aux roots
aux roots
2 changes: 1 addition & 1 deletion src/parser/FStar.Parser.Dep.fst
Original file line number Diff line number Diff line change
@@ -125,7 +125,7 @@ let module_name_of_file f =
| Some longname ->
longname
| None ->
raise_err (Errors.Fatal_NotValidFStarFile, (Util.format1 "not a valid FStar file: %s" f))
raise_err (Errors.Fatal_NotValidFStarFile, (Util.format1 "Not a valid FStar file: '%s'" f))
(* In public interface *)
let lowercase_module_name f = String.lowercase (module_name_of_file f)
6 changes: 5 additions & 1 deletion src/syntax/FStar.Syntax.Syntax.fst
Original file line number Diff line number Diff line change
@@ -146,6 +146,10 @@ instance deq_fv : deq lident =
deq_instance_from_cmp (fun x y -> Order.order_from_int (order_fv x y))
instance deq_univ_name : deq univ_name =
deq_instance_from_cmp (fun x y -> Order.order_from_int (order_univ_name x y))
instance deq_delta_depth : deq delta_depth = {
(=?) = (fun x y -> x = y);
}

instance ord_bv : ord bv =
ord_instance_from_cmp (fun x y -> Order.order_from_int (order_bv x y))
instance ord_ident : ord ident =
@@ -510,4 +514,4 @@ instance deq_lazy_kind : deq lazy_kind = {
| Lazy_embedding _, _
| _, Lazy_embedding _ -> false
| _ -> false);
}
}
Loading