forked from digital-asset/daml
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move files in daml-foundations/daml-ghc to compiler/damlc (digital-as…
…set#2037) * Move files in daml-foundations/daml-ghc to compiler/damlc There is also a bit of refactoring going on to actually split things apart into sensible targets. What is still missing is a cleanup of the module hierarchy and a cleanup of the test targets but I’ll leave those for separate PRs. As a nice bonus, this also reduces dependencies between targets so it will speed up compiles. * Update .hie-bios
- Loading branch information
1 parent
85a5222
commit edff8a4
Showing
305 changed files
with
881 additions
and
817 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
## Developing | ||
|
||
Before you start, build the IDE test suite. We fall back to this to | ||
find runfiles such as the scenario service and the package database | ||
when we’re running inside GHCi. | ||
|
||
``` | ||
bazel build //compiler/damlc:damlc-shake-tests | ||
``` | ||
|
||
When working on the compiler: | ||
|
||
``` | ||
da-ghcid //compiler/damlc:daml-ghc-test-dev --reload=compiler/damlc/test-files --test=":main --pattern=" | ||
bazel run //compiler/damlc:daml-ghc-test-dev -- --pattern= | ||
bazel run damlc -- compile $PWD/MyDaml12File.daml | ||
``` | ||
|
||
When working on the IDE via the test suite: | ||
|
||
``` | ||
bazel run //compiler/damlc:damlc-shake-tests -- --pattern= | ||
da-ghcid //compiler/damlc:damlc-shake-tests --test=":main --pattern=" | ||
``` | ||
|
||
The above commands do not execute scenarios. To do that, use a command like | ||
``` | ||
bazel run damlc test $PWD/compiler/damlc/bond-trading/Test.daml | ||
``` | ||
|
||
At the moment, commands relying on ghc-pkg, e.g., `damlc build` do not | ||
work via `bazel run`. For testing, install the SDK with | ||
`daml-sdk-head` and then use `daml-head damlc`. | ||
|
||
## Documentation | ||
|
||
Standard library docs are exposed under the bazel rules which you can build with: | ||
|
||
``` | ||
bazel build //compiler/damlc:daml-base-rst-docs | ||
bazel build //compiler/damlc:daml-base-hoogle-docs | ||
``` | ||
|
||
## DAML Packages and Database | ||
|
||
A DAML project is compiled to a DAML package and can be distributed as a DAML archive (DAR). This is | ||
essentially a zip archive containing the DAML source code of the library together with the compiled | ||
.dalf file. The damlc package loading mechanism is based on GHC's package database | ||
and uses the same .conf file format. GHC's package | ||
database is documented at | ||
https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages.html. | ||
|
||
### Loading packages | ||
|
||
`damlc` loads packages from a package database given by the option `--package-db`. It creates a | ||
map from package name to DAML-LF file from all the contained .dalf files in this directory and links | ||
the created DAML-LF against these packages. It uses the .hi interface files created upon | ||
installation of the packages for type checking. | ||
|
||
### Base packages | ||
|
||
Currently a package database is provided together with the `damlc` Bazel rule and `bazel run damlc` | ||
loads this database by default. This package database is also bundled in the `damlc-dist.tar.gz` | ||
tarball included in the SDK. | ||
|
||
### Building the package database | ||
The package database that comes with damlc and the above archives can be build with | ||
|
||
``` | ||
bazel build //compiler/damlc/pkg-db:pkg-db | ||
``` |
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.