ModSysSem.lhs

  module ModSysSem(mProgram) where
 
  import Modules
  import CheckModules
  import ModSysAST
  import NamesEntities
  import Relations(Rel,emptyRel)













  mProgram ::
    [Module] -> Either [[ModSysErr]]
 		       [(Rel QName Entity,Rel Name Entity)]









  mProgram modules
    | not (all null errs) = Left errs
    | otherwise           = Right rels
    where
    rels = computeInsOuts (const emptyRel) modules
    errs = zipWith (chkModule expsOf) inscps modules
 
    (inscps,exps) = unzip rels
    expsOf m      = lookup m mod_exps
    mod_exps      = map modName modules `zip` exps





















Plain-text version of ModSysSem.lhs | Valid HTML?