-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | An implementation of the Bluespec Haskell AST
--   
--   This package contains an implementation of the <a>Bluespec</a>
--   language's AST. In particular, this implements the Bluespec Haskell
--   (BH) syntax, also known as Bluespec Classic. We may add support for
--   the Bluespec SystemVerilog (BSV) syntax at a later date. To our
--   knowledge, there is no formal grammar that describes the syntax of BH
--   or BSV, so this package is based off of the code in the
--   &lt;<a>https://github.com/B-Lang-org/bsc</a> Bluespec compiler&gt;.
--   Although the Bluespec compiler is written in Haskell, it is not
--   particularly simple to depend on the compiler as a library, so this
--   package exists to extract out the relevant compiler code into a
--   simple-to-use library.
@package language-bluespec
@version 0.1

module Language.Bluespec.Classic.AST.SString
type SString = Text

module Language.Bluespec.Lex
isIdChar :: Char -> Bool
isSym :: Char -> Bool

module Language.Bluespec.Classic.AST.Undefined
data UndefKind
UNotUsed :: UndefKind
UDontCare :: UndefKind
UNoMatch :: UndefKind
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Undefined.UndefKind
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Undefined.UndefKind
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Undefined.UndefKind

module Language.Bluespec.Classic.AST.Position
data Position
NoPos :: Position
bestPosition :: Position -> Position -> Position
noPosition :: Position
updatePosStdlib :: Position -> Bool -> Position
class HasPosition a
getPosition :: HasPosition a => a -> Position
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Position.Position
instance (Language.Bluespec.Classic.AST.Position.HasPosition a, Language.Bluespec.Classic.AST.Position.HasPosition b) => Language.Bluespec.Classic.AST.Position.HasPosition (GHC.Internal.Data.Either.Either a b)
instance Language.Bluespec.Classic.AST.Position.HasPosition a => Language.Bluespec.Classic.AST.Position.HasPosition [a]
instance Language.Bluespec.Classic.AST.Position.HasPosition GHC.Internal.Base.String
instance Language.Bluespec.Classic.AST.Position.HasPosition a => Language.Bluespec.Classic.AST.Position.HasPosition (GHC.Internal.Maybe.Maybe a)
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Position.Position
instance (Language.Bluespec.Classic.AST.Position.HasPosition a, Language.Bluespec.Classic.AST.Position.HasPosition b) => Language.Bluespec.Classic.AST.Position.HasPosition (a, b)
instance (Language.Bluespec.Classic.AST.Position.HasPosition a, Language.Bluespec.Classic.AST.Position.HasPosition b, Language.Bluespec.Classic.AST.Position.HasPosition c) => Language.Bluespec.Classic.AST.Position.HasPosition (a, b, c)
instance (Language.Bluespec.Classic.AST.Position.HasPosition a, Language.Bluespec.Classic.AST.Position.HasPosition b, Language.Bluespec.Classic.AST.Position.HasPosition c, Language.Bluespec.Classic.AST.Position.HasPosition d) => Language.Bluespec.Classic.AST.Position.HasPosition (a, b, c, d)
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Position.Position
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Position.Position
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Position.Position

module Language.Bluespec.Classic.AST.IntLit
data IntLit
IntLit :: Maybe Integer -> Integer -> Integer -> IntLit
[ilWidth] :: IntLit -> Maybe Integer
[ilBase] :: IntLit -> Integer
[ilValue] :: IntLit -> Integer
ilDec :: Integer -> IntLit
ilSizedDec :: Integer -> Integer -> IntLit
ilHex :: Integer -> IntLit
ilSizedHex :: Integer -> Integer -> IntLit
ilBin :: Integer -> IntLit
ilSizedBin :: Integer -> Integer -> IntLit
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.IntLit.IntLit
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.IntLit.IntLit
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.IntLit.IntLit
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.IntLit.IntLit

module Language.Bluespec.Classic.AST.Literal
data Literal
LString :: String -> Literal
LChar :: Char -> Literal
LInt :: IntLit -> Literal
LReal :: Double -> Literal
LPosition :: Literal
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Literal.Literal
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Literal.Literal
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Literal.Literal
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Literal.Literal

module Language.Bluespec.Classic.AST.FString
data FString
getFString :: FString -> String
mkFString :: String -> FString
tmpFString :: Int -> String -> FString
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.FString.FString
instance GHC.Internal.Data.String.IsString Language.Bluespec.Classic.AST.FString.FString
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.FString.FString
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.FString.FString
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.FString.FString

module Language.Bluespec.Pretty
type PDetail = PrettyLevel
pdReadable :: PDetail
pdAll :: PDetail
pdDebug :: PDetail
pdMark :: PDetail
pdInfo :: PDetail
pdNoqual :: PDetail
ppReadable :: Pretty a => a -> String
ppReadableIndent :: Pretty a => Int -> a -> String
ppAll :: Pretty a => a -> String
ppDebug :: Pretty a => a -> String
pparen :: Bool -> Doc -> Doc
sepList :: [Doc] -> Doc -> Doc
ppr :: Pretty a => PDetail -> a -> String
maxPrec :: Int
s2par :: String -> Doc

module Language.Bluespec.Classic.AST.SchedInfo
data SchedInfo idtype
SchedInfo :: MethodConflictInfo idtype -> [((idtype, idtype), [idtype])] -> [(idtype, [Either idtype idtype])] -> [idtype] -> SchedInfo idtype
[methodConflictInfo] :: SchedInfo idtype -> MethodConflictInfo idtype
[rulesBetweenMethods] :: SchedInfo idtype -> [((idtype, idtype), [idtype])]
[rulesBeforeMethods] :: SchedInfo idtype -> [(idtype, [Either idtype idtype])]
[clockCrossingMethods] :: SchedInfo idtype -> [idtype]
data MethodConflictInfo idtype
MethodConflictInfo :: [(idtype, idtype)] -> [(idtype, idtype)] -> [[idtype]] -> [(idtype, idtype)] -> [(idtype, idtype)] -> [(idtype, idtype)] -> [idtype] -> MethodConflictInfo idtype
[sCF] :: MethodConflictInfo idtype -> [(idtype, idtype)]
[sSB] :: MethodConflictInfo idtype -> [(idtype, idtype)]
[sME] :: MethodConflictInfo idtype -> [[idtype]]
[sP] :: MethodConflictInfo idtype -> [(idtype, idtype)]
[sSBR] :: MethodConflictInfo idtype -> [(idtype, idtype)]
[sC] :: MethodConflictInfo idtype -> [(idtype, idtype)]
[sEXT] :: MethodConflictInfo idtype -> [idtype]
makeMethodConflictDocs :: Ord idtype => (idtype -> Doc) -> (idtype -> String) -> String -> String -> MethodConflictInfo idtype -> [Doc]
instance GHC.Classes.Eq idtype => GHC.Classes.Eq (Language.Bluespec.Classic.AST.SchedInfo.MethodConflictInfo idtype)
instance GHC.Classes.Eq idtype => GHC.Classes.Eq (Language.Bluespec.Classic.AST.SchedInfo.SchedInfo idtype)
instance GHC.Classes.Ord idtype => GHC.Classes.Ord (Language.Bluespec.Classic.AST.SchedInfo.MethodConflictInfo idtype)
instance GHC.Classes.Ord idtype => GHC.Classes.Ord (Language.Bluespec.Classic.AST.SchedInfo.SchedInfo idtype)
instance (Text.PrettyPrint.HughesPJClass.Pretty idtype, GHC.Classes.Ord idtype) => Text.PrettyPrint.HughesPJClass.Pretty (Language.Bluespec.Classic.AST.SchedInfo.MethodConflictInfo idtype)
instance (Text.PrettyPrint.HughesPJClass.Pretty idtype, GHC.Classes.Ord idtype) => Text.PrettyPrint.HughesPJClass.Pretty (Language.Bluespec.Classic.AST.SchedInfo.SchedInfo idtype)
instance GHC.Internal.Show.Show idtype => GHC.Internal.Show.Show (Language.Bluespec.Classic.AST.SchedInfo.MethodConflictInfo idtype)
instance GHC.Internal.Show.Show idtype => GHC.Internal.Show.Show (Language.Bluespec.Classic.AST.SchedInfo.SchedInfo idtype)

