mirror of
https://github.com/github/semantic.git
synced 2024-12-25 16:02:43 +03:00
Stub in a Function effect.
This commit is contained in:
parent
9d307f5632
commit
bc3b493f31
@ -16,7 +16,7 @@ module Analysis.Abstract.Graph
|
|||||||
) where
|
) where
|
||||||
|
|
||||||
import Algebra.Graph.Export.Dot hiding (vertexName)
|
import Algebra.Graph.Export.Dot hiding (vertexName)
|
||||||
import Control.Abstract
|
import Control.Abstract hiding (Function(..))
|
||||||
import Data.Abstract.Address
|
import Data.Abstract.Address
|
||||||
import Data.Abstract.Declarations
|
import Data.Abstract.Declarations
|
||||||
import Data.Abstract.Module (Module (moduleInfo), ModuleInfo (..))
|
import Data.Abstract.Module (Module (moduleInfo), ModuleInfo (..))
|
||||||
|
@ -4,6 +4,7 @@ module Control.Abstract.Value
|
|||||||
, AbstractIntro(..)
|
, AbstractIntro(..)
|
||||||
, AbstractFunction(..)
|
, AbstractFunction(..)
|
||||||
, Comparator(..)
|
, Comparator(..)
|
||||||
|
, Function(..)
|
||||||
, asBool
|
, asBool
|
||||||
, while
|
, while
|
||||||
, doWhile
|
, 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
|
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
|
class Show value => AbstractIntro value where
|
||||||
-- | Construct an abstract unit value.
|
-- | Construct an abstract unit value.
|
||||||
-- TODO: This might be the same as the empty tuple for some value types
|
-- TODO: This might be the same as the empty tuple for some value types
|
||||||
|
@ -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.Evaluator as X hiding (LoopControl(..), Return(..), catchLoopControl, runLoopControl, catchReturn, runReturn)
|
||||||
import Control.Abstract.Heap as X hiding (AddressError(..), runAddressError, runAddressErrorWith)
|
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.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.Declarations as X
|
||||||
import Data.Abstract.Environment as X
|
import Data.Abstract.Environment as X
|
||||||
import Data.Abstract.FreeVariables as X
|
import Data.Abstract.FreeVariables as X
|
||||||
|
Loading…
Reference in New Issue
Block a user