Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 1d70d13

Browse files
committed
Define subterms using mendlerPara.
🔥 that Functor constraint.
1 parent ad4dba6 commit 1d70d13

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

semantic-analysis/src/Analysis/Syntax.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ instance (Ord (sig (Term sig v)), Ord v) => Ord (Term sig v) where
3131
compare _ _ = GT
3232

3333

34-
subterms :: (Ord (sig (Term sig v)), Ord v, Foldable sig, Functor sig) => Term sig v -> Set.Set (Term sig v)
35-
subterms = paraTerm (Set.singleton . Var) (foldMap (uncurry Set.insert))
34+
subterms :: (Ord (sig (Term sig v)), Ord v, Foldable sig) => Term sig v -> Set.Set (Term sig v)
35+
subterms = mendlerParaTerm (Set.singleton . Var) (\ k -> foldMap (uncurry Set.insert . k))
3636

3737
foldTerm :: Functor sig => (v -> r) -> (sig r -> r) -> (Term sig v -> r)
3838
foldTerm var sig = mendlerTerm var (\ k -> sig . fmap k)

0 commit comments

Comments
 (0)