| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Cryptol.TypeCheck.TCon
Documentation
infixPrimTy :: TCon -> Maybe (Ident, Fixity) Source #
This is used for pretty prinitng. XXX: it would be nice to just rely in the info from the Prelude.
Kinds, classify types.
Instances
Type constants.
Instances
| Generic TCon Source # | |||||
Defined in Cryptol.TypeCheck.TCon Associated Types
| |||||
| Show TCon Source # | |||||
| FreeVars TCon Source # | |||||
| HasKind TCon Source # | |||||
| PP TCon Source # | |||||
| NFData TCon Source # | |||||
Defined in Cryptol.TypeCheck.TCon | |||||
| Eq TCon Source # | |||||
| Ord TCon Source # | |||||
| type Rep TCon Source # | |||||
Defined in Cryptol.TypeCheck.TCon type Rep TCon = D1 ('MetaData "TCon" "Cryptol.TypeCheck.TCon" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) ((C1 ('MetaCons "TC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TC)) :+: C1 ('MetaCons "PC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PC))) :+: (C1 ('MetaCons "TF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TFun)) :+: C1 ('MetaCons "TError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)))) | |||||
Predicate symbols.
If you add additional user-visible constructors, please update primTys.
Constructors
| PEqual | _ == _ |
| PNeq | _ /= _ |
| PGeq | _ >= _ |
| PFin | fin _ |
| PPrime | prime _ |
| PHas Selector |
|
| PZero | Zero _ |
| PLogic | Logic _ |
| PRing | Ring _ |
| PIntegral | Integral _ |
| PField | Field _ |
| PRound | Round _ |
| PEq | Eq _ |
| PCmp | Cmp _ |
| PSignedCmp | SignedCmp _ |
| PLiteral | Literal _ _ |
| PLiteralLessThan | LiteralLessThan _ _ |
| PFLiteral | FLiteral _ _ _ |
| PValidFloat |
|
| PAnd | This is useful when simplifying things in place |
| PTrue | Ditto |
Instances
| Generic PC Source # | |||||
Defined in Cryptol.TypeCheck.TCon Associated Types
| |||||
| Show PC Source # | |||||
| HasKind PC Source # | |||||
| PP PC Source # | |||||
| NFData PC Source # | |||||
Defined in Cryptol.TypeCheck.TCon | |||||
| Eq PC Source # | |||||
| Ord PC Source # | |||||
| type Rep PC Source # | |||||
Defined in Cryptol.TypeCheck.TCon type Rep PC = D1 ('MetaData "PC" "Cryptol.TypeCheck.TCon" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) ((((C1 ('MetaCons "PEqual" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PNeq" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PGeq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PFin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PPrime" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PHas" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Selector)) :+: C1 ('MetaCons "PZero" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PLogic" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PRing" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PIntegral" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "PField" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PRound" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "PEq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PCmp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PSignedCmp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PLiteral" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PLiteralLessThan" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PFLiteral" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "PValidFloat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PAnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PTrue" 'PrefixI 'False) (U1 :: Type -> Type)))))) | |||||
1-1 constants.
If you add additional user-visible constructors, please update primTys.
Constructors
| TCNum Integer | Numbers |
| TCInf | Inf |
| TCBit | Bit |
| TCInteger | Integer |
| TCFloat | Float |
| TCIntMod | Z _ |
| TCRational | Rational |
| TCArray | Array _ _ |
| TCSeq | [_] _ |
| TCFun | _ -> _ |
| TCTuple Int | (_, _, _) |
Instances
| Generic TC Source # | |||||
Defined in Cryptol.TypeCheck.TCon Associated Types
| |||||
| Show TC Source # | |||||
| HasKind TC Source # | |||||
| PP TC Source # | |||||
| NFData TC Source # | |||||
Defined in Cryptol.TypeCheck.TCon | |||||
| Eq TC Source # | |||||
| Ord TC Source # | |||||
| type Rep TC Source # | |||||
Defined in Cryptol.TypeCheck.TCon type Rep TC = D1 ('MetaData "TC" "Cryptol.TypeCheck.TCon" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) (((C1 ('MetaCons "TCNum" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer)) :+: C1 ('MetaCons "TCInf" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "TCBit" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCInteger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCFloat" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TCIntMod" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCRational" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCArray" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TCSeq" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCFun" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCTuple" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))) | |||||
Built-in type functions.
If you add additional user-visible constructors,
please update primTys in Cryptol.Prims.Types.
Constructors
| TCAdd | : Num -> Num -> Num |
| TCSub | : Num -> Num -> Num |
| TCMul | : Num -> Num -> Num |
| TCDiv | : Num -> Num -> Num |
| TCMod | : Num -> Num -> Num |
| TCExp | : Num -> Num -> Num |
| TCWidth | : Num -> Num |
| TCMin | : Num -> Num -> Num |
| TCMax | : Num -> Num -> Num |
| TCCeilDiv | : Num -> Num -> Num |
| TCCeilMod | : Num -> Num -> Num |
| TCLenFromThenTo |
|
Instances
| Bounded TFun Source # | |||||
| Enum TFun Source # | |||||
| Generic TFun Source # | |||||
Defined in Cryptol.TypeCheck.TCon Associated Types
| |||||
| Show TFun Source # | |||||
| HasKind TFun Source # | |||||
| PP TFun Source # | |||||
| NFData TFun Source # | |||||
Defined in Cryptol.TypeCheck.TCon | |||||
| Eq TFun Source # | |||||
| Ord TFun Source # | |||||
| type Rep TFun Source # | |||||
Defined in Cryptol.TypeCheck.TCon type Rep TFun = D1 ('MetaData "TFun" "Cryptol.TypeCheck.TCon" "cryptol-3.5.0-HoSGjqdyafy4TMoEJgOBMg" 'False) (((C1 ('MetaCons "TCAdd" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCSub" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCMul" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TCDiv" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCMod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCExp" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "TCWidth" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCMin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCMax" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "TCCeilDiv" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TCCeilMod" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TCLenFromThenTo" 'PrefixI 'False) (U1 :: Type -> Type))))) | |||||