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
As noted by @lukaszcz : "... typechecking tries to evaluate Package.juvix, so I can't debug the changes piecemeal on small examples, because the standard library is always needed"
We need a way to define a Juvix package without depending on large amounts of existing Juvix code, so we can run examples while changing the Juvix compiler behaviour (syntax, typechecker, ...).
Proposal
Add a new Package type that has a single constructor:
module PackageDescription.Basic;
type Package := basicPackage;
This PR adds the `PackageDescription.Basic` module, available to
Package.juvix files.
```
module Package;
import PackageDescription.Basic open;
package : Package := basicPackage;
```
The `PackageDescription.Basic` module provides a Package type that is
translated to a Juvix Package with all default arguments. It is not
possible to customize a basic package.
A basic package does not depend on the standard library, so loads much
more quickly.
Additionally this PR:
* Adds `juvix init --basic/-b` option to generate a basic Package.juvix.
* Migrates Package.juvix files that only use default arguments, or only
customise the name field, to basic Package files.
* Closes#2508
The problem
As noted by @lukaszcz : "... typechecking tries to evaluate Package.juvix, so I can't debug the changes piecemeal on small examples, because the standard library is always needed"
We need a way to define a Juvix package without depending on large amounts of existing Juvix code, so we can run examples while changing the Juvix compiler behaviour (syntax, typechecker, ...).
Proposal
Add a new
Package
type that has a single constructor:One could then write the following Package.juvix:
This would behave as if you'd defined a project using an empty
juvix.yaml
file, i.e a Package with all fields set to default.juvix init
to generate this Package.juvix instead of the one usingPackageDescription.V1
.The text was updated successfully, but these errors were encountered: