stop throwing names away

This commit is contained in:
rhiannon morris 2023-09-17 19:06:07 +02:00
parent 7bd959e919
commit 4c88918ade
2 changed files with 9 additions and 9 deletions

View file

@ -250,19 +250,19 @@ export Tighten (\d => Elim d n) where tighten p e = dtightenE p e
parameters {auto _ : Tighten f} {s : Nat}
export
squeeze : Scoped s f n -> Either (BContext s, f (s + n)) (f n)
squeeze (S ns (N t)) = Right t
squeeze (S ns (Y t)) = maybe (Left (ns, t)) Right $ tightenN s t
squeeze : Scoped s f n -> (BContext s, Either (f (s + n)) (f n))
squeeze (S ns (N t)) = (ns, Right t)
squeeze (S ns (Y t)) = (ns, maybe (Left t) Right $ tightenN s t)
export
squeeze' : Scoped s f n -> Scoped s f n
squeeze' = either (uncurry SY) SN . squeeze
squeeze' t = let (ns, res) = squeeze t in S ns $ either Y N res
parameters {0 f : Nat -> Nat -> Type}
{auto tt : Tighten (\d => f d n)} {s : Nat}
export
dsqueeze : Scoped s (\d => f d n) d ->
Either (BContext s, f (s + d) n) (f d n)
(BContext s, Either (f (s + d) n) (f d n))
dsqueeze = squeeze
export
@ -272,11 +272,11 @@ parameters {0 f : Nat -> Nat -> Type}
-- versions of SY, etc, that try to tighten and use SN automatically
public export
public export %inline
ST : Tighten f => {s : Nat} -> BContext s -> f (s + n) -> Scoped s f n
ST names body = squeeze' $ SY names body
public export
public export %inline
DST : {s : Nat} -> BContext s -> Term (s + d) n -> DScopeTermN s d n
DST names body = dsqueeze' {f = Term} $ SY names body