module Language.Bluespec.Classic.AST.Builtin.FStrings
fsEmpty :: FString
fsUnderscore :: FString
fsUnderUnder :: FString
fsDot :: FString
fsRArrow :: FString
fsBar :: FString
fsStar :: FString
fsSlash :: FString
fsPercent :: FString
fsStarStar :: FString
fsHash :: FString
fsTilde :: FString
fsTyJoin :: FString
fsAssign :: FString
fsDollar :: FString
fsLT :: FString
fsGT :: FString
fsLTGT :: FString
fsComma :: FString
fsPlus :: FString
fsMinus :: FString
fsLsh :: FString
fsRsh :: FString
fsLtEq :: FString
fsGtEq :: FString

-- | Scheduling conflict operator for Classic
fsConfOp :: FString
fsPrelude :: FString
fsPreludeBSV :: FString
fsPrimUnit :: FString
fsBit :: FString
fsInt :: FString
fsUInt :: FString
fsClock :: FString
fsClockOsc :: FString
fsClockGate :: FString
fsReset :: FString
fsInout :: FString
fsInout_ :: FString
fsPrimInoutCast :: FString
fsPrimInoutUncast :: FString
fsPrimInoutCast0 :: FString
fsPrimInoutUncast0 :: FString
fsInteger :: FString
fsReal :: FString
fsMonad :: FString
fsString :: FString
fsChar :: FString
fsHandle :: FString
fsBufferMode :: FString
fsNoBuffering :: FString
fsLineBuffering :: FString
fsBlockBuffering :: FString
fsFmt :: FString
fsPrimFmtConcat :: FString
fsPrimPriMux :: FString
fsFormat :: FString
fsFShow :: FString
fsfshow :: FString
fsBool :: FString
fsPrimFst :: FString
fsPrimSnd :: FString
fsPrimPair :: FString
fsTrue :: FString
fsFalse :: FString
fsSizeOf :: FString
fsEq :: FString
fsBits :: FString
fsLiteral :: FString
fsRealLiteral :: FString
fsSizedLiteral :: FString
fsStringLiteral :: FString
fsPrimParam :: FString
fsPrimPort :: FString
fsPrimToParam :: FString
fsPrimToPort :: FString
fsPrimSeqCond :: FString
fsPrimDeepSeqCond :: FString
fsClsDeepSeqCond :: FString
fsUndefined :: FString
fsBuildUndef :: FString
fsMakeUndef :: FString
fsRawUndef :: FString
fsEqual :: FString
fsNotEqual :: FString
fsPrimOrd :: FString
fsPrimChr :: FString
fsPack :: FString
fsUnpack :: FString
fsVReg :: FString
fsReg :: FString
fsRWire :: FString
fsPulseWire :: FString
fsFIFO :: FString
fsFIFOF :: FString
fsAction :: FString
fsPrimAction :: FString
fsToPrimAction :: FString
fsFromPrimAction :: FString
fsToActionValue_ :: FString
fsFromActionValue_ :: FString
fsActionValue :: FString
fsAVValue :: FString
fsAVAction :: FString
fsActionValue_ :: FString
fsAVValue_ :: FString
fsAVAction_ :: FString
fs__value :: FString
fs__action :: FString
fsMethodReturn :: FString
fsRules :: FString
fsSchedPragma :: FString
fsModule :: FString
fsId :: FString
fsPred :: FString
fsIsModule :: FString
fsPrimModule :: FString
fsName :: FString
fsGetModuleName :: FString
fsPosition :: FString
fsType :: FString
fsTypeOf :: FString
fsSavePortType :: FString
fsPrintType :: FString
fsNoPosition :: FString
fsPrimGetEvalPosition :: FString
fsPrimGetName :: FString
fsPrimGetParamName :: FString
fsPrimJoinNames :: FString
fsPrimExtNameIdx :: FString
fsSetStateName :: FString
fsForceIsModule :: FString
fsAttributes :: FString
fsSetStateAttrib :: FString
fsAdd :: FString
fsMax :: FString
fsMin :: FString
fsLog :: FString
fsMul :: FString
fsDiv :: FString
fsNumEq :: FString
fsAnd :: FString
fsOr :: FString
fsBitAnd :: FString
fsBitOr :: FString
fsCaret :: FString
fsTildeCaret :: FString
fsCaretTilde :: FString
fsReduceAnd :: FString
fsReduceOr :: FString
fsReduceXor :: FString
fsReduceNand :: FString
fsReduceNor :: FString
fsReduceXnor :: FString
fsNot :: FString
fsPrimSplit :: FString
fsPrimConcat :: FString
fsPrimMul :: FString
fsPrimQuot :: FString
fsPrimRem :: FString
fsPrimTrunc :: FString
fs_lam :: FString
fs_if :: FString
fs_read :: FString
fs_write :: FString
fsAsIfc :: FString
fsAsReg :: FString
fsRead :: FString
fsRegWrite :: FString
fsExtract :: FString
fsFromInteger :: FString
fsFromReal :: FString
fsFromSizedInteger :: FString
fsFromString :: FString
fsPrimCharToString :: FString
fs_case :: FString
fsPrimWhen :: FString
fsBind :: FString
fsBind_ :: FString
fsReturn :: FString
fs_x :: FString
fs_y :: FString
fs_fun :: FString
fs_forallb :: FString
fsBounded :: FString
fsMaxBound :: FString
fsMinBound :: FString
fsDefaultValue :: FString
fs_defaultValue :: FString
fsPrimSplitFst :: FString
fsPrimSplitSnd :: FString
fsTo :: FString
fsFrom :: FString
fs_t :: FString
fsMux :: FString
fsMuxSel :: FString
fsMuxPreSel :: FString
fsMuxVal :: FString
fsEnable :: FString
fs_rdy :: FString
fs_rl :: FString
fs_unnamed :: FString
s_unnamed :: String
fs_T :: FString
fs_F :: FString
fsCanFire :: FString
fsWillFire :: FString
fsCLK :: FString
fsCLK_GATE :: FString
fsDefaultClock :: FString
fsDefaultReset :: FString
fsPrimStringConcat :: FString
fsNoinline :: FString
fsLiftM :: FString
fsLiftModule :: FString
fsPrimBAnd :: FString
fsPrimBOr :: FString
fsPrimBNot :: FString
fsPrimIf :: FString
fsPrimCase :: FString
fsPrimArrayDynSelect :: FString
fsPrimBuildArray :: FString
fsPrimSelect :: FString
fsPrimSelectable :: FString
fsPrimUpdateable :: FString
fsPrimWriteable :: FString
fsPrimSelectFn :: FString
fsPrimUpdateFn :: FString
fsPrimWriteFn :: FString
fsPrimIndex :: FString
fsPrimUpdateRangeFn :: FString
fsPrimZeroExt :: FString
fsPrimSignExt :: FString
fsPrimValueOf :: FString
fsPrimStringOf :: FString
fsStringProxy :: FString
fsPrimJoinRules :: FString
fsPrimNoRules :: FString
fsPrimRule :: FString
fsPrimAddSchedPragmas :: FString
fsPrimJoinActions :: FString
fsPrimNoActions :: FString
fsPrimNoExpIf :: FString
fsPrimExpIf :: FString
fsPrimNosplitDeep :: FString
fsPrimSplitDeep :: FString
fsSplitDeepAV :: FString
fsNosplitDeepAV :: FString
fsPrimInv :: FString
fsPrimEQ :: FString
fsPrimULE :: FString
fsPrimULT :: FString
fsPrimSLE :: FString
fsPrimSLT :: FString
fsPrimSL :: FString
fsPrimSRL :: FString
fsPrimAdd :: FString
fsPrimSub :: FString
fsClsUninitialized :: FString
fsPrimUninitialized :: FString
fsPrimMakeUninitialized :: FString
fsPrimRawUninitialized :: FString
fsPrimPoisonedDef :: FString
fsChangeSpecialWires :: FString
fsPrimSetSelPosition :: FString
fsTAdd :: FString
fsTSub :: FString
fsTMul :: FString
fsTDiv :: FString
fsTLog :: FString
fsTExp :: FString
fsTMax :: FString
fsTMin :: FString
fsStaticAssert :: FString
fsDynamicAssert :: FString
fsContinuousAssert :: FString
fs_staticAssert :: FString
fs_dynamicAssert :: FString
fs_continuousAssert :: FString
fsAddRules :: FString
fsASSERT :: FString
fsFire :: FString
fsEnabled :: FString
fsNo :: FString
fsImplicit :: FString
fsConditions :: FString
fsCan :: FString
fsSchedule :: FString
fsFirst :: FString
fsClockCrossing :: FString
fsAggressiveImplicitConditions :: FString
fsConservativeImplicitConditions :: FString
fsNoWarn :: FString
fsWarnAllConflicts :: FString
fsRule :: FString
fsMkRegU :: FString
fsPrimFix :: FString
fsMfix :: FString
fsFmap :: FString
fsNegate :: FString
fsIdentity :: FString
fsInvert :: FString
fsEmptyIfc :: FString
fs1 :: FString
fsB :: FString
fsR :: FString
fsExposeCurrentClock :: FString
fsExposeCurrentReset :: FString
fsNoClock :: FString
fsNoReset :: FString
fsPrimReplaceClockGate :: FString
fsVRWireN :: FString
fsVmkRWire1 :: FString
fsWGet :: FString
fsWSet :: FString
fsWHas :: FString
fsSend :: FString
fsFIFO_notFull :: FString
fsFIFO_notEmpty :: FString
fsFIFOEnq :: FString
fsFIFODeq :: FString
fsFIFOFirst :: FString
fsGeneric :: FString
fsConc :: FString
fsConcPrim :: FString
fsConcPoly :: FString
fsMeta :: FString
fsMetaData :: FString
fsStarArg :: FString
fsNumArg :: FString
fsStrArg :: FString
fsConArg :: FString
fsMetaConsNamed :: FString
fsMetaConsAnon :: FString
fsMetaField :: FString
fsPolyWrapField :: FString
sAcute :: String
fsAcute :: FString
fsTheResult :: FString
fsF :: FString
fsM :: FString
fsC :: FString
fsClk :: FString
fsRst :: FString
fsList :: FString
fsPrimArray :: FString
fsPrimArrayNew :: FString
fsPrimArrayNewU :: FString
fsPrimArrayLength :: FString
fsPrimArrayInitialize :: FString
fsPrimArrayCheck :: FString
fsListN :: FString
fsVector :: FString
fsToVector :: FString
fsToListN :: FString
fsSAction :: FString
fsSActionValue :: FString
fsStmtify :: FString
fsCallServer :: FString
fsSIf1 :: FString
fsSIf2 :: FString
fsSAbtIf1 :: FString
fsSAbtIf2 :: FString
fsSRepeat :: FString
fsSWhile :: FString
fsSFor :: FString
fsSSeq :: FString
fsSPar :: FString
fsSLabel :: FString
fsSJump :: FString
fsSNamed :: FString
fsS :: FString
fsStmt :: FString
fsSBreak :: FString
fsSContinue :: FString
fsSReturn :: FString
fsCons :: FString
fsConcat :: FString
fsNil :: FString
fsNothing :: FString
fsSprime :: FString
fsMaybe :: FString
fsInvalid :: FString
fsValid :: FString
fsEither :: FString
fsLeft :: FString
fsRight :: FString

-- | Names used for tuple fields internally?
fsTuples :: [FString]

-- | Names exposed to the BSV user
fsTuple2 :: FString
fsTuple3 :: FString
fsTuple4 :: FString
fsTuple5 :: FString
fsTuple6 :: FString
fsTuple7 :: FString
fsTuple8 :: FString
fsConstAllBitsSet :: FString
fsConstAllBitsUnset :: FString
fs_the_ :: FString
s__fire :: String
fs__fire :: FString
fsPrimError :: FString
fsError :: FString
fsFinish :: FString
fsStop :: FString
fsDisplay :: FString
fsDisplayh :: FString
fsDisplayb :: FString
fsDisplayo :: FString
fsWrite :: FString
fsWriteh :: FString
fsWriteb :: FString
fsWriteo :: FString
fsFDisplay :: FString
fsFDisplayh :: FString
fsFDisplayb :: FString
fsFDisplayo :: FString
fsFWrite :: FString
fsFWriteh :: FString
fsFWriteb :: FString
fsFWriteo :: FString
fsSWriteAV :: FString
fsSWrite :: FString
fsSWritehAV :: FString
fsSWriteh :: FString
fsSWritebAV :: FString
fsSWriteb :: FString
fsSWriteoAV :: FString
fsSWriteo :: FString
fsSFormatAV :: FString
fsSFormat :: FString
fsErrorTask :: FString
fsWarnTask :: FString
fsInfoTask :: FString
fsFatalTask :: FString
fsSVA :: FString
fsSvaParam :: FString
fsSvaBool :: FString
fsSvaNumber :: FString
fsSVAsampled :: FString
fsSVArose :: FString
fsSVAfell :: FString
fsSVAstable :: FString
fsSVApast :: FString
fsSVAonehot :: FString
fsSVAonehot0 :: FString
fsSVAisunknown :: FString
fsSVAcountones :: FString
fsRandom :: FString
fsDumpon :: FString
fsDumpoff :: FString
fsDumpvars :: FString
fsDumpall :: FString
fsDumplimit :: FString
fsDumpflush :: FString
fsDumpfile :: FString
fsSigned :: FString
sSigned :: String
fsUnsigned :: FString
sUnsigned :: String
fsTime :: FString
fsSTime :: FString
fsFOpen :: FString
fsFGetc :: FString
fsUngetc :: FString
fsFClose :: FString
fsFFlush :: FString
fsTestPlusargs :: FString
fsRealToBits :: FString
fsBitsToReal :: FString
fsFile :: FString

-- | Classes hardcoded in the Prelude which were added for ContextErrors
fsBitwise :: FString

-- | Classes hardcoded in the Prelude which were added for ContextErrors
fsBitReduce :: FString

-- | Classes hardcoded in the Prelude which were added for ContextErrors
fsBitExtend :: FString

-- | Classes hardcoded in the Prelude which were added for ContextErrors
fsArith :: FString

-- | Classes hardcoded in the Prelude which were added for ContextErrors
fsOrd :: FString

-- | Nice display names for instance hierarchy
fsLoop :: FString

-- | Nice display names for instance hierarchy
fsBody :: FString
fsHide :: FString
fsHideAll :: FString
fsElements :: FString
fsvElements :: FString

module Language.Bluespec.Classic.AST.Id
data Id
addIdProp :: Id -> IdProp -> Id
addIdProps :: Id -> [IdProp] -> Id
createPositionString :: Position -> String
enumId :: String -> Position -> Int -> Id
getIdBase :: Id -> FString
getIdBaseString :: Id -> String
getIdPosition :: Id -> Position
getIdProps :: Id -> [IdProp]
getIdQual :: Id -> FString
getIdQualString :: Id -> String
getIdString :: Id -> String
mkId :: Position -> FString -> Id
mkQId :: Position -> FString -> FString -> Id
ppConId :: PDetail -> Id -> Doc
ppId :: PDetail -> Id -> Doc
ppVarId :: PDetail -> Id -> Doc
qualEq :: Id -> Id -> Bool
setBadId :: Id -> Id
setIdProps :: Id -> [IdProp] -> Id
data IdProp
IdPCanFire :: IdProp
IdPWillFire :: IdProp
IdPProbe :: IdProp
IdPInternal :: IdProp
IdPReady :: IdProp
IdPGeneratedIfc :: IdProp
IdPMeth :: IdProp
IdPCommutativeTCon :: IdProp
IdP_enable :: IdProp
IdP_keep :: IdProp
IdP_keepEvenUnused :: IdProp
IdPRule :: IdProp
IdPSplitRule :: IdProp
IdPDict :: IdProp
IdPRenaming :: IdProp
IdP_suffixed :: IdProp
IdP_SuffixCount :: Integer -> IdProp
IdP_bad_name :: IdProp
IdP_from_rhs :: IdProp
IdP_signed :: IdProp
IdP_NakedInst :: IdProp
IdPDisplayName :: FString -> IdProp
IdP_hide :: IdProp
IdP_hide_all :: IdProp
IdP_TypeJoin :: Id -> Id -> IdProp
IdPMethodPredicate :: IdProp
IdPInlinedPositions :: [Position] -> IdProp
IdPParserGenerated :: IdProp
type Longname = [Id]
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Id.Id
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Id.IdProp
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Id.Id
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Id.Id
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Id.IdProp
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Id.Id
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Id.IdProp
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Id.Id
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Id.IdProp

module Language.Bluespec.Classic.AST.VModInfo
newtype VName
VName :: String -> VName
newtype VPathInfo
VPathInfo :: [(VName, VName)] -> VPathInfo
data VeriPortProp
VPreg :: VeriPortProp
VPconst :: VeriPortProp
VPinhigh :: VeriPortProp
VPouthigh :: VeriPortProp
VPclock :: VeriPortProp
VPclockgate :: VeriPortProp
VPreset :: VeriPortProp
VPinout :: VeriPortProp
VPunused :: VeriPortProp
data VArgInfo
Param :: VName -> VArgInfo
Port :: VPort -> Maybe Id -> Maybe Id -> VArgInfo
ClockArg :: Id -> VArgInfo
ResetArg :: Id -> VArgInfo
InoutArg :: VName -> Maybe Id -> Maybe Id -> VArgInfo
type VPort = (VName, [VeriPortProp])
type VSchedInfo = SchedInfo Id
data VFieldInfo
Method :: Id -> Maybe Id -> Maybe Id -> Integer -> [VPort] -> Maybe VPort -> Maybe VPort -> VFieldInfo
[vf_name] :: VFieldInfo -> Id
[vf_clock] :: VFieldInfo -> Maybe Id
[vf_reset] :: VFieldInfo -> Maybe Id
[vf_mult] :: VFieldInfo -> Integer
[vf_inputs] :: VFieldInfo -> [VPort]
[vf_output] :: VFieldInfo -> Maybe VPort
[vf_enable] :: VFieldInfo -> Maybe VPort
Clock :: Id -> VFieldInfo
[vf_name] :: VFieldInfo -> Id
Reset :: Id -> VFieldInfo
[vf_name] :: VFieldInfo -> Id
Inout :: Id -> VName -> Maybe Id -> Maybe Id -> VFieldInfo
[vf_name] :: VFieldInfo -> Id
[vf_inout] :: VFieldInfo -> VName
[vf_clock] :: VFieldInfo -> Maybe Id
[vf_reset] :: VFieldInfo -> Maybe Id
type InputClockInf = (Id, Maybe (VOscPort, VInputGatePort))
type OutputClockInf = (Id, Maybe (VOscPort, VOutputGatePort))
type VOscPort = VName
type VInputGatePort = Either Bool VName
type VOutputGatePort = Maybe VPort
data VClockInfo
ClockInfo :: [InputClockInf] -> [OutputClockInf] -> [(Id, Id)] -> [(Id, Id)] -> VClockInfo
[input_clocks] :: VClockInfo -> [InputClockInf]
[output_clocks] :: VClockInfo -> [OutputClockInf]
[ancestorClocks] :: VClockInfo -> [(Id, Id)]
[siblingClocks] :: VClockInfo -> [(Id, Id)]
type ResetInf = (Id, (Maybe VName, Maybe Id))
data VResetInfo
ResetInfo :: [ResetInf] -> [ResetInf] -> VResetInfo
[input_resets] :: VResetInfo -> [ResetInf]
[output_resets] :: VResetInfo -> [ResetInf]
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VArgInfo
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VClockInfo
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VFieldInfo
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VName
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VPathInfo
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VResetInfo
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.VModInfo.VeriPortProp
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.VModInfo.VClockInfo
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.VModInfo.VFieldInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VArgInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VClockInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VFieldInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VName
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VPathInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VResetInfo
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.VModInfo.VeriPortProp
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VArgInfo
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VClockInfo
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VFieldInfo
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VName
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VPathInfo
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VResetInfo
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.VModInfo.VeriPortProp
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VArgInfo
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VClockInfo
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VFieldInfo
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VName
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VPathInfo
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VResetInfo
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.VModInfo.VeriPortProp

module Language.Bluespec.Classic.AST.Pragma
data Pragma
Pproperties :: Id -> [PProp] -> Pragma
Pnoinline :: [Id] -> Pragma
data PProp
PPverilog :: PProp
PPforeignImport :: Id -> PProp
PPalwaysReady :: [Longname] -> PProp
PPalwaysEnabled :: [Longname] -> PProp
PPenabledWhenReady :: [Longname] -> PProp
PPscanInsert :: Integer -> PProp
PPbitBlast :: PProp
PPCLK :: String -> PProp
PPGATE :: String -> PProp
PPRSTN :: String -> PProp
PPclock_osc :: [(Id, String)] -> PProp
PPclock_gate :: [(Id, String)] -> PProp
PPgate_inhigh :: [Id] -> PProp
PPgate_unused :: [Id] -> PProp
PPreset_port :: [(Id, String)] -> PProp
PParg_param :: [(Id, String)] -> PProp
PParg_port :: [(Id, String)] -> PProp
PParg_clocked_by :: [(Id, String)] -> PProp
PParg_reset_by :: [(Id, String)] -> PProp
PPoptions :: [String] -> PProp
PPgate_input_clocks :: [Id] -> PProp
PPmethod_scheduling :: MethodConflictInfo Longname -> PProp
PPdoc :: String -> PProp
PPperf_spec :: [[Id]] -> PProp
PPclock_family :: [Id] -> PProp
PPclock_ancestors :: [[Id]] -> PProp
PPparam :: [Id] -> PProp
PPinst_name :: Id -> PProp
PPinst_hide :: PProp
PPinst_hide_all :: PProp
PPdeprecate :: String -> PProp
data RulePragma
RPfireWhenEnabled :: RulePragma
RPnoImplicitConditions :: RulePragma
RPaggressiveImplicitConditions :: RulePragma
RPconservativeImplicitConditions :: RulePragma
RPnoWarn :: RulePragma
RPwarnAllConflicts :: RulePragma
RPcanScheduleFirst :: RulePragma
RPclockCrossingRule :: RulePragma
RPdoc :: String -> RulePragma
RPhide :: RulePragma
data SchedulePragma id_t
SPUrgency :: [id_t] -> SchedulePragma id_t
SPExecutionOrder :: [id_t] -> SchedulePragma id_t
SPMutuallyExclusive :: [[id_t]] -> SchedulePragma id_t
SPConflictFree :: [[id_t]] -> SchedulePragma id_t
SPPreempt :: [id_t] -> [id_t] -> SchedulePragma id_t
SPSchedule :: MethodConflictInfo id_t -> SchedulePragma id_t
type CSchedulePragma = SchedulePragma Longname
data IfcPragma
PIArgNames :: [Id] -> IfcPragma
PIPrefixStr :: String -> IfcPragma
PIResultName :: String -> IfcPragma
PIRdySignalName :: String -> IfcPragma
PIEnSignalName :: String -> IfcPragma
PIAlwaysRdy :: IfcPragma
PIAlwaysEnabled :: IfcPragma
ppPProp :: PDetail -> PProp -> Doc
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Pragma.IfcPragma
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Pragma.PProp
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Pragma.Pragma
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Pragma.RulePragma
instance GHC.Classes.Eq id_t => GHC.Classes.Eq (Language.Bluespec.Classic.AST.Pragma.SchedulePragma id_t)
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Pragma.Pragma
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Pragma.IfcPragma
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Pragma.PProp
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Pragma.Pragma
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Pragma.RulePragma
instance GHC.Classes.Ord id_t => GHC.Classes.Ord (Language.Bluespec.Classic.AST.Pragma.SchedulePragma id_t)
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Pragma.IfcPragma
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Pragma.PProp
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Pragma.Pragma
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Pragma.RulePragma
instance (Text.PrettyPrint.HughesPJClass.Pretty t, GHC.Classes.Ord t) => Text.PrettyPrint.HughesPJClass.Pretty (Language.Bluespec.Classic.AST.Pragma.SchedulePragma t)
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Pragma.IfcPragma
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Pragma.PProp
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Pragma.Pragma
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Pragma.RulePragma
instance GHC.Internal.Show.Show id_t => GHC.Internal.Show.Show (Language.Bluespec.Classic.AST.Pragma.SchedulePragma id_t)

module Language.Bluespec.Classic.AST.Builtin.Ids

-- | Identifier without a position
mk_no :: FString -> Id

-- | Identifier in the Standard Prelude, with a position
prelude_id :: Position -> FString -> Id

-- | Identifier in the Standard Prelude, with no position
prelude_id_no :: FString -> Id

-- | Identifier in the Standard Prelude, with a position
prelude_bsv_id :: Position -> FString -> Id

-- | Identifier in the Standard Prelude, with no position
prelude_bsv_id_no :: FString -> Id

-- | Add id properties to an already existing identifier
prop_prelude_id_no :: FString -> [IdProp] -> Id
idB :: Id
idR :: Id
idArrow :: Position -> Id
idPrimUnit :: Id
idBit :: Id
idInt :: Id
idUInt :: Id
idVReg :: Id
idReg :: Id
idRWire :: Id
idPulseWire :: Id
idFIFO :: Id
idFIFOF :: Id
idSend :: Id
id_notFull :: Id
id_notEmpty :: Id
idEnq :: Id
idDeq :: Id
idFirst :: Id
idInteger :: Id
idReal :: Id
idRealAt :: Position -> Id
idString :: Id
idChar :: Id
idHandle :: Id
idBufferMode :: Id
idNoBuffering :: Id
idLineBuffering :: Id
idBlockBuffering :: Id
idFmt :: Id
idPrimFmtConcat :: Id
idPrimPriMux :: Id
idFormat :: Id
idFShow :: Id
idfshow :: Id
idBool :: Id
idPrimFst :: Id
idPrimSnd :: Id
idPrimPair :: Id
idFalse :: Id
idTrue :: Id
idSizeOf :: Id
idTAdd :: Id
idTSub :: Id
idTMul :: Id
idTDiv :: Id
idTLog :: Id
idTExp :: Id
idTMax :: Id
idTMin :: Id
idAction :: Id
idPrimAction :: Id
idToPrimAction :: Id
idFromPrimAction :: Id
idFromActionValue_ :: Id
idToActionValue_ :: Id
idRules :: Id
idSchedPragma :: Id
idValueOf :: Id
idStringOf :: Id
idStringProxy :: Id
idPrimIndex :: Id
idPrimSelectable :: Id
idPrimUpdateable :: Id
idPrimWriteable :: Id
idChangeSpecialWires :: Position -> Id
idPrimSetSelPosition :: Id
idMaybe :: Id
idInvalid :: Id
idValid :: Id
idEmpty :: Id
idFile :: Id
idEither :: Id
idLeft :: Id
idRight :: Id
idActionValue :: Id
idAVValue :: Id
idAVAction :: Id
idActionValue_ :: Id
idAVValue_ :: Id
idAVAction_ :: Id
id__value :: Id
id__action :: Id
id__value_at :: Position -> Id
id__action_at :: Position -> Id
idComma :: Id
idPlus :: Id
idMinus :: Id
idPrelude :: Id
idPreludeBSV :: Id
idPreludePlus :: Id
idEq :: Id
idBits :: Id
idLiteral :: Id
idRealLiteral :: Id
idSizedLiteral :: Id
idStringLiteral :: Id
idPrimParam :: Id
idPrimPort :: Id
idBounded :: Id
idDefaultValue :: Id
id_defaultValue :: Id
idClsDeepSeqCond :: Id
idPrimDeepSeqCond :: Id
idPrimSeqCond :: Id
idUndefined :: Id
idEqual :: Id
idNotEqual :: Id
idPack :: Id
idUnpack :: Id
idFmap :: Id
idMaxBound :: Id
idMinBound :: Id
idBuildUndef :: Id
idMakeUndef :: Id
idRawUndef :: Id
idAdd :: Id
idMax :: Id
idMin :: Id
idLog :: Id
idMul :: Id
idDiv :: Id
idNumEq :: Id
idAnd :: Id
idNot :: Id
idPrimSplit :: Id
idPrimConcat :: Id
idPrimMul :: Id
idPrimQuot :: Id
idPrimRem :: Id
idPrimTrunc :: Id
idPrimOrd :: Id
idPrimChr :: Id
idLiftM :: Id
idPrimError :: Id
idGeneric :: Id
idFrom :: Id
idTo :: Id
idConc :: Id
idConcPrim :: Id
idConcPoly :: Id
idMeta :: Id
idMetaData :: Id
idStarArg :: Id
idNumArg :: Id
idStrArg :: Id
idConArg :: Id
idMetaConsNamed :: Id
idMetaConsAnon :: Id
idMetaField :: Id
idPolyWrapField :: Id

-- | Used by GenWrap for "polymorphic" modules
idLiftModule :: Id
id_lam :: Position -> Id
id_if :: Position -> Id
id_read :: Position -> Id
id_write :: Position -> Id
idPreludeRead :: Id
idPreludeWrite :: Id
idAssign :: Id
idExtract :: Position -> Id
idFromInteger :: Position -> Id
idFromReal :: Position -> Id
idFromSizedInteger :: Position -> Id
idFromString :: Position -> Id
idPrimCharToString :: Position -> Id
idPrimToParam :: Position -> Id
idPrimToPort :: Position -> Id
id_case :: Position -> Id
idBind :: Position -> Id
idBind_ :: Position -> Id
idReturn :: Position -> Id
idMonad :: Position -> Id
idIsModule :: Id
idModule :: Id
idId :: Id
idPrimModule :: Position -> Id
idPrimStringConcat :: Id
idAddRules :: Position -> Id
idMkRegU :: Position -> Id
idTheResult :: Position -> Id
idF :: Position -> Id
idM :: Position -> Id
idC :: Position -> Id
idPrimSelectFn :: Position -> Id
idPrimUpdateFn :: Position -> Id
idPrimWriteFn :: Position -> Id
idPrimUpdateRangeFn :: Position -> Id
idSAction :: Position -> Id
idSActionValue :: Position -> Id
idStmtify :: Position -> Id
idCallServer :: Position -> Id
idSIf1 :: Position -> Id
idSIf2 :: Position -> Id
idSAbtIf1 :: Position -> Id
idSAbtIf2 :: Position -> Id
idSRepeat :: Position -> Id
idSWhile :: Position -> Id
idSFor :: Position -> Id
idSSeq :: Position -> Id
idSPar :: Position -> Id
idSLabel :: Position -> Id
idSJump :: Position -> Id
idSNamed :: Position -> Id
idS :: Position -> Id
idStmt :: Position -> Id
idSBreak :: Position -> Id
idSContinue :: Position -> Id
idSReturn :: Position -> Id
idCons :: Position -> Id
idConcat :: Position -> Id
idNil :: Position -> Id
idNothing :: Position -> Id
idSprime :: Position -> Id

-- | Used to prevent implicit read etc.
idAsIfc :: Id

-- | Used to prevent implicit read etc.
idAsReg :: Id
idName :: Id
idPrimGetName :: Id
idPrimGetNameAt :: Position -> Id
idPrimGetParamName :: Id
idPrimGetParamNameAt :: Position -> Id
idPrimJoinNamesAt :: Position -> Id
idPrimExtNameIdxAt :: Position -> Id
idSetStateNameAt :: Position -> Id
idGetModuleName :: Id

-- | Used to force the monad in a "module" expression to be a module, so
--   that we fail fast for good error positions
idForceIsModuleAt :: Position -> Id

-- | Use for communicating positions for errors, warnings and messages
idPosition :: Id

-- | Use for communicating positions for errors, warnings and messages
idNoPosition :: Id

-- | Use for communicating positions for errors, warnings and messages
idPrimGetEvalPosition :: Id

-- | Used to carry attributes
idAttributes :: Id
idSetStateAttribAt :: Position -> Id
idType :: Id
idTypeOf :: Id
idSavePortType :: Id
idPrintType :: Id

-- | Abstract type for implicit conditions
idPred :: Id
idPrimBAnd :: Id
idPrimBOr :: Id
idPrimBNot :: Id
idPrimSL :: Id
idPrimSRL :: Id
idPrimInv :: Id
idPrimIf :: Id
idPrimCase :: Id
idPrimArrayDynSelect :: Id
idPrimBuildArray :: Id
idPrimWhen :: Id
idPrimSelect :: Id
idPrimSelectAt :: Position -> Id
idPrimZeroExt :: Id
idPrimSignExt :: Id
idPrimJoinRules :: Id
idPrimNoRules :: Id
idPrimRule :: Id
idPrimJoinActions :: Id
idPrimAddSchedPragmas :: Id
idPrimNoActions :: Id
idPrimNoExpIf :: Id
idPrimExpIf :: Id
idPrimNosplitDeep :: Id
idPrimSplitDeep :: Id
idSplitDeepAV :: Id
idNosplitDeepAV :: Id
idPrimFix :: Position -> Id
idMfix :: Id
idStaticAssert :: Id
idDynamicAssert :: Id
idContinuousAssert :: Id
id_staticAssert :: Id
id_dynamicAssert :: Id
id_continuousAssert :: Id
idClsUninitialized :: Id
idPrimUninitialized :: Id
idPrimUninitializedAt :: Position -> Id
idPrimMakeUninitialized :: Id
idPrimRawUninitialized :: Id
idPrimPoisonedDef :: Id
idStringAt :: Position -> Id
idFmtAt :: Position -> Id
idPrimStringConcatAt :: Position -> Id

-- | Clock and reset identifiers
idClock :: Id

-- | Clock and reset identifiers
idClockOsc :: Id

-- | Clock and reset identifiers
idClockGate :: Id

-- | Clock and reset identifiers
idReset :: Id

-- | Clock and reset identifiers
idInout :: Id

