The Programatica Haskell front-end

This index shows the modules that are part of the main Programatica Haskell front-end. This includes

In the listing below, directory names are linked to the corresponding README file.

Modules

Directory base/AST - Abstract Syntax (non-recursive structure)

  1. BaseSyntax, BaseSyntaxMaps, BaseSyntaxPretty, BaseSyntaxStruct, BaseSyntaxUtil
  2. HasBaseName
  3. HasBaseStruct
  4. HsAssoc, HsAssocPretty, HsAssocStruct, HsAssocUtil
  5. HsConstants
  6. HsDecl, HsDeclMaps, HsDeclPretty, HsDeclStruct, HsDeclUtil
  7. HsExp, HsExpMaps, HsExpPretty, HsExpStruct, HsExpUtil
  8. HsFields, HsFieldsMaps, HsFieldsPretty, HsFieldsStruct
  9. HsGuards, HsGuardsMaps, HsGuardsPretty, HsGuardsStruct, HsGuardsUtil
  10. HsIdent, HsIdentPretty
  11. HsKind, HsKindMaps, HsKindPretty, HsKindStruct, HsKindUtil
  12. HsLiteral, HsLiteralPretty
  13. HsModule, HsModuleMaps, HsModulePretty
  14. HsName
  15. HsPat, HsPatMaps, HsPatPretty, HsPatStruct, HsPatUtil
  16. HsTypeMaps, HsTypePretty, HsTypeStruct, HsTypeUtil
  17. SpecialNames
  18. SrcLoc, SrcLocPretty

Directory base/defs - Scoping (name resolution)

  1. DefinedNames, DefinedNamesBase, DefinedNamesBaseStruct
  2. FreeNames, FreeNamesBase, FreeNamesBaseStruct
  3. NameMaps
  4. NameMapsBase, NameMapsBaseStruct
  5. PNT
  6. ReAssoc, ReAssocBase, ReAssocBaseStruct
  7. ReAssocModule
  8. ScopeModule
  9. ScopeNames, ScopeNamesBase, ScopeNamesBaseStruct
  10. UniqueNames

Directory base/lib - General utility library

  1. AbstractIO
  2. AccList
  3. CmdLineParser3
  4. DirUtils
  5. FileUtils
  6. FiniteMap
  7. Lift
  8. Lists
  9. MUtils
  10. NewSCC
  11. OpTypes
  12. PathUtils
  13. Products
  14. Recursive
  15. Sets
  16. SimpleGraphs
  17. SIO
  18. Statistics
  19. Unlit
  20. UTF8, UTF8Util

Directory base/lib/Monads - Iavor's Monads and Monad Transformers

  1. Control_Monad_Fix
  2. EnvM, EnvMT
  3. ExceptMT
  4. IdM
  5. ImpUtils
  6. IxEnvM, IxEnvMT
  7. IxOutputM
  8. IxStateM, IxStateMT
  9. MT
  10. OutputM
  11. StateM, StateMT
  12. Tree

Directory base/Modules - Haskell Module System

  1. AST4ModSys
  2. CheckModules
  3. Ents
  4. ModSysAST
  5. Modules
  6. Names
  7. NamesEntities
  8. PPModules
  9. QualNames
  10. Relations
  11. SCMs
  12. TypedIds
  13. WorkModule

Directory base/parse2 - Haskell 98 Parser

  1. LexUtil
  2. NumberNames
  3. ParseMonad
  4. ParserOptions
  5. PosName
  6. SourceNames

Directory base/parse2/Lexer - The Haskell Lexer (generated and hand-written modules)

  1. HsLayoutPre
  2. HsLex
  3. HsLexer
  4. HsLexerPass1
  5. HsLexerPos
  6. HsLexMerge
  7. HsLexUtils
  8. HsTokens

Directory base/parse2/Parser - Haskell 98 Happy Parser

  1. HsParser
  2. ParseUtil
  3. PosSyntax

Directory base/pretty - Pretty Printing Library

  1. NewPrettyPrint
  2. PPU
  3. PrettyDoc
  4. PrettyEnv
  5. PrettyPrint
  6. PrettyPrint2
  7. PrettyStd
  8. PrettySymbols
  9. PrettyUtil
  10. TokenTags

Directory base/syntax - Base Language Abstract Syntax Knot-tying recursive definitions

  1. Syntax, SyntaxRec, SyntaxRecPretty

Directory base/TI - Type Inference Infrastructure and Type Inference for the Base Language

  1. NameMapsDecorate
  2. OrigTiMonad
  3. TI
  4. TiBase, TiBaseStruct
  5. TiBySuper
  6. TiClasses
  7. TiClassInst
  8. TiClassInst2
  9. TiConstraints
  10. TiContextReduction
  11. TiD
  12. TiDecorate
  13. TiDefault
  14. TiDefinedNames
  15. TiDerivedInstances
  16. TiDinst
  17. TiDkc
  18. TiDs
  19. TiE
  20. TiEnvFM
  21. TiError
  22. TiFields
  23. TiFreeNames
  24. TiFresh
  25. TiFunDeps
  26. TiGeneralize
  27. TiHsName
  28. TiInstanceDB
  29. TiKEnv
  30. TiKinds
  31. TiLit
  32. TiModule
  33. TiMonad
  34. TiNameMaps
  35. TiNames
  36. TiP
  37. TiPNT
  38. TiPrelude
  39. TiPretty
  40. TiRhs
  41. TiSCC
  42. TiSolve
  43. TiT
  44. TiTEnv
  45. TiTypes
  46. TiUtil
  47. Unification

Directory base/transforms - Program transformation

  1. BetaReduce
  2. FieldSelectors
  3. MapDeclM, MapDeclMBase, MapDeclMBaseStruct
  4. RemoveListComp, RemoveListCompBase
  5. RemovePatBinds
  6. SimpFieldLabels
  7. SimpFunBind
  8. SimpPatMatch, SimpPatMatchBase
  9. Substitute, SubstituteBase, SubstituteBaseStruct

Directory base/transforms/Deriving - Derived instance code generation

  1. Deriving
  2. DerivingBounded
  3. DerivingEnum
  4. DerivingEq
  5. DerivingIx
  6. DerivingOrd
  7. DerivingRead
  8. DerivingShow
  9. DerivingUtils

Directory hs2alfa - Haskell-to-Alfa translator

  1. Main{-hs2alfa/apfe.hs-}
  2. BaseStruct2Alfa
  3. PfeAlfaCmds
  4. Prop2Alfa
  5. USCC

Directory hs2alfa/AlfaSource

  1. AbstractOps
  2. UAbstract
  3. UAnnots
  4. UFree
  5. UMatch
  6. UMetaVar
  7. USubstitute
  8. Utils2

Directory hs2html - Haskell-to-HTML renderer

  1. ConvRefsTypes
  2. HLex2html
  3. HLexTagModuleNames
  4. LitTxt
  5. MyDoc
  6. MyDoc2HTML
  7. ParseMyDoc
  8. RefsTypes

Directory hs2stratego - Haskell-to-Stratego (Plover) translator

  1. Base2Stratego2
  2. BaseStruct2Stratego2
  3. Prop2Stratego2
  4. PropStruct2Stratego2
  5. StrategoCmds
  6. TiBase2Stratego2
  7. TiProp2Stratego2

Directory hs2stratego/AST

  1. Parentheses
  2. StrategoAST2
  3. StrategoDecl
  4. StrategoPattern
  5. StrategoProp
  6. StrategoTerm
  7. StrategoType

Directory pfe - Programatica Front-end Framework and command-line interface

  1. Now
  2. Main{-pfe/pfe.hs-}
  3. PFE0
  4. Pfe0Cmds
  5. Pfe1Cmds
  6. PFE2
  7. Pfe2Cmds
  8. PFE3
  9. Pfe3Cmds
  10. Pfe3Metrics
  11. PFE4
  12. Pfe4Cmds
  13. PfeChase
  14. PfeCleanCmd
  15. Main{-pfe/pfeclient.hs-}
  16. PfeDepCmds
  17. PFEdeps
  18. PfeHtmlCmds
  19. PfeInteractive
  20. PfeParse
  21. PfeSocket
  22. PfeTransformCmds
  23. PfeVersionCmd
  24. PFE_HTML
  25. PFE_Rewrite
  26. PFE_Rewrites
  27. PFE_StdNames

Directory property - The Plogic extension

  1. Main{-property/ppfe.hs-}
  2. PPfeCmds
  3. PPfeInstances
  4. PPfeMain

Directory property/../hs2isabelle

  1. BaseStruct2Isabelle
  2. IsabelleCmds
  3. Prop2Isabelle
  4. PropStruct2Isabelle

Directory property/../hs2isabelle/AST

  1. IsabelleAST
  2. IsabelleDecl
  3. IsabelleProp
  4. IsabelleTerm
  5. IsabelleType
  6. Mixfix

Directory property/AST - AST for the Plogic extention (non-recursive structure)

  1. HsPropMaps, HsPropPretty, HsPropStruct

Directory property/defs - Scoping (name resolution) for the Plogic extension

  1. DefinedNamesProp, DefinedNamesPropStruct
  2. FreeNamesProp, FreeNamesPropStruct
  3. NameMapsProp, NameMapsPropStruct
  4. ReAssocProp, ReAssocPropStruct
  5. ScopeNamesProp, ScopeNamesPropStruct

Directory property/parse2 - Parser for Haskell + the Plogic extension

  1. PropLexer

Directory property/parse2/Parser

  1. PropParser
  2. PropParseUtil
  3. PropPlogic
  4. PropPosSyntax

Directory property/pfe - Command-line interface additions for the Plogic extension

  1. Attrs
  2. CertAttrs
  3. CertServers
  4. OneLineAttrs
  5. ParseAttrs
  6. ParseCertAttrs
  7. PfePropCmds
  8. PFE_Certs

Directory property/syntax - Knot-tying recursive definitions for the Plogic extention AST

  1. HasPropStruct
  2. PropSyntax, PropSyntaxRec, PropSyntaxStruct

Directory property/TI - Type inference for the Plogic extension

  1. NameMapsPropDecorate
  2. TiProp
  3. TiPropDecorate
  4. TiPropInstances
  5. TiPropStruct

Directory property/transforms - Program transformation for the Plogic extension

  1. MapDeclMProp, MapDeclMPropStruct
  2. RemoveListCompProp
  3. SimpPatMatchProp
  4. SubstituteProp, SubstitutePropStruct
  5. ToQC
2009-01-04