{- |
Module : $Header$
Description : Environment of imported interfaces
Copyright : (c) 2002 - 2004 Wolfgang Lux
2011 - 2013 Björn Peemöller
License : BSD-3-clause
Maintainer : bjp@informatik.uni-kiel.de
Stability : experimental
Portability : portable
This module provides an environment for imported interfaces.
-}
module Env.Interface where
import qualified Data.Map as Map (Map, empty, lookup)
import Curry.Base.Ident (ModuleIdent)
import Curry.Syntax (Interface)
-- |Environment which maps the 'ModuleIdent' of an imported module
-- to the corresponding 'Interface'.
type InterfaceEnv = Map.Map ModuleIdent Interface
-- |Initial 'InterfaceEnv'.
initInterfaceEnv :: InterfaceEnv
initInterfaceEnv = Map.empty
-- |Lookup the 'Interface' for an imported module.
lookupInterface :: ModuleIdent -> InterfaceEnv -> Maybe Interface
lookupInterface = Map.lookup