-- | Clock and reset identifiers
idInout_ :: Id
idPrimInoutCast :: Id
idPrimInoutUncast :: Id
idPrimInoutCast0 :: Id
idPrimInoutUncast0 :: Id
idExposeCurrentClock :: Id
idExposeCurrentReset :: Id
idNoClock :: Id
idNoReset :: Id
idPrimReplaceClockGate :: Id
idClk :: Id
idRst :: Id
idCLK :: Id
idCLK_GATE :: Id
idDefaultClock :: Id
idDefaultReset :: Id
idPrimSplitFst :: Id
idPrimSplitSnd :: Id
id_x :: Id
id_y :: Id
id_fun :: Id
id_forallb :: Id
tmpVarIds :: [Id]
tmpVarXIds :: [Id]
tmpVarYIds :: [Id]
tmpVarSIds :: [Id]
tmpTyNumIds :: [Id]
tmpTyVarIds :: [Id]

-- | Used by iExpand
idPrimEQ :: Id

-- | Used by iExpand
idPrimULE :: Id

-- | Used by iExpand
idPrimULT :: Id

-- | Used by iExpand
idPrimSLE :: Id

-- | Used by iExpand
idPrimSLT :: Id

-- | Used by iTransform
idPrimAdd :: Id

-- | Used by iTransform
idPrimSub :: Id

-- | Used by AddCFWire
idVRWireN :: Id

-- | Used by AddCFWire
idVmkRWire1 :: Id

-- | Used by AddCFWire
idWGet :: Id

-- | Used by AddCFWire
idWSet :: Id

-- | Used by AddCFWire
idWHas :: Id
idPrimConcatAt :: Position -> Id
idTrueAt :: Position -> Id
idAddRulesAt :: Position -> Id
idOrAt :: Position -> Id
idEqualAt :: Position -> Id
idNotEqualAt :: Position -> Id
idPrimUnitAt :: Position -> Id
idErrorAt :: Position -> Id
idNegateAt :: Position -> Id
idIdentityAt :: Position -> Id
idNotAt :: Position -> Id
idInvertAt :: Position -> Id
idPercentAt :: Position -> Id
idModuleAt :: Position -> Id
idIsModuleAt :: Position -> Id
idActionAt :: Position -> Id
idActionValueAt :: Position -> Id
idActionValue_At :: Position -> Id
idIntAt :: Position -> Id
idUnpackAt :: Position -> Id
idStarAt :: Position -> Id
idSlashAt :: Position -> Id
idStarStarAt :: Position -> Id
idPlusAt :: Position -> Id
idMinusAt :: Position -> Id
idLshAt :: Position -> Id
idRshAt :: Position -> Id
idLtAt :: Position -> Id
idGtAt :: Position -> Id
idLtEqAt :: Position -> Id
idGtEqAt :: Position -> Id
idAndAt :: Position -> Id
idBitAndAt :: Position -> Id
idBitOrAt :: Position -> Id
idCaretAt :: Position -> Id
idTildeCaretAt :: Position -> Id
idCaretTildeAt :: Position -> Id
idReduceAndAt :: Position -> Id
idReduceOrAt :: Position -> Id
idReduceXorAt :: Position -> Id
idReduceNandAt :: Position -> Id
idReduceNorAt :: Position -> Id
idReduceXnorAt :: Position -> Id
idRulesAt :: Position -> Id
idConstAllBitsSetAt :: Position -> Id
idConstAllBitsUnsetAt :: Position -> Id

-- | List declaration desugaring
idListAt :: Position -> Id
idPrimArrayAt :: Position -> Id
idPrimArrayNewAt :: Position -> Id
idPrimArrayNewUAt :: Position -> Id
idPrimArrayLengthAt :: Position -> Id
idPrimArrayInitializeAt :: Position -> Id
idPrimArrayCheckAt :: Position -> Id

-- | List identifiers for catching type errors on lists
idList :: Id

-- | List identifiers for catching type errors on lists
idListN :: Id

-- | List identifiers for catching type errors on lists
idVector :: Id

-- | List identifiers for catching type errors on lists
idToVector :: Id

-- | List identifiers for catching type errors on lists
idToListN :: Id

-- | List identifiers for catching type errors on lists
idPrimArray :: Id
idFinish :: Id
idStop :: Id
idDisplay :: Id
idDisplayh :: Id
idDisplayb :: Id
idDisplayo :: Id
idWrite :: Id
idWriteh :: Id
idWriteb :: Id
idWriteo :: Id
idFDisplay :: Id
idFDisplayh :: Id
idFDisplayb :: Id
idFDisplayo :: Id
idFWrite :: Id
idFWriteh :: Id
idFWriteb :: Id
idFWriteo :: Id
idSWriteAV :: Id
idSWrite :: Id
idSWritehAV :: Id
idSWriteh :: Id
idSWritebAV :: Id
idSWriteb :: Id
idSWriteoAV :: Id
idSWriteo :: Id
idSFormatAV :: Id
idSFormat :: Id
idErrorTask :: Id
idWarnTask :: Id
idInfoTask :: Id
idFatalTask :: Id
idSVA :: Id
idSvaParam :: Id
idSvaBool :: Id
idSvaNumber :: Id
idSVAsampled :: Id
idSVArose :: Id
idSVAfell :: Id
idSVAstable :: Id
idSVApast :: Id
idSVAonehot :: Id
idSVAonehot0 :: Id
idSVAisunknown :: Id
idSVAcountones :: Id
idRandom :: Id
idDumpon :: Id
idDumpoff :: Id
idDumpvars :: Id
idDumpall :: Id
idDumplimit :: Id
idDumpflush :: Id
idDumpfile :: Id
idTime :: Id
idSTime :: Id
idFOpen :: Id
idFGetc :: Id
idUngetc :: Id
idFClose :: Id
idFFlush :: Id
idTestPlusargs :: Id
idRealToBits :: Id
idBitsToReal :: Id
taskIds :: [Id]
idSigned :: Position -> Id
idUnsigned :: Position -> Id

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idBitwise :: Id

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idBitReduce :: Id

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idBitExtend :: Id

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idArith :: Id

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idOrd :: Id

-- | Names used for tuple fields internally?
tupleIds :: [Id]

-- | Names exposed to the BSV user
idTuple2 :: Id

-- | Names exposed to the BSV user
idTuple3 :: Id

-- | Names exposed to the BSV user
idTuple4 :: Id

-- | Names exposed to the BSV user
idTuple5 :: Id

-- | Names exposed to the BSV user
idTuple6 :: Id

-- | Names exposed to the BSV user
idTuple7 :: Id

-- | Names exposed to the BSV user
idTuple8 :: Id
autoderivedClasses :: [Id]

module Language.Bluespec.Classic.AST.Type

-- | Representation of types
data Type

-- | type variable
TVar :: TyVar -> Type

-- | type constructor
TCon :: TyCon -> Type

-- | type-level application
TAp :: Type -> Type -> Type

-- | quantified type variable used in type schemes
TGen :: Position -> Int -> Type

-- | not used after CVParserImperative
TDefMonad :: Position -> Type

-- | Representation of a type variable
data TyVar
TyVar :: Id -> Int -> Kind -> TyVar

-- | name of the type variable
[tv_name] :: TyVar -> Id

-- | number for a generated type variable
[tv_num] :: TyVar -> Int

-- | kind of the type variable
[tv_kind] :: TyVar -> Kind

-- | Representation of a type constructor
data TyCon

-- | A constructor for a type of value kind
TyCon :: Id -> Maybe Kind -> TISort -> TyCon

-- | name of the type constructor
[tcon_name] :: TyCon -> Id

-- | kind of the type constructor
[tcon_kind] :: TyCon -> Maybe Kind

-- | purpose of the type constructor
[tcon_sort] :: TyCon -> TISort

-- | A constructor for a type of numeric kind
TyNum :: Integer -> Position -> TyCon

-- | type-level numeric value
[tynum_value] :: TyCon -> Integer

-- | position of introduction
[tynum_pos] :: TyCon -> Position

-- | A constructor for a type of string kind
TyStr :: FString -> Position -> TyCon

-- | type-level string value
[tystr_value] :: TyCon -> FString

-- | position of introduction
[tystr_pos] :: TyCon -> Position
data TISort
TItype :: Integer -> Type -> TISort
TIdata :: [Id] -> Bool -> TISort
[tidata_cons] :: TISort -> [Id]
[tidata_enum] :: TISort -> Bool
TIstruct :: StructSubType -> [Id] -> TISort
TIabstract :: TISort
data StructSubType
SStruct :: StructSubType
SClass :: StructSubType
SDataCon :: Id -> Bool -> StructSubType
[sdatacon_id] :: StructSubType -> Id
[sdatacon_named_fields] :: StructSubType -> Bool
SInterface :: [IfcPragma] -> StructSubType
SPolyWrap :: Id -> Maybe Id -> Id -> StructSubType

