| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Crux.Overrides
Synopsis
- mkFresh :: IsSymInterface sym => SolverSymbol -> BaseTypeRepr ty -> OverM personality sym ext (RegValue sym (BaseToType ty))
- mkFreshFloat :: IsSymInterface sym => SolverSymbol -> FloatInfoRepr fi -> OverM personality sym ext (RegValue sym (FloatType fi))
- baseFreshOverride :: IsSymInterface sym => BaseTypeRepr bty -> TypeRepr stringTy -> (RegValue' sym stringTy -> OverM p sym ext SolverSymbol) -> TypedOverride (p sym) sym ext (EmptyCtx ::> stringTy) (BaseToType bty)
- baseFreshOverride' :: IsSymInterface sym => SolverSymbol -> BaseTypeRepr bty -> TypedOverride (p sym) sym ext EmptyCtx (BaseToType bty)
Documentation
mkFresh :: IsSymInterface sym => SolverSymbol -> BaseTypeRepr ty -> OverM personality sym ext (RegValue sym (BaseToType ty)) Source #
Create a fresh constant (freshConstant) with the given base type
mkFreshFloat :: IsSymInterface sym => SolverSymbol -> FloatInfoRepr fi -> OverM personality sym ext (RegValue sym (FloatType fi)) Source #
Create a fresh float constant (freshFloatConstant)
Arguments
| :: IsSymInterface sym | |
| => BaseTypeRepr bty | |
| -> TypeRepr stringTy | The language's string type (e.g., |
| -> (RegValue' sym stringTy -> OverM p sym ext SolverSymbol) | Get the variable name as a concrete string from the override arguments |
| -> TypedOverride (p sym) sym ext (EmptyCtx ::> stringTy) (BaseToType bty) |
Build an override that takes a string and returns a fresh constant with that string as its name.
Arguments
| :: IsSymInterface sym | |
| => SolverSymbol | Variable name |
| -> BaseTypeRepr bty | |
| -> TypedOverride (p sym) sym ext EmptyCtx (BaseToType bty) |
Build an override that takes no arguments and returns a fresh
constant that uses the given name. Generally, frontends should prefer
baseFreshOverride, to allow users to specify variable names.