diff --git a/lang/lifting/src/fv.rs b/lang/lifting/src/fv.rs index 3622067bd..9566857fc 100644 --- a/lang/lifting/src/fv.rs +++ b/lang/lifting/src/fv.rs @@ -22,7 +22,7 @@ pub fn free_vars(arg: &T, ctx: &TypeCtx) -> FreeVars { FreeVars { fvs: v.fvs, cutoff: ctx.len() } } -trait FV { +pub trait FV { fn visit_fv(&self, v: &mut USTVisitor); } @@ -268,7 +268,7 @@ impl Ord for FreeVar { } /// Visitor that collects free variables in an untyped syntax tree -struct USTVisitor<'a> { +pub struct USTVisitor<'a> { /// Set of collected free variables fvs: HashSet, /// The De-Bruijn level (fst index) up to which a variable counts as free diff --git a/lang/syntax/src/common/de_bruijn.rs b/lang/syntax/src/common/de_bruijn.rs index ce244fdd9..537812cde 100644 --- a/lang/syntax/src/common/de_bruijn.rs +++ b/lang/syntax/src/common/de_bruijn.rs @@ -95,7 +95,7 @@ pub trait Leveled { /// Note: We use two-level de Bruijn indices. The cutoff-range only applies to /// the first element of a two-level de Bruijn index. /// -/// Ref: https://www.cs.cornell.edu/courses/cs4110/2018fa/lectures/lecture15.pdf +/// Ref: pub trait Shift: Sized { /// Shift all open variables in `self` by the the value indicated with the /// `by` argument.