what4-1.0: Solver-agnostic symbolic values support for issuing queries

Copyright(c) Galois Inc 2018-2020
LicenseBSD3
MaintainerRob Dockins <rdockins@galois.com>
Stabilityprovisional
Safe HaskellNone
LanguageHaskell2010

What4.Concrete

Contents

Description

This module defines a representation of concrete values of base types. These are values in fully-evaluated form that do not depend on any symbolic constants.

Synopsis

Concrete values

data ConcreteVal tp where Source #

A data type for representing the concrete values of base types.

Instances
TestEquality ConcreteVal Source # 
Instance details

Defined in What4.Concrete

Methods

testEquality :: ConcreteVal a -> ConcreteVal b -> Maybe (a :~: b) #

OrdF ConcreteVal Source # 
Instance details

Defined in What4.Concrete

ShowF ConcreteVal Source # 
Instance details

Defined in What4.Concrete

Methods

withShow :: p ConcreteVal -> q tp -> (Show (ConcreteVal tp) -> a) -> a #

showF :: ConcreteVal tp -> String #

showsPrecF :: Int -> ConcreteVal tp -> String -> String #

Eq (ConcreteVal tp) Source # 
Instance details

Defined in What4.Concrete

Methods

(==) :: ConcreteVal tp -> ConcreteVal tp -> Bool #

(/=) :: ConcreteVal tp -> ConcreteVal tp -> Bool #

Ord (ConcreteVal tp) Source # 
Instance details

Defined in What4.Concrete

Show (ConcreteVal tp) Source # 
Instance details

Defined in What4.Concrete

concreteType :: ConcreteVal tp -> BaseTypeRepr tp Source #

Compute the type representative for a concrete value.

ppConcrete :: ConcreteVal tp -> Doc Source #

Pretty-print a concrete value

Concrete projections