-- This corresponds to src/Comp/PreIds.hs in bsc.
module Language.Bluespec.Classic.AST.Builtin.Ids where

import Language.Bluespec.Classic.AST.Builtin.FStrings
import Language.Bluespec.Classic.AST.FString
import Language.Bluespec.Classic.AST.Id
import Language.Bluespec.Classic.AST.Position
import Language.Bluespec.Prelude

-- | Identifier without a position
mk_no :: FString -> Id
mk_no :: FString -> Id
mk_no FString
fs = Position -> FString -> Id
mkId Position
noPosition FString
fs

-- | Identifier in the Standard Prelude, with a position
prelude_id :: Position -> FString -> Id
prelude_id :: Position -> FString -> Id
prelude_id Position
p FString
fs = Position -> FString -> FString -> Id
mkQId Position
p FString
fsPrelude FString
fs

-- | Identifier in the Standard Prelude, with no position
prelude_id_no :: FString -> Id
prelude_id_no :: FString -> Id
prelude_id_no FString
fs = Position -> FString -> Id
prelude_id Position
noPosition FString
fs

-- | Identifier in the Standard Prelude, with a position
prelude_bsv_id :: Position -> FString -> Id
prelude_bsv_id :: Position -> FString -> Id
prelude_bsv_id Position
p FString
fs = Position -> FString -> FString -> Id
mkQId Position
p FString
fsPreludeBSV FString
fs

-- | Identifier in the Standard Prelude, with no position
prelude_bsv_id_no :: FString -> Id
prelude_bsv_id_no :: FString -> Id
prelude_bsv_id_no FString
fs = Position -> FString -> Id
prelude_bsv_id Position
noPosition FString
fs

-- | Add id properties to an already existing identifier
prop_prelude_id_no :: FString -> [IdProp] -> Id
prop_prelude_id_no :: FString -> [IdProp] -> Id
prop_prelude_id_no FString
fs [IdProp]
props =
    Id -> [IdProp] -> Id
addIdProps (Position -> FString -> Id
prelude_id (Position -> Bool -> Position
updatePosStdlib Position
noPosition Bool
True) FString
fs) [IdProp]
props

idB, idR :: Id
idB :: Id
idB = FString -> Id
prelude_id_no FString
fsB
idR :: Id
idR = FString -> Id
prelude_id_no FString
fsR
idArrow :: Position -> Id
idArrow :: Position -> Id
idArrow Position
p = Position -> FString -> Id
prelude_id Position
p FString
fsRArrow
idPrimUnit, idBit, idInt, idUInt, idVReg, idReg, idRWire, idPulseWire :: Id
idPrimUnit :: Id
idPrimUnit = FString -> Id
prelude_id_no FString
fsPrimUnit
idBit :: Id
idBit  = FString -> Id
prelude_id_no FString
fsBit
idInt :: Id
idInt  = FString -> Id
prelude_id_no FString
fsInt
idUInt :: Id
idUInt = FString -> Id
prelude_id_no FString
fsUInt
idVReg :: Id
idVReg = FString -> Id
prelude_id_no FString
fsVReg
idReg :: Id
idReg = FString -> Id
prelude_id_no FString
fsReg
idRWire :: Id
idRWire = FString -> Id
prelude_bsv_id_no FString
fsRWire
idPulseWire :: Id
idPulseWire = FString -> Id
prelude_bsv_id_no FString
fsPulseWire
idFIFO, idFIFOF, idSend, id_notFull, id_notEmpty, idEnq, idDeq, idFirst :: Id
idFIFO :: Id
idFIFO = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsFIFO FString
fsFIFO
idFIFOF :: Id
idFIFOF = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsFIFOF FString
fsFIFOF
idSend :: Id
idSend = FString -> Id
prelude_bsv_id_no FString
fsSend
id_notFull :: Id
id_notFull = FString -> Id
mk_no FString
fsFIFO_notFull
id_notEmpty :: Id
id_notEmpty = FString -> Id
mk_no FString
fsFIFO_notEmpty
idEnq :: Id
idEnq = FString -> Id
mk_no FString
fsFIFOEnq
idDeq :: Id
idDeq = FString -> Id
mk_no FString
fsFIFODeq
idFirst :: Id
idFirst = FString -> Id
mk_no FString
fsFIFOFirst
idInteger, idReal :: Id
idInteger :: Id
idInteger = FString -> Id
prelude_id_no FString
fsInteger
idReal :: Id
idReal = FString -> Id
prelude_id_no FString
fsReal
idRealAt :: Position -> Id
idRealAt :: Position -> Id
idRealAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReal
idString, idChar, idHandle, idBufferMode, idNoBuffering, idLineBuffering :: Id
idString :: Id
idString = FString -> Id
prelude_id_no FString
fsString
idChar :: Id
idChar = FString -> Id
prelude_id_no FString
fsChar
idHandle :: Id
idHandle = FString -> Id
prelude_id_no FString
fsHandle
idBufferMode :: Id
idBufferMode = FString -> Id
prelude_id_no FString
fsBufferMode
idNoBuffering :: Id
idNoBuffering = FString -> Id
prelude_id_no FString
fsNoBuffering
idLineBuffering :: Id
idLineBuffering = FString -> Id
prelude_id_no FString
fsLineBuffering
idBlockBuffering, idFmt, idPrimFmtConcat, idPrimPriMux, idFormat, idFShow :: Id
idBlockBuffering :: Id
idBlockBuffering = FString -> Id
prelude_id_no FString
fsBlockBuffering
idFmt :: Id
idFmt = FString -> Id
prelude_id_no FString
fsFmt
idPrimFmtConcat :: Id
idPrimFmtConcat = FString -> Id
prelude_id_no FString
fsPrimFmtConcat
idPrimPriMux :: Id
idPrimPriMux = FString -> Id
prelude_id_no FString
fsPrimPriMux
idFormat :: Id
idFormat = FString -> Id
prelude_id_no FString
fsFormat
idFShow :: Id
idFShow = FString -> Id
prelude_id_no FString
fsFShow
idfshow, idBool, idPrimFst, idPrimSnd, idPrimPair, idFalse, idTrue :: Id
idfshow :: Id
idfshow = FString -> Id
prelude_id_no FString
fsfshow
idBool :: Id
idBool = FString -> Id
prelude_id_no FString
fsBool
idPrimFst :: Id
idPrimFst = FString -> Id
prelude_id_no FString
fsPrimFst
idPrimSnd :: Id
idPrimSnd = FString -> Id
prelude_id_no FString
fsPrimSnd
idPrimPair :: Id
idPrimPair = FString -> Id
prelude_id_no FString
fsPrimPair
idFalse :: Id
idFalse = FString -> Id
prelude_id_no FString
fsFalse
idTrue :: Id
idTrue = FString -> Id
prelude_id_no FString
fsTrue
idSizeOf, idTAdd, idTSub, idTMul, idTDiv, idTLog, idTExp, idTMax, idTMin :: Id
idSizeOf :: Id
idSizeOf = FString -> Id
prelude_id_no FString
fsSizeOf
idTAdd :: Id
idTAdd = FString -> Id
prelude_id_no FString
fsTAdd
idTSub :: Id
idTSub = FString -> Id
prelude_id_no FString
fsTSub
idTMul :: Id
idTMul = FString -> Id
prelude_id_no FString
fsTMul
idTDiv :: Id
idTDiv = FString -> Id
prelude_id_no FString
fsTDiv
idTLog :: Id
idTLog = FString -> Id
prelude_id_no FString
fsTLog
idTExp :: Id
idTExp = FString -> Id
prelude_id_no FString
fsTExp
idTMax :: Id
idTMax = FString -> Id
prelude_id_no FString
fsTMax
idTMin :: Id
idTMin = FString -> Id
prelude_id_no FString
fsTMin
idAction, idPrimAction, idToPrimAction, idFromPrimAction :: Id
idAction :: Id
idAction = FString -> Id
prelude_id_no FString
fsAction
idPrimAction :: Id
idPrimAction = FString -> Id
prelude_id_no FString
fsPrimAction
idToPrimAction :: Id
idToPrimAction = FString -> Id
prelude_id_no FString
fsToPrimAction
idFromPrimAction :: Id
idFromPrimAction = FString -> Id
prelude_id_no FString
fsFromPrimAction
idFromActionValue_, idToActionValue_, idRules, idSchedPragma, idValueOf, idStringOf, idStringProxy :: Id
idFromActionValue_ :: Id
idFromActionValue_ = FString -> Id
prelude_id_no FString
fsFromActionValue_
idToActionValue_ :: Id
idToActionValue_ = FString -> Id
prelude_id_no FString
fsToActionValue_
idRules :: Id
idRules = FString -> Id
prelude_id_no FString
fsRules
idSchedPragma :: Id
idSchedPragma = FString -> Id
prelude_id_no FString
fsSchedPragma
idValueOf :: Id
idValueOf = FString -> Id
prelude_id_no FString
fsPrimValueOf
idStringOf :: Id
idStringOf = FString -> Id
prelude_id_no FString
fsPrimStringOf
idStringProxy :: Id
idStringProxy = FString -> Id
prelude_id_no FString
fsStringProxy
idPrimIndex, idPrimSelectable, idPrimUpdateable, idPrimWriteable :: Id
idPrimIndex :: Id
idPrimIndex = FString -> Id
prelude_id_no FString
fsPrimIndex
idPrimSelectable :: Id
idPrimSelectable = FString -> Id
prelude_id_no FString
fsPrimSelectable
idPrimUpdateable :: Id
idPrimUpdateable = FString -> Id
prelude_id_no FString
fsPrimUpdateable
idPrimWriteable :: Id
idPrimWriteable = FString -> Id
prelude_id_no FString
fsPrimWriteable
idChangeSpecialWires :: Position -> Id
idChangeSpecialWires :: Position -> Id
idChangeSpecialWires Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsChangeSpecialWires
idPrimSetSelPosition, idMaybe, idInvalid, idValid, idEmpty, idFile :: Id
idPrimSetSelPosition :: Id
idPrimSetSelPosition = FString -> Id
prelude_id_no FString
fsPrimSetSelPosition
idMaybe :: Id
idMaybe = FString -> Id
prelude_id_no FString
fsMaybe
idInvalid :: Id
idInvalid = FString -> Id
prelude_id_no FString
fsInvalid
idValid :: Id
idValid = FString -> Id
prelude_id_no FString
fsValid
idEmpty :: Id
idEmpty = FString -> Id
prelude_id_no FString
fsEmptyIfc
idFile :: Id
idFile = FString -> Id
prelude_id_no FString
fsFile
idEither, idLeft, idRight :: Id
idEither :: Id
idEither = FString -> Id
prelude_id_no FString
fsEither
idLeft :: Id
idLeft = FString -> Id
prelude_id_no FString
fsLeft
idRight :: Id
idRight = FString -> Id
prelude_id_no FString
fsRight

