Skip to content

Conversation

@ProgMiner
Copy link
Contributor

Mostly just syntactical changes without semantical, but there are some significant:

  • in Term.ml: Fix possible bug with immutable anchor. OCaml's physical equality doesn't guarantee pointer equality for immutable types for optimisation reasons
  • in Env.ml: Fix immediate add after removing from map on the same key
  • in Core.ml: Add assertion on empty answer in State.reify. Seems like 'Disequality.reify' cannot return empty answer on a well-formed constraint
  • in Core.ml: Replace variable list with variable set in State.reify. I believe it mustn't slow down reification but only speed it up

1) Decrease usage of Obj module for explicitness
2) Move logic variable related helpers into module Var
3) Fix possible bug with immutable anchor.
   OCaml's physical equality doesn't guarantee pointer
   equality for immutable types for optimisation reasons

Signed-off-by: Eridan Domoratskiy <[email protected]>
Signed-off-by: Eridan Domoratskiy <[email protected]>
Signed-off-by: Eridan Domoratskiy <[email protected]>
Seems like 'Disequality.reify' cannot return empty answer
on well-formed constraint

Signed-off-by: Eridan Domoratskiy <[email protected]>
@ProgMiner ProgMiner requested a review from Kakadu as a code owner June 13, 2025 11:22
Copy link
Collaborator

@Kakadu Kakadu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that these changes are correct but formatting changes are doubtful.
In general, we should integrate autoformatting on non-camlp5 files, but let's postpone it for the future.

@Kakadu Kakadu merged commit 7501abf into PLTools:master Jun 14, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants