summaryrefslogtreecommitdiff
path: root/compiler/utils/FreeVarStrategy.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/FreeVarStrategy.hs')
-rw-r--r--compiler/utils/FreeVarStrategy.hs14
1 files changed, 14 insertions, 0 deletions
diff --git a/compiler/utils/FreeVarStrategy.hs b/compiler/utils/FreeVarStrategy.hs
new file mode 100644
index 0000000000..1a1565413d
--- /dev/null
+++ b/compiler/utils/FreeVarStrategy.hs
@@ -0,0 +1,14 @@
+module FreeVarStrategy (FreeVarStrategy(..)) where
+
+import {-# SOURCE #-} TyCoRep (CoercionHole)
+
+import Var
+
+import Data.Monoid (Monoid)
+
+class Monoid m => FreeVarStrategy m where
+ -- | Introduce a free 'CohercionHole'.
+ coholeFV :: CoercionHole -> m
+ -- | Introduce a free variable (and any free variables of its type/kind).
+ unitFV :: Var -> m
+ bindVar :: Var -> m -> m