1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 22:31:36 +03:00

Evaluating has a linker effect

This commit is contained in:
joshvera 2018-02-22 16:31:07 -05:00
parent d1bedfb793
commit e7c4f6e4ae

View File

@ -2,6 +2,7 @@
module Analysis.Abstract.Evaluating3 where module Analysis.Abstract.Evaluating3 where
import Control.Effect import Control.Effect
import Control.Monad.Effect (Eff, Members)
import Control.Monad.Effect.Fail import Control.Monad.Effect.Fail
import Control.Monad.Effect.Reader import Control.Monad.Effect.Reader
import Control.Monad.Effect.Store2 import Control.Monad.Effect.Store2
@ -21,14 +22,17 @@ import qualified Data.Map as Map
import Data.Semigroup import Data.Semigroup
import Prelude hiding (fail) import Prelude hiding (fail)
import Data.Blob import Data.Blob
import Data.Maybe (fromMaybe)
import System.FilePath.Posix import System.FilePath.Posix
-- | The effects necessary for concrete interpretation. -- | The effects necessary for concrete interpretation.
type Evaluating term v type Evaluating term v
= '[ Fail = '[ Fail
, State (Store (LocationFor v) v) , State (Store (LocationFor v) v)
, State (EnvironmentFor v) , State (EnvironmentFor v)
, Reader (EnvironmentFor v) , Reader (EnvironmentFor v)
, Reader (Linker v)
] ]
-- | Evaluate a term to a value. -- | Evaluate a term to a value.