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

Allow Core library to managed as dependency #366

Open
mneumann opened this issue Sep 10, 2022 · 2 comments
Open

Allow Core library to managed as dependency #366

mneumann opened this issue Sep 10, 2022 · 2 comments
Labels
needs design Need to work out a reasonably solid plan before we start doing this.
Milestone

Comments

@mneumann
Copy link
Contributor

As of now, I need to copy the Core library to /usr/local/core in order to get picked up by other libraries.

Instead, I'd like to have an explicit dependency in manifest.savi about the version of Core (and the Savi compiler version, too).

@jemc
Copy link
Contributor

jemc commented Sep 10, 2022

As of now, I need to copy the Core library to /usr/local/core in order to get picked up by other libraries.

For whatever it's worth (mainly for others reading along) Savi does not require the savi binary or the core library to be installed in any particular place on your system - it can be installed anywhere as long as the relative paths among the pieces of the distribution are maintained relative to one another. So it's only true that you need to put the core library at /usr/local/core if you chose to put the savi binary at /usr/local/bin/savi. I don't recommend this pattern.

Instead I recommend putting the entire distribution of Savi in an isolated folder somewhere, and adding that folder's bin subdirectory to your PATH.

the version of Core (and the Savi compiler version, too).

I think we won't be able to cleanly version the core library version separately from the Savi compiler version because they are fairly entangled (via compiler intrinsics in the internal implementation details of the core library). So I think we need to treat the two as having one version, which represents the version of the language and the core data types available in the language.

I think we should call this the Savi version in the manifest.

@jemc
Copy link
Contributor

jemc commented Sep 22, 2022

Marking this as being part of the 1.0 milestone because we definitely need to answer this question before 1.0 stabilization.

@jemc jemc added this to the 1.0.0 Release milestone Sep 22, 2022
@jemc jemc added the needs design Need to work out a reasonably solid plan before we start doing this. label Sep 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs design Need to work out a reasonably solid plan before we start doing this.
Projects
None yet
Development

No branches or pull requests

2 participants