------------------------------------------------------------------------- -- -- UseStoreFun.hs -- -- Using an abstract data type StoreFun of stores of integers. -- -- (c) Addison-Wesley, 1996-2011. -- ------------------------------------------------------------------------- module UseStoreFun where import StoreFun -- A complex store. store :: Store store = Store -> Var -> Integer -> Store update (Store -> Var -> Integer -> Store update (Store -> Var -> Integer -> Store update Store initial Var 'a' Integer 4) Var 'b' Integer 5) Var 'a' Integer 3 -- Lookup 'a' in store3; can see that 'a' has the value 3 rather than 4. find :: Integer find = Store -> Var -> Integer value Store store Var 'a'