-- $Id: Environments.hs,v 1.4 1998/02/22 18:11:21 leavens Exp $

-- AUTHOR: Gary T. Leavens

module Environments (module Environments, module FinFun) where
import FinFun

-- Environments		   

emptyEnv :: FiniteFun identifier denotableValue
emptyEnv = []

applyEnv :: Eq identifier =>
	      FiniteFun identifier denotableValue
              -> identifier
	      -> Maybe denotableValue
applyEnv f i = lookup i f

dot :: Eq identifier =>
             FiniteFun identifier denotableValue
	     -> identifier
	     -> denotableValue
env `dot` id = (case applyEnv env id of
                  (Just dv) -> dv
                  _ -> error "type error")
