1
1
mirror of https://github.com/github/semantic.git synced 2024-12-24 15:35:14 +03:00

Stub in a Function effect.

This commit is contained in:
Rob Rix 2018-07-23 09:15:16 -04:00
parent 9d307f5632
commit bc3b493f31
3 changed files with 8 additions and 2 deletions

View File

@ -16,7 +16,7 @@ module Analysis.Abstract.Graph
) where
import Algebra.Graph.Export.Dot hiding (vertexName)
import Control.Abstract
import Control.Abstract hiding (Function(..))
import Data.Abstract.Address
import Data.Abstract.Declarations
import Data.Abstract.Module (Module (moduleInfo), ModuleInfo (..))

View File

@ -4,6 +4,7 @@ module Control.Abstract.Value
, AbstractIntro(..)
, AbstractFunction(..)
, Comparator(..)
, Function(..)
, asBool
, while
, doWhile
@ -47,6 +48,11 @@ class Show value => AbstractFunction address value effects where
call :: value -> [Evaluator address value effects address] -> Evaluator address value effects address
data Function address value m result where
Function :: [Name] -> Set Name -> m address -> Function address value m value
Call :: value -> [address] -> Function address value m address
class Show value => AbstractIntro value where
-- | Construct an abstract unit value.
-- TODO: This might be the same as the empty tuple for some value types

View File

@ -25,7 +25,7 @@ import Control.Abstract.Environment as X hiding (runEnvironmentError, runEnviron
import Control.Abstract.Evaluator as X hiding (LoopControl(..), Return(..), catchLoopControl, runLoopControl, catchReturn, runReturn)
import Control.Abstract.Heap as X hiding (AddressError(..), runAddressError, runAddressErrorWith)
import Control.Abstract.Modules as X (Modules, ResolutionError(..), load, lookupModule, listModulesInDir, require, resolve)
import Control.Abstract.Value as X
import Control.Abstract.Value as X hiding (Function(..))
import Data.Abstract.Declarations as X
import Data.Abstract.Environment as X
import Data.Abstract.FreeVariables as X