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

Commit be357c0

Browse files
committed
Define a synonym for Term.
1 parent cdde997 commit be357c0

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

  • semantic-analysis/src/Analysis/Syntax

semantic-analysis/src/Analysis/Syntax/Python.hs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
-- | This belongs in @semantic-python@ instead of @semantic-analysis@, but for the sake of expedience…
99
module Analysis.Syntax.Python
1010
( -- * Syntax
11-
T.Term(..)
11+
Term
1212
, Python(..)
1313
, pattern Noop
1414
, pattern Iff
@@ -41,6 +41,8 @@ import Source.Span (Span)
4141

4242
-- Syntax
4343

44+
type Term = T.Term Python Name
45+
4446
data Python (arity :: T.Nat) where
4547
Noop' :: Python T.N0
4648
Iff' :: Python T.N3
@@ -114,13 +116,13 @@ pattern Locate s t = Locate' s T.:$: T.Cons t T.Nil
114116

115117
-- Abstract interpretation
116118

117-
eval0 :: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m, Has (Dom val) sig m, Has (Reader Reference) sig m, Has S.Statement sig m) => T.Term Python Name -> m val
119+
eval0 :: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m, Has (Dom val) sig m, Has (Reader Reference) sig m, Has S.Statement sig m) => Term -> m val
118120
eval0 = fix eval
119121

120122
eval
121123
:: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m, Has (Dom val) sig m, Has (Reader Reference) sig m, Has S.Statement sig m)
122-
=> (T.Term Python Name -> m val)
123-
-> (T.Term Python Name -> m val)
124+
=> (Term -> m val)
125+
-> (Term -> m val)
124126
eval eval = \case
125127
T.Var n -> lookupEnv n >>= maybe (dvar n) fetch
126128
Noop -> dunit

0 commit comments

Comments
 (0)