Copyright | (c) C. Maeder DFKI 2008 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
CASL extention to VSE programs and dynamic logic as described on page 4-7 (Sec 2.3.1, 2.5.2, 2.5.4, 2.6) of Bruno Langenstein's API description
Synopsis
- data Paramkind
- data Procparam = Procparam Paramkind SORT
- data Profile = Profile [Procparam] (Maybe SORT)
- data Sigentry = Procedure Id Profile Range
- data Procdecls = Procdecls [Annoted Sigentry] Range
- data Ranged a = Ranged {}
- mkRanged :: a -> Ranged a
- type Program = Ranged PlainProgram
- data PlainProgram
- data VarDecl = VarDecl VAR SORT (Maybe (TERM ())) Range
- toVarDecl :: [VAR_DECL] -> [VarDecl]
- addInits :: [VarDecl] -> Program -> ([VarDecl], Program)
- data VSEforms
- = Dlformula BoxOrDiamond Program Sentence
- | Defprocs [Defproc]
- | RestrictedConstraint [Constraint] (Map SORT Id) Bool
- type Dlformula = Ranged VSEforms
- type Sentence = FORMULA Dlformula
- data BoxOrDiamond
- data ProcKind
- data Defproc = Defproc ProcKind Id [VAR] Program Range
- data Procs = Procs {}
- emptyProcs :: Procs
- unionProcs :: Procs -> Procs -> Result Procs
- interProcs :: Procs -> Procs -> Result Procs
- diffProcs :: Procs -> Procs -> Procs
- isSubProcsMap :: Procs -> Procs -> Bool
- block :: Doc -> Doc
- prettyProcKind :: ProcKind -> Doc
- assign :: Doc
- genSortName :: String -> SORT -> Id
- gnUniformName :: SORT -> Id
- gnRestrName :: SORT -> Id
- gnEqName :: SORT -> Id
- genVars :: [SORT] -> [(Token, SORT)]
- xVar :: Token
- yVar :: Token
- printRestrTypedecl :: Map SORT Id -> DATATYPE_DECL -> Doc
- prettyProcdefs :: [Defproc] -> Doc
Documentation
input or output procedure parameter kind
Instances
Eq Paramkind Source # | |
Data Paramkind Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Paramkind -> c Paramkind gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Paramkind toConstr :: Paramkind -> Constr dataTypeOf :: Paramkind -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Paramkind) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Paramkind) gmapT :: (forall b. Data b => b -> b) -> Paramkind -> Paramkind gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Paramkind -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Paramkind -> r gmapQ :: (forall d. Data d => d -> u) -> Paramkind -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Paramkind -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Paramkind -> m Paramkind gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Paramkind -> m Paramkind gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Paramkind -> m Paramkind | |
Ord Paramkind Source # | |
Show Paramkind Source # | |
Generic Paramkind | |
FromJSON Paramkind | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser Paramkind parseJSONList :: Value -> Parser [Paramkind] | |
ToJSON Paramkind | |
Defined in VSE.ATC_VSE toEncoding :: Paramkind -> Encoding toJSONList :: [Paramkind] -> Value toEncodingList :: [Paramkind] -> Encoding | |
ShATermConvertible Paramkind | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> Paramkind -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Paramkind] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Paramkind) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Paramkind]) | |
type Rep Paramkind | |
Defined in VSE.ATC_VSE type Rep Paramkind = D1 ('MetaData "Paramkind" "VSE.As" "main" 'False) (C1 ('MetaCons "In" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Out" 'PrefixI 'False) (U1 :: Type -> Type)) |
a procedure parameter
Instances
Eq Procparam Source # | |
Data Procparam Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Procparam -> c Procparam gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Procparam toConstr :: Procparam -> Constr dataTypeOf :: Procparam -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Procparam) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Procparam) gmapT :: (forall b. Data b => b -> b) -> Procparam -> Procparam gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Procparam -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Procparam -> r gmapQ :: (forall d. Data d => d -> u) -> Procparam -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Procparam -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Procparam -> m Procparam gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Procparam -> m Procparam gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Procparam -> m Procparam | |
Ord Procparam Source # | |
Show Procparam Source # | |
Generic Procparam | |
FromJSON Procparam | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser Procparam parseJSONList :: Value -> Parser [Procparam] | |
ToJSON Procparam | |
Defined in VSE.ATC_VSE toEncoding :: Procparam -> Encoding toJSONList :: [Procparam] -> Value toEncodingList :: [Procparam] -> Encoding | |
ShATermConvertible Procparam | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> Procparam -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Procparam] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Procparam) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Procparam]) | |
Pretty Procparam Source # | |
type Rep Procparam | |
Defined in VSE.ATC_VSE type Rep Procparam = D1 ('MetaData "Procparam" "VSE.As" "main" 'False) (C1 ('MetaCons "Procparam" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Paramkind) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SORT))) |
procedure or function declaration
Instances
Eq Profile Source # | |
Data Profile Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Profile -> c Profile gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Profile dataTypeOf :: Profile -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Profile) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Profile) gmapT :: (forall b. Data b => b -> b) -> Profile -> Profile gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Profile -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Profile -> r gmapQ :: (forall d. Data d => d -> u) -> Profile -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Profile -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Profile -> m Profile gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Profile -> m Profile gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Profile -> m Profile | |
Ord Profile Source # | |
Show Profile Source # | |
Generic Profile | |
FromJSON Profile | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser Profile parseJSONList :: Value -> Parser [Profile] | |
ToJSON Profile | |
Defined in VSE.ATC_VSE toEncoding :: Profile -> Encoding toJSONList :: [Profile] -> Value toEncodingList :: [Profile] -> Encoding | |
ShATermConvertible Profile | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> Profile -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Profile] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Profile) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Profile]) | |
Pretty Profile Source # | |
type Rep Profile | |
Defined in VSE.ATC_VSE type Rep Profile = D1 ('MetaData "Profile" "VSE.As" "main" 'False) (C1 ('MetaCons "Profile" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Procparam]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SORT)))) |
further VSE signature entries
Instances
Eq Sigentry Source # | |
Data Sigentry Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sigentry -> c Sigentry gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sigentry toConstr :: Sigentry -> Constr dataTypeOf :: Sigentry -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sigentry) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sigentry) gmapT :: (forall b. Data b => b -> b) -> Sigentry -> Sigentry gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sigentry -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sigentry -> r gmapQ :: (forall d. Data d => d -> u) -> Sigentry -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Sigentry -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sigentry -> m Sigentry gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sigentry -> m Sigentry gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sigentry -> m Sigentry | |
Ord Sigentry Source # | |
Show Sigentry Source # | |
Generic Sigentry | |
FromJSON Sigentry | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser Sigentry parseJSONList :: Value -> Parser [Sigentry] | |
ToJSON Sigentry | |
Defined in VSE.ATC_VSE toEncoding :: Sigentry -> Encoding toJSONList :: [Sigentry] -> Value toEncodingList :: [Sigentry] -> Encoding | |
ShATermConvertible Sigentry | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> Sigentry -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Sigentry] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Sigentry) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Sigentry]) | |
Pretty Sigentry Source # | |
type Rep Sigentry | |
Defined in VSE.ATC_VSE type Rep Sigentry = D1 ('MetaData "Sigentry" "VSE.As" "main" 'False) (C1 ('MetaCons "Procedure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Profile) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)))) |
Instances
wrapper for positions
Instances
type Program = Ranged PlainProgram Source #
programs with ranges
data PlainProgram Source #
programs based on restricted terms and formulas
Abort | |
Skip | |
Assign VAR (TERM ()) | |
Call (FORMULA ()) | a procedure call as predication |
Return (TERM ()) | |
Block [VAR_DECL] Program | |
Seq Program Program | |
If (FORMULA ()) Program Program | |
While (FORMULA ()) Program |
Instances
Eq PlainProgram Source # | |
Defined in VSE.As (==) :: PlainProgram -> PlainProgram -> Bool (/=) :: PlainProgram -> PlainProgram -> Bool | |
Data PlainProgram Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PlainProgram -> c PlainProgram gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PlainProgram toConstr :: PlainProgram -> Constr dataTypeOf :: PlainProgram -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PlainProgram) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PlainProgram) gmapT :: (forall b. Data b => b -> b) -> PlainProgram -> PlainProgram gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PlainProgram -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PlainProgram -> r gmapQ :: (forall d. Data d => d -> u) -> PlainProgram -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> PlainProgram -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> PlainProgram -> m PlainProgram gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PlainProgram -> m PlainProgram gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PlainProgram -> m PlainProgram | |
Ord PlainProgram Source # | |
Defined in VSE.As compare :: PlainProgram -> PlainProgram -> Ordering (<) :: PlainProgram -> PlainProgram -> Bool (<=) :: PlainProgram -> PlainProgram -> Bool (>) :: PlainProgram -> PlainProgram -> Bool (>=) :: PlainProgram -> PlainProgram -> Bool max :: PlainProgram -> PlainProgram -> PlainProgram min :: PlainProgram -> PlainProgram -> PlainProgram | |
Show PlainProgram Source # | |
Defined in VSE.As showsPrec :: Int -> PlainProgram -> ShowS show :: PlainProgram -> String showList :: [PlainProgram] -> ShowS | |
Generic PlainProgram | |
Defined in VSE.ATC_VSE type Rep PlainProgram :: Type -> Type from :: PlainProgram -> Rep PlainProgram x to :: Rep PlainProgram x -> PlainProgram | |
FromJSON PlainProgram | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser PlainProgram parseJSONList :: Value -> Parser [PlainProgram] | |
ToJSON PlainProgram | |
Defined in VSE.ATC_VSE toJSON :: PlainProgram -> Value toEncoding :: PlainProgram -> Encoding toJSONList :: [PlainProgram] -> Value toEncodingList :: [PlainProgram] -> Encoding | |
ShATermConvertible PlainProgram | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> PlainProgram -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [PlainProgram] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, PlainProgram) fromShATermList' :: Int -> ATermTable -> (ATermTable, [PlainProgram]) | |
Pretty PlainProgram Source # | |
type Rep PlainProgram | |
Defined in VSE.ATC_VSE type Rep PlainProgram = D1 ('MetaData "PlainProgram" "VSE.As" "main" 'False) (((C1 ('MetaCons "Abort" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Skip" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Assign" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VAR) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TERM ()))) :+: C1 ('MetaCons "Call" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FORMULA ()))))) :+: ((C1 ('MetaCons "Return" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (TERM ()))) :+: C1 ('MetaCons "Block" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VAR_DECL]) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program))) :+: (C1 ('MetaCons "Seq" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program)) :+: (C1 ('MetaCons "If" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FORMULA ())) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program))) :+: C1 ('MetaCons "While" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FORMULA ())) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program)))))) |
alternative variable declaration
Instances
Data VarDecl Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> VarDecl -> c VarDecl gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c VarDecl dataTypeOf :: VarDecl -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c VarDecl) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c VarDecl) gmapT :: (forall b. Data b => b -> b) -> VarDecl -> VarDecl gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> VarDecl -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> VarDecl -> r gmapQ :: (forall d. Data d => d -> u) -> VarDecl -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> VarDecl -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> VarDecl -> m VarDecl gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> VarDecl -> m VarDecl gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> VarDecl -> m VarDecl | |
Show VarDecl Source # | |
Generic VarDecl | |
FromJSON VarDecl | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser VarDecl parseJSONList :: Value -> Parser [VarDecl] | |
ToJSON VarDecl | |
Defined in VSE.ATC_VSE toEncoding :: VarDecl -> Encoding toJSONList :: [VarDecl] -> Value toEncodingList :: [VarDecl] -> Encoding | |
ShATermConvertible VarDecl | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> VarDecl -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [VarDecl] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, VarDecl) fromShATermList' :: Int -> ATermTable -> (ATermTable, [VarDecl]) | |
Pretty VarDecl Source # | |
type Rep VarDecl | |
Defined in VSE.ATC_VSE type Rep VarDecl = D1 ('MetaData "VarDecl" "VSE.As" "main" 'False) (C1 ('MetaCons "VarDecl" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VAR) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SORT)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe (TERM ()))) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)))) |
extend CASL formulas by box or diamond formulas and defprocs
Dlformula BoxOrDiamond Program Sentence | |
Defprocs [Defproc] | |
RestrictedConstraint [Constraint] (Map SORT Id) Bool |
Instances
data BoxOrDiamond Source #
box or diamond indicator
Instances
Eq BoxOrDiamond Source # | |
Defined in VSE.As (==) :: BoxOrDiamond -> BoxOrDiamond -> Bool (/=) :: BoxOrDiamond -> BoxOrDiamond -> Bool | |
Data BoxOrDiamond Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> BoxOrDiamond -> c BoxOrDiamond gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c BoxOrDiamond toConstr :: BoxOrDiamond -> Constr dataTypeOf :: BoxOrDiamond -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c BoxOrDiamond) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c BoxOrDiamond) gmapT :: (forall b. Data b => b -> b) -> BoxOrDiamond -> BoxOrDiamond gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> BoxOrDiamond -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> BoxOrDiamond -> r gmapQ :: (forall d. Data d => d -> u) -> BoxOrDiamond -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> BoxOrDiamond -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> BoxOrDiamond -> m BoxOrDiamond gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> BoxOrDiamond -> m BoxOrDiamond gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> BoxOrDiamond -> m BoxOrDiamond | |
Ord BoxOrDiamond Source # | |
Defined in VSE.As compare :: BoxOrDiamond -> BoxOrDiamond -> Ordering (<) :: BoxOrDiamond -> BoxOrDiamond -> Bool (<=) :: BoxOrDiamond -> BoxOrDiamond -> Bool (>) :: BoxOrDiamond -> BoxOrDiamond -> Bool (>=) :: BoxOrDiamond -> BoxOrDiamond -> Bool max :: BoxOrDiamond -> BoxOrDiamond -> BoxOrDiamond min :: BoxOrDiamond -> BoxOrDiamond -> BoxOrDiamond | |
Show BoxOrDiamond Source # | |
Defined in VSE.As showsPrec :: Int -> BoxOrDiamond -> ShowS show :: BoxOrDiamond -> String showList :: [BoxOrDiamond] -> ShowS | |
Generic BoxOrDiamond | |
Defined in VSE.ATC_VSE type Rep BoxOrDiamond :: Type -> Type from :: BoxOrDiamond -> Rep BoxOrDiamond x to :: Rep BoxOrDiamond x -> BoxOrDiamond | |
FromJSON BoxOrDiamond | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser BoxOrDiamond parseJSONList :: Value -> Parser [BoxOrDiamond] | |
ToJSON BoxOrDiamond | |
Defined in VSE.ATC_VSE toJSON :: BoxOrDiamond -> Value toEncoding :: BoxOrDiamond -> Encoding toJSONList :: [BoxOrDiamond] -> Value toEncodingList :: [BoxOrDiamond] -> Encoding | |
ShATermConvertible BoxOrDiamond | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> BoxOrDiamond -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [BoxOrDiamond] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, BoxOrDiamond) fromShATermList' :: Int -> ATermTable -> (ATermTable, [BoxOrDiamond]) | |
type Rep BoxOrDiamond | |
Defined in VSE.ATC_VSE type Rep BoxOrDiamond = D1 ('MetaData "BoxOrDiamond" "VSE.As" "main" 'False) (C1 ('MetaCons "Box" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Diamond" 'PrefixI 'False) (U1 :: Type -> Type)) |
Instances
Eq ProcKind Source # | |
Data ProcKind Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProcKind -> c ProcKind gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProcKind toConstr :: ProcKind -> Constr dataTypeOf :: ProcKind -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProcKind) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProcKind) gmapT :: (forall b. Data b => b -> b) -> ProcKind -> ProcKind gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProcKind -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProcKind -> r gmapQ :: (forall d. Data d => d -> u) -> ProcKind -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> ProcKind -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProcKind -> m ProcKind gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcKind -> m ProcKind gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProcKind -> m ProcKind | |
Ord ProcKind Source # | |
Show ProcKind Source # | |
Generic ProcKind | |
FromJSON ProcKind | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser ProcKind parseJSONList :: Value -> Parser [ProcKind] | |
ToJSON ProcKind | |
Defined in VSE.ATC_VSE toEncoding :: ProcKind -> Encoding toJSONList :: [ProcKind] -> Value toEncodingList :: [ProcKind] -> Encoding | |
ShATermConvertible ProcKind | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> ProcKind -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [ProcKind] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, ProcKind) fromShATermList' :: Int -> ATermTable -> (ATermTable, [ProcKind]) | |
type Rep ProcKind | |
Defined in VSE.ATC_VSE type Rep ProcKind = D1 ('MetaData "ProcKind" "VSE.As" "main" 'False) (C1 ('MetaCons "Proc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Func" 'PrefixI 'False) (U1 :: Type -> Type)) |
procedure definitions as basic items becoming sentences
Instances
Eq Defproc Source # | |
Data Defproc Source # | |
Defined in VSE.As gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Defproc -> c Defproc gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Defproc dataTypeOf :: Defproc -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Defproc) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Defproc) gmapT :: (forall b. Data b => b -> b) -> Defproc -> Defproc gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Defproc -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Defproc -> r gmapQ :: (forall d. Data d => d -> u) -> Defproc -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Defproc -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Defproc -> m Defproc gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Defproc -> m Defproc gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Defproc -> m Defproc | |
Ord Defproc Source # | |
Show Defproc Source # | |
Generic Defproc | |
FromJSON Defproc | |
Defined in VSE.ATC_VSE parseJSON :: Value -> Parser Defproc parseJSONList :: Value -> Parser [Defproc] | |
ToJSON Defproc | |
Defined in VSE.ATC_VSE toEncoding :: Defproc -> Encoding toJSONList :: [Defproc] -> Value toEncodingList :: [Defproc] -> Encoding | |
ShATermConvertible Defproc | |
Defined in VSE.ATC_VSE toShATermAux :: ATermTable -> Defproc -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Defproc] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Defproc) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Defproc]) | |
Pretty Defproc Source # | |
type Rep Defproc | |
Defined in VSE.ATC_VSE type Rep Defproc = D1 ('MetaData "Defproc" "VSE.As" "main" 'False) (C1 ('MetaCons "Defproc" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ProcKind) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [VAR]) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Program) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))) |
Instances
emptyProcs :: Procs Source #
isSubProcsMap :: Procs -> Procs -> Bool Source #
Pretty instances
prettyProcKind :: ProcKind -> Doc Source #
genSortName :: String -> SORT -> Id Source #
gnUniformName :: SORT -> Id Source #
gnRestrName :: SORT -> Id Source #
printRestrTypedecl :: Map SORT Id -> DATATYPE_DECL -> Doc Source #
prettyProcdefs :: [Defproc] -> Doc Source #