Plain source file: pfe/pfe.hs (2005-10-11)

--import System(getArgs)
import PPU(getPPopts)

import HsParser(parse)
import HsLexerPass1(lexerPass0)
--import DefinedNamesBase()
import FreeNamesBase()
import ScopeNamesBase()
import NameMapsBase()
import ReAssocBase()
import RemoveListCompBase()
import SimpPatMatchBase()

import TiDecorate(TiDecls) -- to choose result type from the type checker
import HsModule

import Pfe0Cmds(addHelpCmd)
import Pfe4Cmds(pfe4Cmds)
import PFE4(PFE4Info)
import Pfe3Metrics(pfe3MetricsCmds)
import PFEdeps(clean5)
import PfeHtmlCmds(pfeHtmlCmds)
import PfeChase(pfeChaseCmds)
import PfeTransformCmds(pfeTransformCmds)
import PfeDepCmds(runPFE5Cmds,pfeDepCmds)
import PfeCleanCmd(pfeCleanCmd)
import PfeInteractive(pfeiAllCmds,runSIO)
import MapDeclMBase() -- for removing pattern bindings in PfeTransformCmds.
--import RemoveIrrefPatsBase()

main =
  do ao@(opts,prg,args) <- getPPopts
     let lp = (const lexerPass0,parse)
     runSIO (runPFE5Cmds () (pfeiAllCmds pfeCmds prg) lp ao)

pfeCmds = pfe4Cmds tcOutput++pfe3MetricsCmds++pfeTransformCmds
          ++pfeChaseCmds++pfeHtmlCmds++pfeDepCmds++pfeCleanCmd clean5

tcOutput = id :: I (PFE4Info i2 (TiDecls i2))
--tcOutput = id :: I [[HsModuleR]]
type I a = a->a


(HTML for this module was generated on 2009-01-04. About the conversion tool.)