From 8381e149a3883fff20dc965894b9702390af09e3 Mon Sep 17 00:00:00 2001 From: Josh Berdine Date: Thu, 29 Oct 2020 13:27:20 -0700 Subject: [PATCH] [sledge] Add Trm.fv Reviewed By: da319 Differential Revision: D24532353 fbshipit-source-id: 506105bd1 --- sledge/src/trm.ml | 4 ++++ sledge/src/trm.mli | 1 + 2 files changed, 5 insertions(+) diff --git a/sledge/src/trm.ml b/sledge/src/trm.ml index 381ccf61b..93ad112e4 100644 --- a/sledge/src/trm.ml +++ b/sledge/src/trm.ml @@ -492,3 +492,7 @@ let iter_subtrms e ~f = | Concat xs | Record xs | Apply (_, xs) -> Array.iter ~f xs let subtrms e = Iter.from_labelled_iter (iter_subtrms e) + +(** Query *) + +let fv e = Var.Set.of_iter (vars e) diff --git a/sledge/src/trm.mli b/sledge/src/trm.mli index f9b453b6b..67120bfe0 100644 --- a/sledge/src/trm.mli +++ b/sledge/src/trm.mli @@ -95,6 +95,7 @@ val map : t -> f:(t -> t) -> t val seq_size_exn : t -> t val seq_size : t -> t option +val fv : t -> Var.Set.t (** Traverse *)