Skip to content

Utilize the reader monad in sbv to season the solver #7

Description

@doyougnu
  With the parallel version of vsmt we have to season the solver with the
  variational core. This means that we actually compute ~n~ ~IL~'s where ~n~
  is the number of threads. This is likely a small price to pay for the
  parallelism but could certainly be reduced. SBVs ~SymbolicT~ is a reader
  monad over ~IO~ but sbv doesn't export the ~ReaderT~ type class instance,
  so in the main thread we can season, then grab the state with
  ~T.symbolicEnv~ but then there is no way for me to call ~local~ over the
  thread instances and thus no way to replace the thread states with the
  seasoned state. Hence, we are forced recompute the state for each thread
  with a call with ~toIL~.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestperformancerelated to runtime performance

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions