EasyCrypt / easycrypt

EasyCrypt: Computer-Aided Cryptographic Proofs
MIT License
320 stars 49 forks source link

internal: stable ordering of globals components #612

Closed strub closed 2 months ago

strub commented 2 months ago

Before, the globals compoenents were sorted by the hash-consing tags, leading to a 1. unpredictable ordering & 2. unstable ordering (especially in case of undos/redos)

Globs components are now sorted by fullnames.

alleystoughton commented 2 months ago

I haven't had a chance to test this yet, but it would be great if you could have sub-tuples mirroring the module structure. Any chance of that?

E.g., for this

Prog. variables [# = 9]:
  L.x : int
  L.y : int
  M.x : int
  M.y : int
  N.x : int
  N.y : bool
  N.A.x : int
  N.Z.x : int
  N.Z.y : int
  X.q : int

you could have (int * int) * (int * int) * (int * bool * int * (int * int)) * int

strub commented 2 months ago

I haven't had a chance to test this yet, but it would be great if you could have sub-tuples mirroring the module structure. Any chance of that?

Not as part of this PR and I would prefer to have named tuples.