-- Disable this warning because we are re-exporting things. {-# OPTIONS_GHC -Wno-missing-import-lists #-} -- | -- Module : Grisette -- Copyright : (c) Sirui Lu 2021-2024 -- License : BSD-3-Clause (see the LICENSE file) -- -- Maintainer : siruilu@cs.washington.edu -- Stability : Experimental -- Portability : GHC only module Grisette ( -- | Grisette is a tool for performing symbolic evaluation on programs. With -- Grisette, you can construct your own symbolic DSL and obtain the symbolic -- evaluator for it without manually implementing the symbolic evaluation -- algorithms. A brief introduction to symbolic evaluation is available in -- the "Grisette.Core" module. -- -- This module exports most of the Grisette APIs. Additional lifted library -- constructs are in the submodules of @Grisette.Lib@, which are not -- exported here and should be imported explicitly. For example, to use -- the lifted "Data.List" functions, you should import -- "Grisette.Lib.Data.List" explicitly. -- -- Grisette also provides an experimental API for unifying symbolic and -- concrete code to avoid code duplication. This API is exported in the -- "Grisette.Unified" module. The module should be imported qualified, as -- it intentionally uses the same names as the "Grisette" module. -- -- The following shows a typical import list: -- -- > import Grisette -- > import Grisette.Lib.Data.List -- > import qualified Grisette.Unified as U -- > import qualified Grisette.Unified.Lib.Data.List as U -- -- Other highly experimental APIs are exported in "Grisette.Experimental" -- and its submodules. These APIs are not stable, may be buggy and poorly -- maintained, and do not follow the PVP rules. -- * Core modules -- | This module exports the core operations for manipulating symbolic -- values. module Grisette.Core, -- * Symbolic primitives -- | This module provides primitive types for symbolic evaluation. module Grisette.SymPrim, -- * Solver backend -- | This module provides the configuration of the solver backends. module Grisette.Backend, -- * Core libraries -- | This module exports the core lifted library constructs. module Grisette.Lib.Base, -- * Utils -- | This module exports utility functions for working with size-tagged -- types. module Grisette.Utils, -- * Template Haskell -- | This module provides template haskell procedures that help with type -- class derivation and constructing some smart constructors. module Grisette.TH, ) where import Grisette.Backend import Grisette.Core import Grisette.Lib.Base import Grisette.SymPrim import Grisette.TH import Grisette.Utils