X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FcoreSyn%2FTaggedCore.lhs;fp=ghc%2Fcompiler%2FcoreSyn%2FTaggedCore.lhs;h=0000000000000000000000000000000000000000;hb=6c381e873e222417d9a67aeec77b9555eca7b7a8;hp=9af8bb15b7465832802b5905c8507bc3cb85d8c7;hpb=8147a9f0bcc48ef0db1e91f8b985a4f5c3fed560;p=ghc-hetmet.git diff --git a/ghc/compiler/coreSyn/TaggedCore.lhs b/ghc/compiler/coreSyn/TaggedCore.lhs deleted file mode 100644 index 9af8bb1..0000000 --- a/ghc/compiler/coreSyn/TaggedCore.lhs +++ /dev/null @@ -1,93 +0,0 @@ -% -% (c) The GRASP/AQUA Project, Glasgow University, 1992-1995 -% -\section[TaggedCore]{``Tagged binder'' core syntax (including \tr{Simplifiable*})} - -This module defines a particular parameterisation of the @CoreSyntax@ -data type. For ``binders,'' we use a pair: an @Id@ (the actual -binder) and a ``tag''---any old thing we want to pin on. -Bindees are @Ids@, as usual. - -By far the prevalent use is with a ``tag'' of a @BinderInfo@, as used -in the simplifier. So we have a full swatch of synonyms for -\tr{Simplifiable} this and that. - -\begin{code} -#include "HsVersions.h" - -module TaggedCore ( - TaggedBinder(..), TaggedCoreBinding(..), TaggedCoreExpr(..), - TaggedCoreAtom(..), TaggedCoreCaseAlternatives(..), - TaggedCoreCaseDefault(..), -#ifdef DPH - TaggedCoreParQuals(..), - TaggedCoreParCommunicate(..), - CoreParCommunicate(..), - CoreParQuals(..), -#endif - unTagBinders, unTagBindersAlts, - - CoreArg(..), applyToArgs, decomposeArgs, collectArgs, - - SimplifiableBinder(..), SimplifiableCoreBinding(..), - SimplifiableCoreExpr(..), SimplifiableCoreAtom(..), - SimplifiableCoreCaseAlternatives(..), - SimplifiableCoreCaseDefault(..), -#ifdef DPH - SimplifiableCoreParQuals(..), - SimplifiableCoreParCommunicate(..), -#endif - - CoreBinding(..), CoreExpr(..), CoreAtom(..), -- re-exported - CoreCaseAlternatives(..), CoreCaseDefault(..), - - -- and to make the interface self-sufficient ... - Outputable(..), NamedThing(..), - ExportFlag, Pretty(..), PprStyle, PrettyRep, - - BasicLit, BinderInfo, GlobalSwitch, Id, PrimOp, CostCentre, - SrcLoc, TyCon, TyVar, UniType, Unique - ) where - -import CoreFuns ( unTagBinders, unTagBindersAlts, digForLambdas ) -import CoreSyn -- mostly re-exporting this stuff -import BinderInfo ( BinderInfo ) -import Outputable -import Util -\end{code} - -\begin{code} -type TaggedBinder tag = (Id, tag) - -type TaggedCoreProgram tag = [CoreBinding (TaggedBinder tag) Id] -type TaggedCoreBinding tag = CoreBinding (TaggedBinder tag) Id -type TaggedCoreExpr tag = CoreExpr (TaggedBinder tag) Id -type TaggedCoreAtom tag = CoreAtom Id - -#ifdef DPH -type TaggedCoreParQuals tag = CoreParQuals (TaggedBinder tag) Id -type TaggedCoreParCommunicate tag - = CoreParCommunicate (TaggedBinder tag) Id -#endif {- Data Parallel Haskell -} - -type TaggedCoreCaseAlternatives tag = CoreCaseAlternatives (TaggedBinder tag) Id -type TaggedCoreCaseDefault tag = CoreCaseDefault (TaggedBinder tag) Id -\end{code} - -\begin{code} -type SimplifiableBinder = (Id, BinderInfo) - -type SimplifiableCoreProgram = [CoreBinding SimplifiableBinder Id] -type SimplifiableCoreBinding = CoreBinding SimplifiableBinder Id -type SimplifiableCoreExpr = CoreExpr SimplifiableBinder Id -type SimplifiableCoreAtom = CoreAtom Id - -#ifdef DPH -type SimplifiableCoreParQuals = CoreParQuals SimplifiableBinder Id -type SimplifiableCoreParCommunicate - = CoreParCommunicate SimplifiableBinder Id -#endif {- Data Parallel Haskell -} - -type SimplifiableCoreCaseAlternatives = CoreCaseAlternatives SimplifiableBinder Id -type SimplifiableCoreCaseDefault = CoreCaseDefault SimplifiableBinder Id -\end{code}