Skip to content

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

@doyougnu

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~.

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