-- | name of the type with the wrapped field
[spolywrap_id] :: StructSubType -> Id

-- | name of the data constructor
[spolywrap_ctor] :: StructSubType -> Maybe Id

-- | name of the wrapped field
[spolywrap_field] :: StructSubType -> Id
type CType = Type

-- | Representation of kinds
data Kind

-- | kind of a simple value type
KStar :: Kind

-- | kind of a simple numeric type
KNum :: Kind

-- | kind of a simple string type
KStr :: Kind

-- | kind of type constructors (type-level function)
Kfun :: Kind -> Kind -> Kind

-- | generated kind variable (used only during kind inference)
KVar :: Int -> Kind
data PartialKind
PKNoInfo :: PartialKind
PKStar :: PartialKind
PKNum :: PartialKind
PKStr :: PartialKind
PKfun :: PartialKind -> PartialKind -> PartialKind

-- | A named typeclass
newtype CTypeclass
CTypeclass :: Id -> CTypeclass

-- | Representation of the provisos and other class constraints
data CPred
CPred :: CTypeclass -> [CType] -> CPred

-- | constraint class, e.g., <a>Eq</a>
[cpred_tc] :: CPred -> CTypeclass

-- | argument types
[cpred_args] :: CPred -> [CType]
data CQType
CQType :: [CPred] -> CType -> CQType
baseKVar :: Int
cTNum :: Integer -> Position -> CType
isTConArrow :: TyCon -> Bool
isTConPair :: TyCon -> Bool
leftCon :: CType -> Maybe Id
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.CPred
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.CQType
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.CTypeclass
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.Kind
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.PartialKind
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.StructSubType
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.TISort
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.TyCon
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.TyVar
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Type.Type
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.CPred
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.CQType
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.CTypeclass
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.TyCon
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.TyVar
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Type.Type
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.CPred
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.CQType
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.CTypeclass
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.Kind
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.PartialKind
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.StructSubType
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.TISort
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.TyCon
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.TyVar
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Type.Type
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.CPred
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.CQType
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.CTypeclass
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.Kind
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.PartialKind
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.StructSubType
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.TISort
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.TyCon
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.TyVar
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Type.Type
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.CPred
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.CQType
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.CTypeclass
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.Kind
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.PartialKind
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.StructSubType
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.TISort
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.TyCon
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.TyVar
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Type.Type

module Language.Bluespec.Classic.AST.Syntax
data CPackage
CPackage :: Id -> Either [CExport] [CExport] -> [CImport] -> [CFixity] -> [CDefn] -> [CInclude] -> CPackage
data CExport
CExpVar :: Id -> CExport
CExpCon :: Id -> CExport
CExpConAll :: Id -> CExport
CExpPkg :: Id -> CExport
data CImport
CImpId :: Bool -> Id -> CImport
CImpSign :: String -> Bool -> CSignature -> CImport
data CSignature
CSignature :: Id -> [Id] -> [CFixity] -> [CDefn] -> CSignature
data CFixity
CInfix :: Integer -> Id -> CFixity
CInfixl :: Integer -> Id -> CFixity
CInfixr :: Integer -> Id -> CFixity
data CDefn
Ctype :: IdK -> [Id] -> CType -> CDefn
Cdata :: Bool -> IdK -> [Id] -> COSummands -> CSummands -> [CTypeclass] -> CDefn
[cd_visible] :: CDefn -> Bool
[cd_name] :: CDefn -> IdK
[cd_type_vars] :: CDefn -> [Id]
[cd_original_summands] :: CDefn -> COSummands
[cd_internal_summands] :: CDefn -> CSummands
[cd_derivings] :: CDefn -> [CTypeclass]
Cstruct :: Bool -> StructSubType -> IdK -> [Id] -> CFields -> [CTypeclass] -> CDefn
Cclass :: Maybe Bool -> [CPred] -> IdK -> [Id] -> CFunDeps -> CFields -> CDefn
Cinstance :: CQType -> [CDefl] -> CDefn
CValue :: Id -> [CClause] -> CDefn
CValueSign :: CDef -> CDefn
Cforeign :: Id -> CQType -> Maybe String -> Maybe ([String], [String]) -> CDefn
[cforg_name] :: CDefn -> Id
[cforg_type] :: CDefn -> CQType
[cforg_foreign_name] :: CDefn -> Maybe String
[cforg_ports] :: CDefn -> Maybe ([String], [String])
Cprimitive :: Id -> CQType -> CDefn
CprimType :: IdK -> CDefn
CPragma :: Pragma -> CDefn
CIinstance :: Id -> CQType -> CDefn
CItype :: IdK -> [Id] -> [Position] -> CDefn
CIclass :: Maybe Bool -> [CPred] -> IdK -> [Id] -> CFunDeps -> [Position] -> CDefn
CIValueSign :: Id -> CQType -> CDefn
data IdK
IdK :: Id -> IdK
IdKind :: Id -> Kind -> IdK
IdPKind :: Id -> PartialKind -> IdK
type CFunDeps = [([Id], [Id])]
data CExpr
CLam :: Either Position Id -> CExpr -> CExpr
CLamT :: Either Position Id -> CQType -> CExpr -> CExpr
Cletseq :: [CDefl] -> CExpr -> CExpr
Cletrec :: [CDefl] -> CExpr -> CExpr
CSelect :: CExpr -> Id -> CExpr
CCon :: Id -> [CExpr] -> CExpr
Ccase :: Position -> CExpr -> CCaseArms -> CExpr
CStruct :: Maybe Bool -> Id -> [(Id, CExpr)] -> CExpr
CStructUpd :: CExpr -> [(Id, CExpr)] -> CExpr
Cwrite :: Position -> CExpr -> CExpr -> CExpr
CAny :: Position -> UndefKind -> CExpr
CVar :: Id -> CExpr
CApply :: CExpr -> [CExpr] -> CExpr
CTaskApply :: CExpr -> [CExpr] -> CExpr
CTaskApplyT :: CExpr -> CType -> [CExpr] -> CExpr
CLit :: CLiteral -> CExpr
CBinOp :: CExpr -> Id -> CExpr -> CExpr
CHasType :: CExpr -> CQType -> CExpr
Cif :: Position -> CExpr -> CExpr -> CExpr -> CExpr
CSub :: Position -> CExpr -> CExpr -> CExpr
CSub2 :: CExpr -> CExpr -> CExpr -> CExpr
CSubUpdate :: Position -> CExpr -> (CExpr, CExpr) -> CExpr -> CExpr
Cmodule :: Position -> [CMStmt] -> CExpr
Cinterface :: Position -> Maybe Id -> [CDefl] -> CExpr
CmoduleVerilog :: CExpr -> Bool -> VClockInfo -> VResetInfo -> [(VArgInfo, CExpr)] -> [VFieldInfo] -> VSchedInfo -> VPathInfo -> CExpr
CForeignFuncC :: Id -> CQType -> CExpr
Cdo :: Bool -> CStmts -> CExpr
Caction :: Position -> CStmts -> CExpr
Crules :: [CSchedulePragma] -> [CRule] -> CExpr
COper :: [COp] -> CExpr
CCon1 :: Id -> Id -> CExpr -> CExpr
CSelectTT :: Id -> CExpr -> Id -> CExpr
CCon0 :: Maybe Id -> Id -> CExpr
CConT :: Id -> Id -> [CExpr] -> CExpr
CStructT :: CType -> [(Id, CExpr)] -> CExpr
CSelectT :: Id -> Id -> CExpr
CLitT :: CType -> CLiteral -> CExpr
CAnyT :: Position -> UndefKind -> CType -> CExpr
CmoduleVerilogT :: CType -> CExpr -> Bool -> VClockInfo -> VResetInfo -> [(VArgInfo, CExpr)] -> [VFieldInfo] -> VSchedInfo -> VPathInfo -> CExpr
CForeignFuncCT :: Id -> CType -> CExpr
CTApply :: CExpr -> [CType] -> CExpr
Cattributes :: [(Position, PProp)] -> CExpr
data CLiteral
CLiteral :: Position -> Literal -> CLiteral
data COp
CRand :: CExpr -> COp
CRator :: Int -> Id -> COp
type CSummands = [CInternalSummand]
data CInternalSummand
CInternalSummand :: [Id] -> CType -> Integer -> CInternalSummand
[cis_names] :: CInternalSummand -> [Id]
[cis_arg_type] :: CInternalSummand -> CType
[cis_tag_encoding] :: CInternalSummand -> Integer
type COSummands = [COriginalSummand]
data COriginalSummand
COriginalSummand :: [Id] -> [CQType] -> Maybe [Id] -> Maybe Integer -> COriginalSummand
[cos_names] :: COriginalSummand -> [Id]
[cos_arg_types] :: COriginalSummand -> [CQType]
[cos_field_names] :: COriginalSummand -> Maybe [Id]
[cos_tag_encoding] :: COriginalSummand -> Maybe Integer
data CField
CField :: Id -> Maybe [IfcPragma] -> CQType -> [CClause] -> Maybe CType -> CField
[cf_name] :: CField -> Id
[cf_pragmas] :: CField -> Maybe [IfcPragma]
[cf_type] :: CField -> CQType
[cf_default] :: CField -> [CClause]
[cf_orig_type] :: CField -> Maybe CType
type CFields = [CField]
data CCaseArm
CCaseArm :: CPat -> [CQual] -> CExpr -> CCaseArm
[cca_pattern] :: CCaseArm -> CPat
[cca_filters] :: CCaseArm -> [CQual]
[cca_consequent] :: CCaseArm -> CExpr
type CCaseArms = [CCaseArm]
data CStmt
CSBindT :: CPat -> Maybe CExpr -> [(Position, PProp)] -> CQType -> CExpr -> CStmt
CSBind :: CPat -> Maybe CExpr -> [(Position, PProp)] -> CExpr -> CStmt
CSletseq :: [CDefl] -> CStmt
CSletrec :: [CDefl] -> CStmt
CSExpr :: Maybe CExpr -> CExpr -> CStmt
type CStmts = [CStmt]
data CMStmt
CMStmt :: CStmt -> CMStmt
CMrules :: CExpr -> CMStmt
CMinterface :: CExpr -> CMStmt
CMTupleInterface :: Position -> [CExpr] -> CMStmt
data CRule
CRule :: [RulePragma] -> Maybe CExpr -> [CQual] -> CExpr -> CRule
CRuleNest :: [RulePragma] -> Maybe CExpr -> [CQual] -> [CRule] -> CRule

-- | A definition with a binding. Can occur as a let expression, let
--   statement in a do block, a typeclass instance defn, or bindings in an
--   interface.
data CDefl
CLValueSign :: CDef -> [CQual] -> CDefl
CLValue :: Id -> [CClause] -> [CQual] -> CDefl
CLMatch :: CPat -> CExpr -> CDefl
data CDef
CDef :: Id -> CQType -> [CClause] -> CDef
CDefT :: Id -> [TyVar] -> CQType -> [CClause] -> CDef
data CClause
CClause :: [CPat] -> [CQual] -> CExpr -> CClause
data CQual
CQGen :: CType -> CPat -> CExpr -> CQual
CQFilter :: CExpr -> CQual
data CPat
CPCon :: Id -> [CPat] -> CPat
CPstruct :: Maybe Bool -> Id -> [(Id, CPat)] -> CPat
CPVar :: Id -> CPat
CPAs :: Id -> CPat -> CPat
CPAny :: Position -> CPat
CPLit :: CLiteral -> CPat
CPMixedLit :: Position -> Integer -> [(Integer, Maybe Integer)] -> CPat
CPOper :: [CPOp] -> CPat
CPCon1 :: Id -> Id -> CPat -> CPat
CPConTs :: Id -> Id -> [CType] -> [CPat] -> CPat
data CPOp
CPRand :: CPat -> CPOp
CPRator :: Int -> Id -> CPOp
newtype CInclude
CInclude :: String -> CInclude
cApply :: Int -> CExpr -> [CExpr] -> CExpr
cVApply :: Id -> [CExpr] -> CExpr
getName :: CDefn -> Either Position Id
iKName :: IdK -> Id
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CCaseArm
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CClause
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CDef
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CDefl
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CDefn
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CExport
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CExpr
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CField
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CFixity
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CImport
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CInclude
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CInternalSummand
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CLiteral
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CMStmt
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.COp
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.COriginalSummand
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CPOp
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CPackage
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CPat
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CQual
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CRule
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CSignature
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.CStmt
instance GHC.Classes.Eq Language.Bluespec.Classic.AST.Syntax.IdK
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CCaseArm
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CClause
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CDef
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CDefl
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CDefn
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CExpr
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CInternalSummand
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CLiteral
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CMStmt
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.COp
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CPOp
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CPat
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CQual
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CRule
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.CStmt
instance Language.Bluespec.Classic.AST.Position.HasPosition Language.Bluespec.Classic.AST.Syntax.IdK
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CCaseArm
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CClause
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CDef
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CDefl
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CDefn
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CExport
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CExpr
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CField
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CFixity
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CImport
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CInclude
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CInternalSummand
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CLiteral
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CMStmt
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.COp
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.COriginalSummand
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CPOp
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CPackage
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CPat
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CQual
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CRule
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CSignature
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.CStmt
instance GHC.Classes.Ord Language.Bluespec.Classic.AST.Syntax.IdK
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CClause
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CDef
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CDefl
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CDefn
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CExport
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CExpr
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CField
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CFixity
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CImport
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CInclude
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CLiteral
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CMStmt
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.COp
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CPOp
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CPackage
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CPat
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CQual
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CRule
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CSignature
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.CStmt
instance Text.PrettyPrint.HughesPJClass.Pretty Language.Bluespec.Classic.AST.Syntax.IdK
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CCaseArm
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CClause
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CDef
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CDefl
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CDefn
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CExport
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CExpr
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CField
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CFixity
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CImport
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CInclude
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CInternalSummand
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CLiteral
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CMStmt
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.COp
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.COriginalSummand
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CPOp
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CPackage
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CPat
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CQual
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CRule
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CSignature
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.CStmt
instance GHC.Internal.Show.Show Language.Bluespec.Classic.AST.Syntax.IdK

module Language.Bluespec.Classic.AST

module Language.Bluespec.Classic.AST.Builtin.Types
tArrow :: Type
tBit :: Type
tInt :: Type
tIntAt :: Position -> Type
tiEnum :: [Id] -> TISort
tiData :: [Id] -> TISort
tUInt :: Type
tBool :: Type
tPrimUnit :: Type
tPrimUnitAt :: Position -> Type
tInteger :: Type
tReal :: Type
tRealAt :: Position -> Type
tClock :: Type
tReset :: Type
tInout :: Type
tInout_ :: Type
tString :: Type
tChar :: Type
tFmt :: Type
tName :: Type
tPosition :: Type
tType :: Type
tPred :: Type
tAttributes :: Type
tPrimPair :: Type
tSizeOf :: Type
tAction :: Type
tActionValue :: Type
tActionValue_ :: Type
tAction_ :: Type
tActionAt :: Position -> Type
tActionValueAt :: Position -> Type
tActionValue_At :: Position -> Type
tPrimAction :: Type
tRules :: Type
tRulesAt :: Position -> Type
tSchedPragma :: Type
tModule :: Type
tVRWireN :: Type
tId :: Type
t32 :: Type
t32At :: Position -> Type
tOfSize :: Integer -> Position -> Type
tInt32At :: Position -> Type
tBitN :: Integer -> Position -> Type
tNat :: Position -> Type
tFile :: Type
tSvaParam :: Type
fn :: Type -> Type -> Type
infixr 4 `fn`
kNNN :: Kind
kNN :: Kind
kNNS :: Kind
kNS :: Kind
tAdd :: Type
tSub :: Type
tMul :: Type
tDiv :: Type
tLog :: Type
tExp :: Type
tMax :: Type
tMin :: Type
class HasKind t
kind :: HasKind t => t -> Kind
arrow :: Type -> Type -> Type
isPrimAction :: Type -> Bool
isActionValue :: Type -> Bool
getAVType :: Type -> Type
isActionWithoutValue :: Type -> Bool
isActionWithValue :: Type -> Bool
isClock :: Type -> Bool
isReset :: Type -> Bool
isInout :: Type -> Bool
isInout_ :: Type -> Bool
isBit :: Type -> Bool
isInt :: Type -> Bool
isUInt :: Type -> Bool
isBool :: Type -> Bool
isInteger :: Type -> Bool
isString :: Type -> Bool
isChar :: Type -> Bool
isReal :: Type -> Bool
isFmt :: Type -> Bool
instance Language.Bluespec.Classic.AST.Builtin.Types.HasKind Language.Bluespec.Classic.AST.Type.TyCon
instance Language.Bluespec.Classic.AST.Builtin.Types.HasKind Language.Bluespec.Classic.AST.Type.TyVar
instance Language.Bluespec.Classic.AST.Builtin.Types.HasKind Language.Bluespec.Classic.AST.Type.Type
