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

Commit 128aebc

Browse files
committed
🔥 evalModule.
1 parent ef559e0 commit 128aebc

1 file changed

Lines changed: 2 additions & 16 deletions

File tree

semantic-analysis/src/Analysis/Syntax.hs

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ module Analysis.Syntax
1010
-- * Abstract interpretation
1111
, eval0
1212
, eval
13-
, evalModule0
14-
, evalModule
1513
-- * Macro-expressible syntax
1614
, let'
1715
-- * Parsing
@@ -25,7 +23,6 @@ import Analysis.Effect.Domain
2523
import Analysis.Effect.Env (Env, bind, lookupEnv)
2624
import Analysis.Effect.Store
2725
import Analysis.File
28-
import Analysis.Module
2926
import Analysis.Name (Name, name, nameI)
3027
import Analysis.Reference as Ref
3128
import Control.Applicative (Alternative (..), liftA3)
@@ -41,12 +38,10 @@ import qualified Data.ByteString.Lazy as B
4138
import Data.Function (fix)
4239
import qualified Data.IntMap as IntMap
4340
import Data.List (sortOn)
44-
import Data.List.NonEmpty (NonEmpty, fromList, toList)
41+
import Data.List.NonEmpty (NonEmpty, fromList)
4542
import Data.Monoid (First (..))
46-
import qualified Data.Set as Set
4743
import Data.String (IsString (..))
48-
import Data.Text (Text, pack)
49-
import qualified Data.Text as Text
44+
import Data.Text (Text)
5045
import qualified Data.Vector as V
5146
import qualified System.Path as Path
5247

@@ -86,15 +81,6 @@ eval eval = \case
8681
Import ns -> S.simport ns >> dunit
8782

8883

89-
evalModule0 :: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m, Has (Dom val) sig m) => Term -> m (Module val)
90-
evalModule0 i = S.runStatement mk (eval0 i) where
91-
mk msgs b = pure (Module (const b) (Set.fromList (map (\ (S.Import cs) -> name (Text.intercalate (pack ".") (toList cs))) msgs)) mempty mempty)
92-
93-
evalModule :: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m, Has (Dom val) sig m) => (Term -> S.StatementC m val) -> (Term -> m (Module val))
94-
evalModule f i = S.runStatement mk (eval f i) where
95-
mk msgs b = pure (Module (const b) (Set.fromList (map (\ (S.Import cs) -> name (Text.intercalate (pack ".") (toList cs))) msgs)) mempty mempty)
96-
97-
9884
-- Macro-expressible syntax
9985

10086
let' :: (Has (Env addr) sig m, HasLabelled Store (Store addr val) sig m) => Name -> val -> m a -> m a

0 commit comments

Comments
 (0)