idActionValue :: Id
idActionValue :: Id
idActionValue = FString -> Id
prelude_id_no FString
fsActionValue
-- field names for the ActionValue interface
idAVValue, idAVAction :: Id
idAVValue :: Id
idAVValue = FString -> Id
prelude_id_no FString
fsAVValue
idAVAction :: Id
idAVAction = FString -> Id
prelude_id_no FString
fsAVAction

idActionValue_ :: Id
idActionValue_ :: Id
idActionValue_ = FString -> Id
prelude_id_no FString
fsActionValue_
-- field names for the ActionValue_ interface
idAVValue_, idAVAction_ :: Id
idAVValue_ :: Id
idAVValue_ = FString -> Id
prelude_id_no FString
fsAVValue_
idAVAction_ :: Id
idAVAction_ = FString -> Id
prelude_id_no FString
fsAVAction_

-- names of the special selector functions in the Prelude
id__value, id__action :: Id
id__value :: Id
id__value = FString -> Id
prelude_id_no FString
fs__value
id__action :: Id
id__action = FString -> Id
prelude_id_no FString
fs__action
id__value_at, id__action_at :: Position -> Id
id__value_at :: Position -> Id
id__value_at Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fs__value
id__action_at :: Position -> Id
id__action_at Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fs__action

idComma, idPlus, idMinus, idPrelude, idPreludeBSV :: Id
idComma :: Id
idComma = FString -> Id
mk_no FString
fsComma
idPlus :: Id
idPlus = FString -> Id
mk_no FString
fsPlus
idMinus :: Id
idMinus = FString -> Id
mk_no FString
fsMinus
idPrelude :: Id
idPrelude = FString -> Id
mk_no FString
fsPrelude
idPreludeBSV :: Id
idPreludeBSV = FString -> Id
mk_no FString
fsPreludeBSV

idPreludePlus :: Id
idPreludePlus :: Id
idPreludePlus = FString -> Id
prelude_id_no FString
fsPlus

-- Used by deriving
idEq, idBits, idLiteral, idRealLiteral, idSizedLiteral, idStringLiteral :: Id
idEq :: Id
idEq = FString -> Id
prelude_id_no FString
fsEq
idBits :: Id
idBits = FString -> Id
prelude_id_no FString
fsBits
idLiteral :: Id
idLiteral = FString -> Id
prelude_id_no FString
fsLiteral
idRealLiteral :: Id
idRealLiteral = FString -> Id
prelude_id_no FString
fsRealLiteral
idSizedLiteral :: Id
idSizedLiteral = FString -> Id
prelude_id_no FString
fsSizedLiteral
idStringLiteral :: Id
idStringLiteral = FString -> Id
prelude_id_no FString
fsStringLiteral
idPrimParam, idPrimPort, idBounded, idDefaultValue, id_defaultValue, idClsDeepSeqCond, idPrimDeepSeqCond :: Id
idPrimParam :: Id
idPrimParam = FString -> Id
prelude_id_no FString
fsPrimParam
idPrimPort :: Id
idPrimPort = FString -> Id
prelude_id_no FString
fsPrimPort
idBounded :: Id
idBounded = FString -> Id
prelude_id_no FString
fsBounded
idDefaultValue :: Id
idDefaultValue = FString -> Id
prelude_id_no FString
fsDefaultValue
id_defaultValue :: Id
id_defaultValue = FString -> Id
prelude_id_no FString
fs_defaultValue
idClsDeepSeqCond :: Id
idClsDeepSeqCond = FString -> Id
prelude_id_no FString
fsClsDeepSeqCond
idPrimDeepSeqCond :: Id
idPrimDeepSeqCond = FString -> Id
prelude_id_no FString
fsPrimDeepSeqCond
idPrimSeqCond, idUndefined, idEqual, idNotEqual, idPack, idUnpack, idFmap :: Id
idPrimSeqCond :: Id
idPrimSeqCond = FString -> Id
prelude_id_no FString
fsPrimSeqCond
idUndefined :: Id
idUndefined = FString -> Id
prelude_id_no FString
fsUndefined
idEqual :: Id
idEqual = FString -> Id
prelude_id_no FString
fsEqual
idNotEqual :: Id
idNotEqual = FString -> Id
prelude_id_no FString
fsNotEqual
idPack :: Id
idPack = FString -> Id
prelude_id_no FString
fsPack
idUnpack :: Id
idUnpack = FString -> Id
prelude_id_no FString
fsUnpack
idFmap :: Id
idFmap = FString -> Id
prelude_id_no FString
fsFmap
idMaxBound, idMinBound, idBuildUndef, idMakeUndef, idRawUndef, idAdd :: Id
idMaxBound :: Id
idMaxBound = FString -> Id
prelude_id_no FString
fsMaxBound
idMinBound :: Id
idMinBound = FString -> Id
prelude_id_no FString
fsMinBound
idBuildUndef :: Id
idBuildUndef = FString -> Id
prelude_id_no FString
fsBuildUndef
idMakeUndef :: Id
idMakeUndef = FString -> Id
prelude_id_no FString
fsMakeUndef
idRawUndef :: Id
idRawUndef = FString -> Id
prelude_id_no FString
fsRawUndef
idAdd :: Id
idAdd = FString -> [IdProp] -> Id
prop_prelude_id_no FString
fsAdd [IdProp
IdPCommutativeTCon]
idMax, idMin, idLog, idMul, idDiv, idNumEq, idAnd, idNot, idPrimSplit :: Id
idMax :: Id
idMax = FString -> [IdProp] -> Id
prop_prelude_id_no FString
fsMax [IdProp
IdPCommutativeTCon]
idMin :: Id
idMin = FString -> [IdProp] -> Id
prop_prelude_id_no FString
fsMin [IdProp
IdPCommutativeTCon]
idLog :: Id
idLog = FString -> Id
prelude_id_no FString
fsLog
idMul :: Id
idMul = FString -> [IdProp] -> Id
prop_prelude_id_no FString
fsMul [IdProp
IdPCommutativeTCon]
idDiv :: Id
idDiv = FString -> Id
prelude_id_no FString
fsDiv
idNumEq :: Id
idNumEq = FString -> [IdProp] -> Id
prop_prelude_id_no FString
fsNumEq [IdProp
IdPCommutativeTCon]
idAnd :: Id
idAnd = FString -> Id
prelude_id_no FString
fsAnd
idNot :: Id
idNot = FString -> Id
prelude_id_no FString
fsNot
idPrimSplit :: Id
idPrimSplit = FString -> Id
prelude_id_no FString
fsPrimSplit
idPrimConcat, idPrimMul, idPrimQuot, idPrimRem, idPrimTrunc, idPrimOrd :: Id
idPrimConcat :: Id
idPrimConcat = FString -> Id
prelude_id_no FString
fsPrimConcat
idPrimMul :: Id
idPrimMul = FString -> Id
prelude_id_no FString
fsPrimMul
idPrimQuot :: Id
idPrimQuot = FString -> Id
prelude_id_no FString
fsPrimQuot
idPrimRem :: Id
idPrimRem = FString -> Id
prelude_id_no FString
fsPrimRem
idPrimTrunc :: Id
idPrimTrunc = FString -> Id
prelude_id_no FString
fsPrimTrunc
idPrimOrd :: Id
idPrimOrd = FString -> Id
prelude_id_no FString
fsPrimOrd
idPrimChr, idLiftM, idPrimError :: Id
idPrimChr :: Id
idPrimChr = FString -> Id
prelude_id_no FString
fsPrimChr
idLiftM :: Id
idLiftM = FString -> Id
prelude_id_no FString
fsLiftM
idPrimError :: Id
idPrimError = FString -> Id
prelude_id_no FString
fsPrimError
idGeneric, idFrom, idTo, idConc, idConcPrim, idConcPoly, idMeta :: Id
idGeneric :: Id
idGeneric = FString -> Id
prelude_id_no FString
fsGeneric
idFrom :: Id
idFrom = FString -> Id
prelude_id_no FString
fsFrom
idTo :: Id
idTo = FString -> Id
prelude_id_no FString
fsTo
idConc :: Id
idConc = FString -> Id
prelude_id_no FString
fsConc
idConcPrim :: Id
idConcPrim = FString -> Id
prelude_id_no FString
fsConcPrim
idConcPoly :: Id
idConcPoly = FString -> Id
prelude_id_no FString
fsConcPoly
idMeta :: Id
idMeta = FString -> Id
prelude_id_no FString
fsMeta
idMetaData, idStarArg, idNumArg, idStrArg, idConArg, idMetaConsNamed, idMetaConsAnon, idMetaField :: Id
idMetaData :: Id
idMetaData = FString -> Id
prelude_id_no FString
fsMetaData
idStarArg :: Id
idStarArg = FString -> Id
prelude_id_no FString
fsStarArg
idNumArg :: Id
idNumArg = FString -> Id
prelude_id_no FString
fsNumArg
idStrArg :: Id
idStrArg = FString -> Id
prelude_id_no FString
fsStrArg
idConArg :: Id
idConArg = FString -> Id
prelude_id_no FString
fsConArg
idMetaConsNamed :: Id
idMetaConsNamed = FString -> Id
prelude_id_no FString
fsMetaConsNamed
idMetaConsAnon :: Id
idMetaConsAnon = FString -> Id
prelude_id_no FString
fsMetaConsAnon
idMetaField :: Id
idMetaField = FString -> Id
prelude_id_no FString
fsMetaField
idPolyWrapField :: Id
idPolyWrapField :: Id
idPolyWrapField = FString -> Id
mk_no FString
fsPolyWrapField

-- | Used by GenWrap for "polymorphic" modules
idLiftModule :: Id
idLiftModule :: Id
idLiftModule = FString -> Id
prelude_id_no FString
fsLiftModule

-- Used by desugaring
id_lam, id_if, id_read, id_write :: Position -> Id
id_lam :: Position -> Id
id_lam Position
pos = Position -> FString -> Id
mkId Position
pos FString
fs_lam
id_if :: Position -> Id
id_if Position
pos = Position -> FString -> Id
mkId Position
pos FString
fs_if
id_read :: Position -> Id
id_read Position
pos = Position -> FString -> Id
mkId Position
pos FString
fs_read
id_write :: Position -> Id
id_write Position
pos = Position -> FString -> Id
mkId Position
pos FString
fs_write
idPreludeRead, idPreludeWrite, idAssign :: Id
idPreludeRead :: Id
idPreludeRead = FString -> Id
prelude_id_no FString
fsRead
idPreludeWrite :: Id
idPreludeWrite = FString -> Id
prelude_id_no FString
fsRegWrite
idAssign :: Id
idAssign = Position -> FString -> Id
mkId Position
noPosition FString
fsAssign
idExtract, idFromInteger, idFromReal, idFromSizedInteger :: Position -> Id
idExtract :: Position -> Id
idExtract Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsExtract
idFromInteger :: Position -> Id
idFromInteger Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsFromInteger
idFromReal :: Position -> Id
idFromReal Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsFromReal
idFromSizedInteger :: Position -> Id
idFromSizedInteger Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsFromSizedInteger
idFromString, idPrimCharToString, idPrimToParam, idPrimToPort :: Position -> Id
idFromString :: Position -> Id
idFromString Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsFromString
idPrimCharToString :: Position -> Id
idPrimCharToString Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimCharToString
idPrimToParam :: Position -> Id
idPrimToParam Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimToParam
idPrimToPort :: Position -> Id
idPrimToPort Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimToPort
id_case, idBind, idBind_, idReturn, idMonad :: Position -> Id
id_case :: Position -> Id
id_case Position
pos = Position -> FString -> Id
mkId Position
pos FString
fs_case
idBind :: Position -> Id
idBind Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsBind
idBind_ :: Position -> Id
idBind_ Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsBind_
idReturn :: Position -> Id
idReturn Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReturn
idMonad :: Position -> Id
idMonad Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsMonad
idIsModule, idModule, idId :: Id
idIsModule :: Id
idIsModule = FString -> Id
prelude_id_no FString
fsIsModule
idModule :: Id
idModule = FString -> Id
prelude_id_no FString
fsModule
idId :: Id
idId = FString -> Id
prelude_id_no FString
fsId
idPrimModule :: Position -> Id
idPrimModule :: Position -> Id
idPrimModule Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimModule
idPrimStringConcat :: Id
idPrimStringConcat :: Id
idPrimStringConcat = FString -> Id
prelude_id_no FString
fsPrimStringConcat
idAddRules, idMkRegU, idTheResult, idF, idM, idC :: Position -> Id
idAddRules :: Position -> Id
idAddRules Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsAddRules
idMkRegU :: Position -> Id
idMkRegU Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsMkRegU
idTheResult :: Position -> Id
idTheResult Position
pos = Id -> IdProp -> Id
addIdProp (Position -> FString -> Id
mkId Position
pos FString
fsTheResult) IdProp
IdPRenaming
idF :: Position -> Id
idF Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsF
idM :: Position -> Id
idM Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsM
idC :: Position -> Id
idC Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsC
idPrimSelectFn, idPrimUpdateFn, idPrimWriteFn, idPrimUpdateRangeFn :: Position -> Id
idPrimSelectFn :: Position -> Id
idPrimSelectFn Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsPrimSelectFn
idPrimUpdateFn :: Position -> Id
idPrimUpdateFn Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsPrimUpdateFn
idPrimWriteFn :: Position -> Id
idPrimWriteFn Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsPrimWriteFn
idPrimUpdateRangeFn :: Position -> Id
idPrimUpdateRangeFn Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimUpdateRangeFn
idSAction, idSActionValue, idStmtify, idCallServer :: Position -> Id
idSAction :: Position -> Id
idSAction Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSAction
idSActionValue :: Position -> Id
idSActionValue Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSActionValue
idStmtify :: Position -> Id
idStmtify Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsStmtify
idCallServer :: Position -> Id
idCallServer Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsCallServer
idSIf1, idSIf2, idSAbtIf1, idSAbtIf2, idSRepeat, idSWhile, idSFor :: Position -> Id
idSIf1 :: Position -> Id
idSIf1 Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsSIf1
idSIf2 :: Position -> Id
idSIf2 Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsSIf2
idSAbtIf1 :: Position -> Id
idSAbtIf1 Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSAbtIf1
idSAbtIf2 :: Position -> Id
idSAbtIf2 Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSAbtIf2
idSRepeat :: Position -> Id
idSRepeat Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSRepeat
idSWhile :: Position -> Id
idSWhile Position
pos  = Position -> FString -> Id
mkId Position
pos FString
fsSWhile
idSFor :: Position -> Id
idSFor Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsSFor
idSSeq, idSPar, idSLabel, idSJump, idSNamed, idS, idStmt :: Position -> Id
idSSeq :: Position -> Id
idSSeq Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsSSeq
idSPar :: Position -> Id
idSPar Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsSPar
idSLabel :: Position -> Id
idSLabel Position
pos  = Position -> FString -> Id
mkId Position
pos FString
fsSLabel
idSJump :: Position -> Id
idSJump Position
pos   = Position -> FString -> Id
mkId Position
pos FString
fsSJump
idSNamed :: Position -> Id
idSNamed Position
pos  = Position -> FString -> Id
mkId Position
pos FString
fsSNamed
idS :: Position -> Id
idS    Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsS
idStmt :: Position -> Id
idStmt Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsStmt
idSBreak, idSContinue, idSReturn, idCons, idConcat :: Position -> Id
idSBreak :: Position -> Id
idSBreak Position
pos  = Position -> FString -> Id
mkId Position
pos FString
fsSBreak
idSContinue :: Position -> Id
idSContinue Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSContinue
idSReturn :: Position -> Id
idSReturn   Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSReturn
idCons :: Position -> Id
idCons Position
pos    = Position -> FString -> Id
mkId Position
pos FString
fsCons
idConcat :: Position -> Id
idConcat Position
pos  = Position -> FString -> Id
mkId Position
pos FString
fsConcat
idNil, idNothing, idSprime :: Position -> Id
idNil :: Position -> Id
idNil     Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsNil
idNothing :: Position -> Id
idNothing Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsNothing
idSprime :: Position -> Id
idSprime  Position
pos = Position -> FString -> Id
mkId Position
pos FString
fsSprime

-- | Used to prevent implicit read etc.
idAsIfc, idAsReg :: Id
idAsIfc :: Id
idAsIfc = FString -> Id
prelude_id_no FString
fsAsIfc
idAsReg :: Id
idAsReg = FString -> Id
prelude_id_no FString
fsAsReg

-- used to inject state names
idName, idPrimGetName :: Id
idName :: Id
idName = FString -> Id
prelude_id_no FString
fsName
idPrimGetName :: Id
idPrimGetName = FString -> Id
prelude_id_no FString
fsPrimGetName
idPrimGetNameAt :: Position -> Id
idPrimGetNameAt :: Position -> Id
idPrimGetNameAt Position
pos  = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimGetName
idPrimGetParamName :: Id
idPrimGetParamName :: Id
idPrimGetParamName = FString -> Id
prelude_id_no FString
fsPrimGetParamName
idPrimGetParamNameAt, idPrimJoinNamesAt, idPrimExtNameIdxAt, idSetStateNameAt :: Position -> Id
idPrimGetParamNameAt :: Position -> Id
idPrimGetParamNameAt Position
pos  = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimGetParamName
idPrimJoinNamesAt :: Position -> Id
idPrimJoinNamesAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimJoinNames
idPrimExtNameIdxAt :: Position -> Id
idPrimExtNameIdxAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimExtNameIdx
idSetStateNameAt :: Position -> Id
idSetStateNameAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsSetStateName
idGetModuleName :: Id
idGetModuleName :: Id
idGetModuleName = FString -> Id
prelude_id_no FString
fsGetModuleName

-- | 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
idForceIsModuleAt :: Position -> Id
idForceIsModuleAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsForceIsModule

-- | Use for communicating positions for errors, warnings and messages
idPosition, idNoPosition, idPrimGetEvalPosition :: Id
idPosition :: Id
idPosition = FString -> Id
prelude_id_no FString
fsPosition
idNoPosition :: Id
idNoPosition = FString -> Id
prelude_id_no FString
fsNoPosition
idPrimGetEvalPosition :: Id
idPrimGetEvalPosition = FString -> Id
prelude_id_no FString
fsPrimGetEvalPosition

-- | Used to carry attributes
idAttributes :: Id
idAttributes :: Id
idAttributes = FString -> Id
prelude_id_no FString
fsAttributes
idSetStateAttribAt :: Position -> Id
idSetStateAttribAt :: Position -> Id
idSetStateAttribAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsSetStateAttrib

idType, idTypeOf, idSavePortType, idPrintType :: Id
idType :: Id
idType = FString -> Id
prelude_id_no FString
fsType
idTypeOf :: Id
idTypeOf = FString -> Id
prelude_id_no FString
fsTypeOf
idSavePortType :: Id
idSavePortType = FString -> Id
prelude_id_no FString
fsSavePortType
idPrintType :: Id
idPrintType = FString -> Id
prelude_id_no FString
fsPrintType

-- | Abstract type for implicit conditions
idPred :: Id
idPred :: Id
idPred = FString -> Id
prelude_id_no FString
fsPred

-- Used by iConv
idPrimBAnd, idPrimBOr, idPrimBNot, idPrimSL, idPrimSRL :: Id
idPrimBAnd :: Id
idPrimBAnd = FString -> Id
prelude_id_no FString
fsPrimBAnd
idPrimBOr :: Id
idPrimBOr = FString -> Id
prelude_id_no FString
fsPrimBOr
idPrimBNot :: Id
idPrimBNot = FString -> Id
prelude_id_no FString
fsPrimBNot
idPrimSL :: Id
idPrimSL = FString -> Id
prelude_id_no FString
fsPrimSL
idPrimSRL :: Id
idPrimSRL = FString -> Id
prelude_id_no FString
fsPrimSRL
idPrimInv, idPrimIf, idPrimCase, idPrimArrayDynSelect, idPrimBuildArray :: Id
idPrimInv :: Id
idPrimInv = FString -> Id
prelude_id_no FString
fsPrimInv
idPrimIf :: Id
idPrimIf = FString -> Id
prelude_id_no FString
fsPrimIf
idPrimCase :: Id
idPrimCase = FString -> Id
prelude_id_no FString
fsPrimCase
idPrimArrayDynSelect :: Id
idPrimArrayDynSelect = FString -> Id
prelude_id_no FString
fsPrimArrayDynSelect
idPrimBuildArray :: Id
idPrimBuildArray = FString -> Id
prelude_id_no FString
fsPrimBuildArray
idPrimWhen, idPrimSelect :: Id
idPrimWhen :: Id
idPrimWhen = FString -> Id
prelude_id_no FString
fsPrimWhen
idPrimSelect :: Id
idPrimSelect = FString -> Id
prelude_id_no FString
fsPrimSelect
idPrimSelectAt :: Position -> Id
idPrimSelectAt :: Position -> Id
idPrimSelectAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimSelect
idPrimZeroExt, idPrimSignExt, idPrimJoinRules, idPrimNoRules, idPrimRule :: Id
idPrimZeroExt :: Id
idPrimZeroExt = FString -> Id
prelude_id_no FString
fsPrimZeroExt
idPrimSignExt :: Id
idPrimSignExt = FString -> Id
prelude_id_no FString
fsPrimSignExt
idPrimJoinRules :: Id
idPrimJoinRules = FString -> Id
prelude_id_no FString
fsPrimJoinRules
idPrimNoRules :: Id
idPrimNoRules = FString -> Id
prelude_id_no FString
fsPrimNoRules
idPrimRule :: Id
idPrimRule = FString -> Id
prelude_id_no FString
fsPrimRule
idPrimJoinActions, idPrimAddSchedPragmas, idPrimNoActions, idPrimNoExpIf :: Id
idPrimJoinActions :: Id
idPrimJoinActions = FString -> Id
prelude_id_no FString
fsPrimJoinActions
idPrimAddSchedPragmas :: Id
idPrimAddSchedPragmas = FString -> Id
prelude_id_no FString
fsPrimAddSchedPragmas
idPrimNoActions :: Id
idPrimNoActions = FString -> Id
prelude_id_no FString
fsPrimNoActions
idPrimNoExpIf :: Id
idPrimNoExpIf = FString -> Id
prelude_id_no FString
fsPrimNoExpIf
idPrimExpIf, idPrimNosplitDeep, idPrimSplitDeep, idSplitDeepAV :: Id
idPrimExpIf :: Id
idPrimExpIf = FString -> Id
prelude_id_no FString
fsPrimExpIf
idPrimNosplitDeep :: Id
idPrimNosplitDeep = FString -> Id
prelude_id_no FString
fsPrimNosplitDeep
idPrimSplitDeep :: Id
idPrimSplitDeep = FString -> Id
prelude_id_no FString
fsPrimSplitDeep
idSplitDeepAV :: Id
idSplitDeepAV = FString -> Id
prelude_id_no FString
fsSplitDeepAV
idNosplitDeepAV, idMfix, idStaticAssert, idDynamicAssert :: Id
idNosplitDeepAV :: Id
idNosplitDeepAV = FString -> Id
prelude_id_no FString
fsNosplitDeepAV
idPrimFix :: Position -> Id
idPrimFix :: Position -> Id
idPrimFix Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimFix
idMfix :: Id
idMfix = FString -> Id
prelude_id_no FString
fsMfix
idStaticAssert :: Id
idStaticAssert = FString -> Id
mk_no FString
fsStaticAssert
idDynamicAssert :: Id
idDynamicAssert = FString -> Id
mk_no FString
fsDynamicAssert
idContinuousAssert, id_staticAssert, id_dynamicAssert, id_continuousAssert :: Id
idContinuousAssert :: Id
idContinuousAssert = FString -> Id
mk_no FString
fsContinuousAssert
id_staticAssert :: Id
id_staticAssert = FString -> Id
mk_no  FString
fs_staticAssert
id_dynamicAssert :: Id
id_dynamicAssert = FString -> Id
mk_no FString
fs_dynamicAssert
id_continuousAssert :: Id
id_continuousAssert = FString -> Id
mk_no FString
fs_continuousAssert
idClsUninitialized, idPrimUninitialized :: Id
idClsUninitialized :: Id
idClsUninitialized = FString -> Id
prelude_id_no FString
fsClsUninitialized
idPrimUninitialized :: Id
idPrimUninitialized = FString -> Id
prelude_id_no FString
fsPrimUninitialized
idPrimUninitializedAt :: Position -> Id
idPrimUninitializedAt :: Position -> Id
idPrimUninitializedAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimUninitialized
idPrimMakeUninitialized, idPrimRawUninitialized, idPrimPoisonedDef :: Id
idPrimMakeUninitialized :: Id
idPrimMakeUninitialized = FString -> Id
prelude_id_no FString
fsPrimMakeUninitialized
idPrimRawUninitialized :: Id
idPrimRawUninitialized = FString -> Id
prelude_id_no FString
fsPrimRawUninitialized
idPrimPoisonedDef :: Id
idPrimPoisonedDef = FString -> Id
prelude_id_no FString
fsPrimPoisonedDef
idStringAt, idFmtAt, idPrimStringConcatAt :: Position -> Id
idStringAt :: Position -> Id
idStringAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsString
idFmtAt :: Position -> Id
idFmtAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsFmt
idPrimStringConcatAt :: Position -> Id
idPrimStringConcatAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimStringConcat

-- | Clock and reset identifiers
idClock, idClockOsc, idClockGate, idReset, idInout, idInout_ :: Id
idClock :: Id
idClock = FString -> Id
prelude_id_no FString
fsClock
idClockOsc :: Id
idClockOsc = FString -> Id
prelude_id_no FString
fsClockOsc
idClockGate :: Id
idClockGate = FString -> Id
prelude_id_no FString
fsClockGate
idReset :: Id
idReset = FString -> Id
prelude_id_no FString
fsReset
idInout :: Id
idInout  = FString -> Id
prelude_id_no FString
fsInout
idInout_ :: Id
idInout_ = FString -> Id
prelude_id_no FString
fsInout_
idPrimInoutCast, idPrimInoutUncast, idPrimInoutCast0, idPrimInoutUncast0 :: Id
idPrimInoutCast :: Id
idPrimInoutCast = FString -> Id
prelude_id_no FString
fsPrimInoutCast
idPrimInoutUncast :: Id
idPrimInoutUncast = FString -> Id
prelude_id_no FString
fsPrimInoutUncast
idPrimInoutCast0 :: Id
idPrimInoutCast0 = FString -> Id
prelude_id_no FString
fsPrimInoutCast0
idPrimInoutUncast0 :: Id
idPrimInoutUncast0 = FString -> Id
prelude_id_no FString
fsPrimInoutUncast0

idExposeCurrentClock, idExposeCurrentReset :: Id
idExposeCurrentClock :: Id
idExposeCurrentClock = FString -> Id
prelude_id_no FString
fsExposeCurrentClock
idExposeCurrentReset :: Id
idExposeCurrentReset = FString -> Id
prelude_id_no FString
fsExposeCurrentReset

idNoClock, idNoReset, idPrimReplaceClockGate :: Id
-- needed for noClock constant in ISyntax
idNoClock :: Id
idNoClock = FString -> Id
prelude_id_no FString
fsNoClock
-- needed for noReset constant in ISyntax
idNoReset :: Id
idNoReset = FString -> Id
prelude_id_no FString
fsNoReset
-- needed for GenWrap
idPrimReplaceClockGate :: Id
idPrimReplaceClockGate = FString -> Id
prelude_id_no FString
fsPrimReplaceClockGate

idClk, idRst :: Id
idClk :: Id
idClk = FString -> Id
mk_no FString
fsClk -- position?
idRst :: Id
idRst = FString -> Id
mk_no FString
fsRst -- position?

idCLK, idCLK_GATE :: Id
idCLK :: Id
idCLK = FString -> Id
mk_no FString
fsCLK
idCLK_GATE :: Id
idCLK_GATE = FString -> Id
mk_no FString
fsCLK_GATE
-- idRSTN = mk_no fsRSTN

idDefaultClock, idDefaultReset :: Id
idDefaultClock :: Id
idDefaultClock = FString -> Id
mk_no FString
fsDefaultClock
idDefaultReset :: Id
idDefaultReset = FString -> Id
mk_no FString
fsDefaultReset

-- iConv junk
idPrimSplitFst, idPrimSplitSnd :: Id
idPrimSplitFst :: Id
idPrimSplitFst = FString -> Id
prelude_id_no FString
fsPrimSplitFst
idPrimSplitSnd :: Id
idPrimSplitSnd = FString -> Id
prelude_id_no FString
fsPrimSplitSnd

id_x, id_y, id_fun, id_forallb :: Id
id_x :: Id
id_x   = Id -> Id
setBadId (Id -> Id) -> Id -> Id
forall a b. (a -> b) -> a -> b
$ FString -> Id
mk_no FString
fs_x
id_y :: Id
id_y   = Id -> Id
setBadId (Id -> Id) -> Id -> Id
forall a b. (a -> b) -> a -> b
$ FString -> Id
mk_no FString
fs_y
id_fun :: Id
id_fun = Id -> Id
setBadId (Id -> Id) -> Id -> Id
forall a b. (a -> b) -> a -> b
$ FString -> Id
mk_no FString
fs_fun
id_forallb :: Id
id_forallb = Id -> Id
setBadId (Id -> Id) -> Id -> Id
forall a b. (a -> b) -> a -> b
$ FString -> Id
mk_no FString
fs_forallb

tmpVarIds, tmpVarXIds, tmpVarYIds, tmpVarSIds :: [Id]
tmpVarIds :: [Id]
tmpVarIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"a" Position
noPosition) [Int
1000..]
tmpVarXIds :: [Id]
tmpVarXIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"x" Position
noPosition) [Int
1000000..]
tmpVarYIds :: [Id]
tmpVarYIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"y" Position
noPosition) [Int
2000000..]
tmpVarSIds :: [Id]
tmpVarSIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"s" Position
noPosition) [Int
3000000..]
tmpTyNumIds, tmpTyVarIds :: [Id]
tmpTyNumIds :: [Id]
tmpTyNumIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"tnum" Position
noPosition) [Int
4000000..]
tmpTyVarIds :: [Id]
tmpTyVarIds = (Int -> Id) -> [Int] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Position -> Int -> Id
enumId String
"v" Position
noPosition) [Int
100..]

-- | Used by iExpand
idPrimEQ, idPrimULE, idPrimULT, idPrimSLE, idPrimSLT :: Id
idPrimEQ :: Id
idPrimEQ = FString -> Id
prelude_id_no FString
fsPrimEQ
idPrimULE :: Id
idPrimULE = FString -> Id
prelude_id_no FString
fsPrimULE
idPrimULT :: Id
idPrimULT = FString -> Id
prelude_id_no FString
fsPrimULT
idPrimSLE :: Id
idPrimSLE = FString -> Id
prelude_id_no FString
fsPrimSLE
idPrimSLT :: Id
idPrimSLT = FString -> Id
prelude_id_no FString
fsPrimSLT

-- | Used by iTransform
idPrimAdd, idPrimSub :: Id
idPrimAdd :: Id
idPrimAdd = FString -> Id
prelude_id_no FString
fsPrimAdd
idPrimSub :: Id
idPrimSub = FString -> Id
prelude_id_no FString
fsPrimSub

-- | Used by AddCFWire
idVRWireN, idVmkRWire1, idWGet, idWSet, idWHas :: Id
idVRWireN :: Id
idVRWireN   = FString -> Id
prelude_bsv_id_no FString
fsVRWireN
idVmkRWire1 :: Id
idVmkRWire1 = FString -> Id
prelude_bsv_id_no FString
fsVmkRWire1
idWGet :: Id
idWGet = FString -> Id
prelude_bsv_id_no FString
fsWGet
idWSet :: Id
idWSet = FString -> Id
prelude_bsv_id_no FString
fsWSet
idWHas :: Id
idWHas = FString -> Id
prelude_bsv_id_no FString
fsWHas

-- versions parametrized on position
idPrimConcatAt, idTrueAt, idAddRulesAt, idOrAt, idEqualAt :: Position -> Id
idPrimConcatAt :: Position -> Id
idPrimConcatAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimConcat
idTrueAt :: Position -> Id
idTrueAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsTrue
idAddRulesAt :: Position -> Id
idAddRulesAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsAddRules
idOrAt :: Position -> Id
idOrAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsOr
idEqualAt :: Position -> Id
idEqualAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsEqual
idNotEqualAt, idPrimUnitAt, idErrorAt, idNegateAt, idIdentityAt :: Position -> Id
idNotEqualAt :: Position -> Id
idNotEqualAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsNotEqual
idPrimUnitAt :: Position -> Id
idPrimUnitAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimUnit
idErrorAt :: Position -> Id
idErrorAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsError
idNegateAt :: Position -> Id
idNegateAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsNegate
idIdentityAt :: Position -> Id
idIdentityAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsIdentity
idNotAt, idInvertAt, idPercentAt, idModuleAt, idIsModuleAt :: Position -> Id
idNotAt :: Position -> Id
idNotAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsNot
idInvertAt :: Position -> Id
idInvertAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsInvert
idPercentAt :: Position -> Id
idPercentAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPercent
idModuleAt :: Position -> Id
idModuleAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsModule
idIsModuleAt :: Position -> Id
idIsModuleAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsIsModule
idActionAt, idActionValueAt, idActionValue_At, idIntAt :: Position -> Id
idActionAt :: Position -> Id
idActionAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsAction
idActionValueAt :: Position -> Id
idActionValueAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsActionValue
idActionValue_At :: Position -> Id
idActionValue_At Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsActionValue_
idIntAt :: Position -> Id
idIntAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsInt
idUnpackAt, idStarAt, idSlashAt, idStarStarAt, idPlusAt :: Position -> Id
idUnpackAt :: Position -> Id
idUnpackAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsUnpack
idStarAt :: Position -> Id
idStarAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsStar
idSlashAt :: Position -> Id
idSlashAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsSlash
idStarStarAt :: Position -> Id
idStarStarAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsStarStar
idPlusAt :: Position -> Id
idPlusAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPlus
idMinusAt, idLshAt, idRshAt, idLtAt, idGtAt, idLtEqAt :: Position -> Id
idMinusAt :: Position -> Id
idMinusAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsMinus
idLshAt :: Position -> Id
idLshAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsLsh
idRshAt :: Position -> Id
idRshAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsRsh
idLtAt :: Position -> Id
idLtAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsLT
idGtAt :: Position -> Id
idGtAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsGT
idLtEqAt :: Position -> Id
idLtEqAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsLtEq
idGtEqAt, idAndAt, idBitAndAt, idBitOrAt, idCaretAt :: Position -> Id
idGtEqAt :: Position -> Id
idGtEqAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsGtEq
idAndAt :: Position -> Id
idAndAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsAnd
idBitAndAt :: Position -> Id
idBitAndAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsBitAnd
idBitOrAt :: Position -> Id
idBitOrAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsBitOr
idCaretAt :: Position -> Id
idCaretAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsCaret
idTildeCaretAt, idCaretTildeAt, idReduceAndAt, idReduceOrAt :: Position -> Id
idTildeCaretAt :: Position -> Id
idTildeCaretAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsTildeCaret
idCaretTildeAt :: Position -> Id
idCaretTildeAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsCaretTilde
idReduceAndAt :: Position -> Id
idReduceAndAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceAnd
idReduceOrAt :: Position -> Id
idReduceOrAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceOr
idReduceXorAt, idReduceNandAt, idReduceNorAt, idReduceXnorAt :: Position -> Id
idReduceXorAt :: Position -> Id
idReduceXorAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceXor
idReduceNandAt :: Position -> Id
idReduceNandAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceNand
idReduceNorAt :: Position -> Id
idReduceNorAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceNor
idReduceXnorAt :: Position -> Id
idReduceXnorAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsReduceXnor
idRulesAt, idConstAllBitsSetAt, idConstAllBitsUnsetAt :: Position -> Id
idRulesAt :: Position -> Id
idRulesAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsRules
idConstAllBitsSetAt :: Position -> Id
idConstAllBitsSetAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsConstAllBitsSet
idConstAllBitsUnsetAt :: Position -> Id
idConstAllBitsUnsetAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsConstAllBitsUnset

-- | List declaration desugaring
idListAt :: Position -> Id
idListAt :: Position -> Id
idListAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsList

-- array declaration desugaring
idPrimArrayAt, idPrimArrayNewAt, idPrimArrayNewUAt :: Position -> Id
idPrimArrayAt :: Position -> Id
idPrimArrayAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArray
idPrimArrayNewAt :: Position -> Id
idPrimArrayNewAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArrayNew
idPrimArrayNewUAt :: Position -> Id
idPrimArrayNewUAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArrayNewU
idPrimArrayLengthAt, idPrimArrayInitializeAt, idPrimArrayCheckAt :: Position -> Id
idPrimArrayLengthAt :: Position -> Id
idPrimArrayLengthAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArrayLength
idPrimArrayInitializeAt :: Position -> Id
idPrimArrayInitializeAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArrayInitialize
idPrimArrayCheckAt :: Position -> Id
idPrimArrayCheckAt Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsPrimArrayCheck

-- | List identifiers for catching type errors on lists
idList, idListN, idVector, idToVector, idToListN, idPrimArray :: Id
idList :: Id
idList = FString -> Id
prelude_id_no FString
fsList  -- there is no List::List
idListN :: Id
idListN = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsListN FString
fsListN  -- not yet moved to Prelude
idVector :: Id
idVector = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsVector FString
fsVector  -- but renamed to Vector
idToVector :: Id
idToVector = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsVector FString
fsToVector
idToListN :: Id
idToListN  = Position -> FString -> FString -> Id
mkQId Position
noPosition FString
fsListN FString
fsToListN
idPrimArray :: Id
idPrimArray = FString -> Id
prelude_id_no FString
fsPrimArray

-- system task ids
idFinish, idStop :: Id
idFinish :: Id
idFinish    = FString -> Id
prelude_id_no FString
fsFinish
idStop :: Id
idStop      = FString -> Id
prelude_id_no FString
fsStop

idDisplay, idDisplayh, idDisplayb, idDisplayo :: Id
idDisplay :: Id
idDisplay   = FString -> Id
prelude_id_no FString
fsDisplay
idDisplayh :: Id
idDisplayh  = FString -> Id
prelude_id_no FString
fsDisplayh
idDisplayb :: Id
idDisplayb  = FString -> Id
prelude_id_no FString
fsDisplayb
idDisplayo :: Id
idDisplayo  = FString -> Id
prelude_id_no FString
fsDisplayo

idWrite, idWriteh, idWriteb, idWriteo :: Id
idWrite :: Id
idWrite     = FString -> Id
prelude_id_no FString
fsWrite
idWriteh :: Id
idWriteh    = FString -> Id
prelude_id_no FString
fsWriteh
idWriteb :: Id
idWriteb    = FString -> Id
prelude_id_no FString
fsWriteb
idWriteo :: Id
idWriteo    = FString -> Id
prelude_id_no FString
fsWriteo

idFDisplay, idFDisplayh, idFDisplayb, idFDisplayo :: Id
idFDisplay :: Id
idFDisplay   = FString -> Id
prelude_id_no FString
fsFDisplay
idFDisplayh :: Id
idFDisplayh  = FString -> Id
prelude_id_no FString
fsFDisplayh
idFDisplayb :: Id
idFDisplayb  = FString -> Id
prelude_id_no FString
fsFDisplayb
idFDisplayo :: Id
idFDisplayo  = FString -> Id
prelude_id_no FString
fsFDisplayo

idFWrite, idFWriteh, idFWriteb, idFWriteo :: Id
idFWrite :: Id
idFWrite     = FString -> Id
prelude_id_no FString
fsFWrite
idFWriteh :: Id
idFWriteh    = FString -> Id
prelude_id_no FString
fsFWriteh
idFWriteb :: Id
idFWriteb    = FString -> Id
prelude_id_no FString
fsFWriteb
idFWriteo :: Id
idFWriteo    = FString -> Id
prelude_id_no FString
fsFWriteo

idSWriteAV, idSWrite, idSWritehAV, idSWriteh, idSWritebAV :: Id
idSWriteAV :: Id
idSWriteAV   = FString -> Id
prelude_id_no FString
fsSWriteAV
idSWrite :: Id
idSWrite     = FString -> Id
prelude_id_no FString
fsSWrite
idSWritehAV :: Id
idSWritehAV  = FString -> Id
prelude_id_no FString
fsSWritehAV
idSWriteh :: Id
idSWriteh    = FString -> Id
prelude_id_no FString
fsSWriteh
idSWritebAV :: Id
idSWritebAV  = FString -> Id
prelude_id_no FString
fsSWritebAV
idSWriteb, idSWriteoAV, idSWriteo, idSFormatAV, idSFormat :: Id
idSWriteb :: Id
idSWriteb    = FString -> Id
prelude_id_no FString
fsSWriteb
idSWriteoAV :: Id
idSWriteoAV  = FString -> Id
prelude_id_no FString
fsSWriteoAV
idSWriteo :: Id
idSWriteo    = FString -> Id
prelude_id_no FString
fsSWriteo
idSFormatAV :: Id
idSFormatAV  = FString -> Id
prelude_id_no FString
fsSFormatAV
idSFormat :: Id
idSFormat    = FString -> Id
prelude_id_no FString
fsSFormat

idErrorTask, idWarnTask, idInfoTask, idFatalTask :: Id
idErrorTask :: Id
idErrorTask  = FString -> Id
prelude_id_no FString
fsErrorTask
idWarnTask :: Id
idWarnTask   = FString -> Id
prelude_id_no FString
fsWarnTask
idInfoTask :: Id
idInfoTask   = FString -> Id
prelude_id_no FString
fsInfoTask
idFatalTask :: Id
idFatalTask  = FString -> Id
prelude_id_no FString
fsFatalTask

idSVA, idSvaParam, idSvaBool, idSvaNumber :: Id
idSVA :: Id
idSVA        = FString -> Id
prelude_id_no FString
fsSVA
idSvaParam :: Id
idSvaParam   = FString -> Id
prelude_id_no FString
fsSvaParam
idSvaBool :: Id
idSvaBool    = FString -> Id
prelude_id_no FString
fsSvaBool
idSvaNumber :: Id
idSvaNumber  = FString -> Id
prelude_id_no FString
fsSvaNumber

idSVAsampled, idSVArose, idSVAfell, idSVAstable, idSVApast :: Id
idSVAsampled :: Id
idSVAsampled = FString -> Id
prelude_id_no FString
fsSVAsampled
idSVArose :: Id
idSVArose    = FString -> Id
prelude_id_no FString
fsSVArose
idSVAfell :: Id
idSVAfell    = FString -> Id
prelude_id_no FString
fsSVAfell
idSVAstable :: Id
idSVAstable  = FString -> Id
prelude_id_no FString
fsSVAstable
idSVApast :: Id
idSVApast    = FString -> Id
prelude_id_no FString
fsSVApast
idSVAonehot, idSVAonehot0, idSVAisunknown, idSVAcountones :: Id
idSVAonehot :: Id
idSVAonehot  = FString -> Id
prelude_id_no FString
fsSVAonehot
idSVAonehot0 :: Id
idSVAonehot0 = FString -> Id
prelude_id_no FString
fsSVAonehot0
idSVAisunknown :: Id
idSVAisunknown = FString -> Id
prelude_id_no FString
fsSVAisunknown
idSVAcountones :: Id
idSVAcountones = FString -> Id
prelude_id_no FString
fsSVAcountones

idRandom :: Id
idRandom :: Id
idRandom     = FString -> Id
prelude_id_no FString
fsRandom

idDumpon, idDumpoff, idDumpvars, idDumpall, idDumplimit, idDumpflush :: Id
idDumpon :: Id
idDumpon    = FString -> Id
prelude_id_no FString
fsDumpon
idDumpoff :: Id
idDumpoff   = FString -> Id
prelude_id_no FString
fsDumpoff
idDumpvars :: Id
idDumpvars  = FString -> Id
prelude_id_no FString
fsDumpvars
idDumpall :: Id
idDumpall   = FString -> Id
prelude_id_no FString
fsDumpall
idDumplimit :: Id
idDumplimit = FString -> Id
prelude_id_no FString
fsDumplimit
idDumpflush :: Id
idDumpflush = FString -> Id
prelude_id_no FString
fsDumpflush

idDumpfile, idTime, idSTime, idFOpen, idFGetc, idUngetc, idFClose :: Id
idDumpfile :: Id
idDumpfile  = FString -> Id
prelude_id_no FString
fsDumpfile
idTime :: Id
idTime      = FString -> Id
prelude_id_no FString
fsTime
idSTime :: Id
idSTime     = FString -> Id
prelude_id_no FString
fsSTime
idFOpen :: Id
idFOpen     = FString -> Id
prelude_id_no FString
fsFOpen
idFGetc :: Id
idFGetc     = FString -> Id
prelude_id_no FString
fsFGetc
idUngetc :: Id
idUngetc    = FString -> Id
prelude_id_no FString
fsUngetc
idFClose :: Id
idFClose    = FString -> Id
prelude_id_no FString
fsFClose

idFFlush, idTestPlusargs, idRealToBits, idBitsToReal :: Id
idFFlush :: Id
idFFlush    = FString -> Id
prelude_id_no FString
fsFFlush
idTestPlusargs :: Id
idTestPlusargs = FString -> Id
prelude_id_no FString
fsTestPlusargs
idRealToBits :: Id
idRealToBits = FString -> Id
prelude_id_no FString
fsRealToBits
idBitsToReal :: Id
idBitsToReal = FString -> Id
prelude_id_no FString
fsBitsToReal

taskIds :: [Id]
taskIds :: [Id]
taskIds = [ Id
idFinish, Id
idStop,
            --
            Id
idDisplay, Id
idDisplayh, Id
idDisplayb, Id
idDisplayo,
            Id
idWrite, Id
idWriteb, Id
idWriteh, Id
idWriteo,
            --
            Id
idErrorTask, Id
idWarnTask, Id
idInfoTask, Id
idFatalTask,
            --
            Id
idRandom,
            --
            Id
idFDisplay, Id
idFDisplayh, Id
idFDisplayb, Id
idFDisplayo,
            Id
idFWrite, Id
idFWriteb, Id
idFWriteh, Id
idFWriteo,
            --
            Id
idSFormatAV, Id
idSFormat,
            Id
idSWriteAV, Id
idSWrite, Id
idSWritehAV, Id
idSWriteh,
            Id
idSWritebAV, Id
idSWriteb, Id
idSWriteoAV, Id
idSWriteo,
            Id
idFormat,
            --
            Id
idSVA,
            --
            Id
idDumpon,  Id
idDumpoff, Id
idDumpvars, Id
idDumpflush, Id
idDumpfile,
            Id
idDumpall, Id
idDumplimit,
            --
            Id
idTime, Id
idSTime,
            --
            Id
idFOpen, Id
idFGetc, Id
idUngetc, Id
idFClose, Id
idFFlush,
            --
            Id
idTestPlusargs
          ]

-- these are explicitly NOT supported in user code
-- they are for internal use only (so not part of the taskids list)
idSigned, idUnsigned :: Position -> Id
idSigned :: Position -> Id
idSigned   Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsSigned
idUnsigned :: Position -> Id
idUnsigned Position
pos = Position -> FString -> Id
prelude_id Position
pos FString
fsUnsigned

-- | Classes hardcoded in the Prelude which were added for ContextErrors
idBitwise, idBitReduce, idBitExtend, idArith, idOrd :: Id
idBitwise :: Id
idBitwise   = FString -> Id
prelude_id_no FString
fsBitwise
idBitReduce :: Id
idBitReduce = FString -> Id
prelude_id_no FString
fsBitReduce
idBitExtend :: Id
idBitExtend = FString -> Id
prelude_id_no FString
fsBitExtend
idArith :: Id
idArith     = FString -> Id
prelude_id_no FString
fsArith
idOrd :: Id
idOrd       = FString -> Id
prelude_id_no FString
fsOrd

-- | Names used for tuple fields internally?
tupleIds :: [Id]
tupleIds :: [Id]
tupleIds = (FString -> Id) -> [FString] -> [Id]
forall a b. (a -> b) -> [a] -> [b]
map (\FString
fs -> Position -> FString -> Id
mkId Position
noPosition FString
fs) [FString]
fsTuples
-- | Names exposed to the BSV user
idTuple2, idTuple3, idTuple4, idTuple5, idTuple6, idTuple7, idTuple8 :: Id
idTuple2 :: Id
idTuple2 = FString -> Id
prelude_id_no FString
fsTuple2
idTuple3 :: Id
idTuple3 = FString -> Id
prelude_id_no FString
fsTuple3
idTuple4 :: Id
idTuple4 = FString -> Id
prelude_id_no FString
fsTuple4
idTuple5 :: Id
idTuple5 = FString -> Id
prelude_id_no FString
fsTuple5
idTuple6 :: Id
idTuple6 = FString -> Id
prelude_id_no FString
fsTuple6
idTuple7 :: Id
idTuple7 = FString -> Id
prelude_id_no FString
fsTuple7
idTuple8 :: Id
idTuple8 = FString -> Id
prelude_id_no FString
fsTuple8

-- Classes that we always derive implicitly.
-- Note that these are assumed to have a single parameter, or if multiple,
-- the first is the one for which the instance is defined.
autoderivedClasses :: [Id]
autoderivedClasses :: [Id]
autoderivedClasses = [Id
idGeneric]