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

Commit 3654aac

Browse files
committed
🔥 the parent addr from the import & scope graph analyses.
1 parent 53e08b3 commit 3654aac

2 files changed

Lines changed: 6 additions & 12 deletions

File tree

semantic-core/src/Analysis/ImportGraph.hs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ instance Monoid Value where
4141
mempty = Value Abstract mempty
4242

4343
data Semi
44-
= Closure Loc User (Term Core.Core User) User
44+
= Closure Loc User (Term Core.Core User)
4545
-- FIXME: Bound String values.
4646
| String Text
4747
| Abstract
@@ -58,7 +58,6 @@ importGraph
5858
runFile :: ( Carrier sig m
5959
, Effect sig
6060
, Member Fresh sig
61-
, Member (Reader (FrameId User)) sig
6261
, Member (State (Heap User Value)) sig
6362
)
6463
=> File (Term Core.Core User)
@@ -72,7 +71,6 @@ runFile file = traverse run file
7271
-- FIXME: decompose into a product domain and two atomic domains
7372
importGraphAnalysis :: ( Alternative m
7473
, Carrier sig m
75-
, Member (Reader (FrameId User)) sig
7674
, Member (Reader Loc) sig
7775
, Member (State (Heap User Value)) sig
7876
, MonadFail m
@@ -86,9 +84,8 @@ importGraphAnalysis = Analysis{..}
8684
assign addr ty = modify (Map.insertWith (<>) addr (Set.singleton ty))
8785
abstract _ name body = do
8886
loc <- ask
89-
FrameId parentAddr <- ask
90-
pure (Value (Closure loc name body parentAddr) mempty)
91-
apply eval (Value (Closure loc name body _) _) a = local (const loc) $ do
87+
pure (Value (Closure loc name body) mempty)
88+
apply eval (Value (Closure loc name body) _) a = local (const loc) $ do
9289
addr <- alloc name
9390
assign addr a
9491
bind name addr (eval body)

semantic-core/src/Analysis/ScopeGraph.hs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ instance Monoid Value where
4949
mempty = Value Abstract mempty
5050

5151
data Semi
52-
= Closure Loc User (Term Core.Core User) User
52+
= Closure Loc User (Term Core.Core User)
5353
| Abstract
5454
deriving (Eq, Ord, Show)
5555

@@ -65,7 +65,6 @@ runFile
6565
:: ( Carrier sig m
6666
, Effect sig
6767
, Member Fresh sig
68-
, Member (Reader (FrameId User)) sig
6968
, Member (State (Heap User Value)) sig
7069
)
7170
=> File (Term Core.Core User)
@@ -80,7 +79,6 @@ runFile file = traverse run file
8079
scopeGraphAnalysis
8180
:: ( Alternative m
8281
, Carrier sig m
83-
, Member (Reader (FrameId User)) sig
8482
, Member (Reader Loc) sig
8583
, Member (State (Heap User Value)) sig
8684
, MonadFail m
@@ -94,9 +92,8 @@ scopeGraphAnalysis = Analysis{..}
9492
assign addr ty = modify (Map.insertWith (<>) addr (Set.singleton ty))
9593
abstract _ name body = do
9694
loc <- ask
97-
FrameId parentAddr <- ask
98-
pure (Value (Closure loc name body parentAddr) mempty)
99-
apply eval (Value (Closure loc name body _) _) a = local (const loc) $ do
95+
pure (Value (Closure loc name body) mempty)
96+
apply eval (Value (Closure loc name body) _) a = local (const loc) $ do
10097
addr <- alloc name
10198
assign addr a
10299
bind name addr (eval body)

0 commit comments

Comments
 (0)