You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, crux-mir is a mega-library that contains both the code needed to (1) simulate MIR code with crucible, and (2) define a crux frontent for MIR. This arrangement is somewhat painful for code that wants to do (1) without needing (2), however. I propose that we:
Create a new crucible-mir library, which exports most of the current code in today's crux-mir. This library would not have a dependency on crux.
Change crux-mir to depend on crucible-mir, and have it export any additional functionality that requires crux.
One interesting case is generateMIR in Mir.Generate, which runs mir-json on the input to generate JSON. This is really only needed for crux-mir's purposes, so this function deserves to live in crux-mir, not crucible-mir. On the other hand, the parseMir and translateMIR functions in that module make sense to put in crucible-mir, so we should create a new module for them.
For the most part, most code was moved wholesale from `crux-mir` with only
minor changes (I removed redundant imports to more easily determine which
library dependencies could be dropped in `crucible-mir`). The most unusual
change was creating a new `Mir.ParseTranslate` module in `crucible-mir`, which
contains the `parseMIR` and `translateMIR` functions previously defined in
`Mir.Generate` (now a `crux-mir` module that only exports `generateMIR`).
Fixes#1065.
For the most part, most code was moved wholesale from `crux-mir` with only
minor changes (I removed redundant imports to more easily determine which
library dependencies could be dropped in `crucible-mir`). The most unusual
change was creating a new `Mir.ParseTranslate` module in `crucible-mir`, which
contains the `parseMIR` and `translateMIR` functions previously defined in
`Mir.Generate` (now a `crux-mir` module that only exports `generateMIR`).
Fixes#1065.
For the most part, most code was moved wholesale from `crux-mir` with only
minor changes (I removed redundant imports to more easily determine which
library dependencies could be dropped in `crucible-mir`). The most unusual
change was creating a new `Mir.ParseTranslate` module in `crucible-mir`, which
contains the `parseMIR` and `translateMIR` functions previously defined in
`Mir.Generate` (now a `crux-mir` module that only exports `generateMIR`).
Fixes#1065.
Currently,
crux-mir
is a mega-library that contains both the code needed to (1) simulate MIR code withcrucible
, and (2) define acrux
frontent for MIR. This arrangement is somewhat painful for code that wants to do (1) without needing (2), however. I propose that we:crucible-mir
library, which exports most of the current code in today'scrux-mir
. This library would not have a dependency oncrux
.crux-mir
to depend oncrucible-mir
, and have it export any additional functionality that requirescrux
.One interesting case is
generateMIR
inMir.Generate
, which runsmir-json
on the input to generate JSON. This is really only needed forcrux-mir
's purposes, so this function deserves to live incrux-mir
, notcrucible-mir
. On the other hand, theparseMir
andtranslateMIR
functions in that module make sense to put incrucible-mir
, so we should create a new module for them.See GaloisInc/saw-script#1839 for the corresponding issue on the SAW side.
The text was updated successfully, but these errors were encountered: