softwarelanguageslab / maf

Static Analysis Framework for Modular Analyses
Other
13 stars 12 forks source link

Improve representation of Scheme vectors #3

Closed jevdplas closed 3 years ago

jevdplas commented 4 years ago

Similar to the new representation of cons-cells, the representation of vectors in Scheme should be modified. Currently, in ModularSchemeLattice.scala, a vector and all its elements are represented as a single value in the store with the following representation:

case class Vec(size: I, elements: Map[I, L], init: L) extends Value

Ideally, the sub-values of a vector should each be stored at their own address, similar to how a separate address is allocated for the car and the cdr of each cons-cell. However, unlike with cons-cells, this modification will be non-trivial, because:

noahvanes commented 3 years ago

The proposed solution is no longer in line with the current representation of reference types.