You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently it is allowed that the dependency tree of a project depends trasitively to the same package with different versions. Most often than not, this causes confusing errors or even crashes.
The use of the defaultStdlib option in Package.juvix often results in having different versions on the standard library in the same dependency tree, which causes the problems mentioned above.
This option will be removed. The standard library will no longer be bundled with the compiler.
In the global package we will put a dependency of the most recent version of the standard library. Likewise with defaultPackage.
Do not allow different versions of the same package
The transitive dependency tree must have at most one version of each package.
Allow dependency overwriting
We would add a field to the Package.juvix that would associate packageName : String to packageVersion : SemVer.
The overwrite preferences of the parent package take precedence.
Add minimal compiler version field
We would add a field that indicates what's the minimal juvix version supported for that Package.
The text was updated successfully, but these errors were encountered:
Context
Currently it is allowed that the dependency tree of a project depends trasitively to the same package with different versions. Most often than not, this causes confusing errors or even crashes.
The use of the
defaultStdlib
option in Package.juvix often results in having different versions on the standard library in the same dependency tree, which causes the problems mentioned above.Proposal
This proposal was sketched in a conversation with @paulcadman and @lukaszcz
Remove
defaultStdlib
This option will be removed. The standard library will no longer be bundled with the compiler.
In the global package we will put a dependency of the most recent version of the standard library. Likewise with
defaultPackage
.Do not allow different versions of the same package
The transitive dependency tree must have at most one version of each package.
Allow dependency overwriting
We would add a field to the
Package.juvix
that would associatepackageName : String
topackageVersion : SemVer
.The overwrite preferences of the parent package take precedence.
Add minimal compiler version field
We would add a field that indicates what's the minimal juvix version supported for that Package.
The text was updated successfully, but these errors were encountered: