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

Change path of prelude #1028

Merged
merged 1 commit into from
Jul 18, 2024
Merged

Change path of prelude #1028

merged 1 commit into from
Jul 18, 2024

Conversation

xldenis
Copy link
Collaborator

@xldenis xldenis commented Jun 30, 2024

In why3find we have no direct equivalent to -Lprelude which we currently use to make the prelude available to creusot code. Instead, it implicitly does -L .. To ensure that our code works with why3find, I changed the generation done by creusot so that all modules are prefixed by an additional prelude.. This ensures that our code is now verifiable by both why3find and why3, setting us up for a migration afterwards.

@jhjourdan
Copy link
Collaborator

Isn't this a missing feature of why3find? Could we ask them to support that?

@xldenis
Copy link
Collaborator Author

xldenis commented Jul 1, 2024

Isn't this a missing feature of why3find? Could we ask them to support that?

No I think this is intentional, as part of the idea of why3find is to control the notion of "packages", I don't think they want to be able to inject random files into the environment. Given that it's really a minor change to make this work with why3, I don't see any reason either.

@mojeanmac
Copy link

So currently the master branch of why3find accepts .mlcfg but not yet .coma since it's not a valid extension in Why3.Env in the current Why3 release. Did you need to rebuild why3find with the coma Why3 branch to get this to work? I came across the same exact issue as you did in https://git.frama-c.com/pub/why3find/-/issues/86

@xldenis
Copy link
Collaborator Author

xldenis commented Jul 10, 2024

Yes, you'll need to install why3find from the master branch (after having done opam install . --deps-only to update why3).

@Armael
Copy link
Contributor

Armael commented Jul 12, 2024

LGTM. Namespacing everything under prelude sounds good; if in the future we want identifiers that look less weird than prelude.prelude.Foo I guess we could split the contents of prelude/prelude.mlw into several prelude/foo.mlw files? (In any case we don't need to do that now.)

@Armael Armael enabled auto-merge July 12, 2024 18:09
@Armael Armael disabled auto-merge July 12, 2024 18:09
@Armael
Copy link
Contributor

Armael commented Jul 12, 2024

(feel free to merge after rebasing.)

@xldenis xldenis force-pushed the pre-why3find branch 2 times, most recently from fcf7f18 to e0da3c3 Compare July 18, 2024 09:38
@xldenis xldenis enabled auto-merge July 18, 2024 09:38
@xldenis xldenis force-pushed the pre-why3find branch 7 times, most recently from d48bc62 to ee9329c Compare July 18, 2024 12:06
@xldenis xldenis merged commit 79ac692 into master Jul 18, 2024
4 checks passed
@xldenis xldenis deleted the pre-why3find branch July 18, 2024 12:12
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.

4 participants