{-# OPTIONS_GHC -Wall #-} module DatabaseDesign.Ampersand ( -- Data Constructors: A_Context , P_Context(..), P_Population(..), PairView(..), PairViewSegment(..), SrcOrTgt(..), P_Rule(..), Term(..), TermPrim(..), P_Sign(..), P_Concept(..), P_Declaration(..), P_Pattern(..), P_Gen(..) , P_Markup(..), PRef2Obj(..), PPurpose(..), PMeaning(..), Meta(..), MetaObj(..) , A_Concept(..), A_Gen(..) , Sign(..), ConceptDef(..), ConceptStructure(..) , Activity(..) , AMeaning(..) , Quad(..), RuleClause(..) , Fswitchboard(..), ECArule(..), Event(..), InsDel(..) -- (required for --haskell output) , Pattern(..) , Declaration(..) , IdentityDef(..) , ViewDef(..) , IdentitySegment(..) , ViewSegment(..) , Expression(..) , Population(..) , Fspc(..), concDefs , PlugSQL(..), SqlField(..), SqlType(..), PlugInfo(..) , PAclause(..) , Rule(..) , Process(..) , FProcess(..) , Prop(..), RuleOrigin(..) , Lang(..) , SqlFieldUsage(..) , DnfClause(..), Clauses(..) , Options(..), DocTheme(..) , Picture(..), writePicture , PictureReq(..), makePicture , FilePos(..), Origin(..), Pos(Pos) , FPA(..), FPcompl(..) , mkPair -- * Classes: , Association(..), flp , Collection(..) , Identified(..) , ProcessStructure(..) , ObjectDef(..) , Relational(..) , Interface(..) , SubInterface(..) , Object(..) , Plugable(..) , Motivated(..) , Traced(..) , Language(..) , FPAble(..) , ShowHS(..), ShowHSName(..), haskellIdentifier -- * Functions on concepts , (<==>),meet,join,sortWith,atomsOf , smallerConcepts, largerConcepts, rootConcepts -- * Functions on relations -- * Functions on rules -- * Functions on expressions: , conjNF, disjNF, simplify , cfProof,dfProof,nfProof,normPA , lookupCpt , showPrf , notCpl, isCpl, isPos, isNeg, foldrMapExpression , (.==.), (.|-.), (./\.), (.\/.), (.-.), (./.), (.\.), (.<>.), (.:.), (.!.), (.*.) , deMorganERad, deMorganECps, deMorganEUni, deMorganEIsc , exprUni2list, exprIsc2list, exprCps2list, exprRad2list, exprPrd2list -- * Functions with plugs: , plugFields, tblcontents, plugpath, fldauto, requires, requiredFields, isPlugIndex -- * Parser related stuff , parseADL1pExpr, CtxError , createFspec , getGeneralizations, getSpecializations -- * Type checking and calculus , Guarded(..), pCtx2aCtx , makeFspec -- * Generators of output , generateAmpersandOutput -- * Prettyprinters , ShowADL(..), showSQL, showSign -- * Functions with Options , getOptions , verboseLn, verbose , FileFormat(..),helpNVersionTexts -- * Other functions , eqCl, showErr, unCap,upCap,escapeNonAlphaNum, fatalMsg , ampersandVersionStr, ampersandVersionWithoutBuildTimeStr , DatabaseDesign.Ampersand.Basics.putStr , DatabaseDesign.Ampersand.Basics.hGetContents , DatabaseDesign.Ampersand.Basics.hPutStr , DatabaseDesign.Ampersand.Basics.hPutStrLn , DatabaseDesign.Ampersand.Basics.readFile , DatabaseDesign.Ampersand.Basics.writeFile -- * Stuff that should probably not be in the prototype , A_Markup(..), blocks2String, aMarkup2String, PandocFormat(..), Meaning(..) , rulefromProp , fullContents, Paire, srcPaire,trgPaire , Purpose(..), ExplObj(..) ) where import DatabaseDesign.Ampersand.Core.AbstractSyntaxTree import DatabaseDesign.Ampersand.Fspec.Fspec import DatabaseDesign.Ampersand.Fspec.FPA import DatabaseDesign.Ampersand.ADL1 import DatabaseDesign.Ampersand.Classes import DatabaseDesign.Ampersand.Basics import DatabaseDesign.Ampersand.Fspec import DatabaseDesign.Ampersand.Input import DatabaseDesign.Ampersand.Misc import DatabaseDesign.Ampersand.Components import DatabaseDesign.Ampersand.ADL1.Expression (isPos,isNeg,foldrMapExpression) import DatabaseDesign.Ampersand.Fspec.ToFspec.NormalForms import DatabaseDesign.Ampersand.InputProcessing import DatabaseDesign.Ampersand.ADL1.P2A_Converters