Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connect Decidable and Shallow refinements #174

Open
shingarov opened this issue Nov 27, 2023 · 1 comment
Open

Connect Decidable and Shallow refinements #174

shingarov opened this issue Nov 27, 2023 · 1 comment
Labels

Comments

@shingarov
Copy link
Owner

shingarov commented Nov 27, 2023

In the current codebase, the main exercised path to create a Horn query is by parsing Horn or Sprite concrete grammar, so that Smalltalk predicates are wrapped in DecidablePredicates over Smalltalk source strings; those are compiled during an early stage of Horn-solving. This approach was adopted for initial compatibility with LiquidHaskell. As the code matures, we should move toward actual Smalltalk executable functions, starting from something along the lines of ShallowRefinement.

@shingarov
Copy link
Owner Author

The proper way of doing this, is by integrating with something like the Type Inferencer in Francisco Garau's dissertation "Concrete Type Inference in Squeak". Right now, many examples (esp. the tests in L₅ and L₆) already execute Smalltalk code on "pure formulæ" (aka Cardano–Tartaglia "cose"), resulting in instances of EMessageSend which are later resolved in #smt2: and similar places.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant