Go to file
Gabriel Gonzalez 99fabea38a
Fix import caching (#702)
This fixes an apparently very old bug in import caching caught by @basile-henry

Before this change the import resolution algorithm was:

1. Retrieving the cache
2. Transitively resolving all imports
3. Setting the new cache to be current import insert into the cache retrieved in
   step 1

The bug is that all of the transitive imports resolved in step 2 added
entries of their own to the cache and those new cache entries were being
clobbered by step 3.

The fix is simple: don't use the cache retrieved in step 1 to compute
the updated cache in step 3.  Rather, use `modify` instead of `put` to
create the new cache so that we preserve newly-added cache entries.
2018-11-24 08:52:30 -08:00
dhall Fix import caching (#702) 2018-11-24 08:52:30 -08:00
dhall-bash Fix dhall-bash version to 1.0.17 (#695) 2018-11-21 19:30:03 -08:00
dhall-json add --version to dhall-json (#704) 2018-11-24 08:35:58 -08:00
dhall-text Version 1.18.0 → 1.19.0 (#691) 2018-11-21 19:10:32 -08:00
nix Test build against ghc-8.6 (#669) 2018-11-03 07:27:12 -07:00
.gitignore Replace .gitigore with one from github/gitignore (#264) 2018-02-14 10:03:39 -08:00
.travis.yml Make format and dhall subcommands of dhall executable (#452) 2018-06-10 19:54:22 +02:00
cabal.project Update stack/cabal config to sync with new structure (#671) 2018-11-06 05:42:23 -08:00
default.nix Migrate dhall-{bash,json,text} into this repository (#661) 2018-10-28 17:32:51 -07:00
LICENSE Migrate dhall-{bash,json,text} into this repository (#661) 2018-10-28 17:32:51 -07:00
README.md Update stack/cabal config to sync with new structure (#671) 2018-11-06 05:42:23 -08:00
release.nix Run tests in CI (#686) 2018-11-16 08:20:31 -08:00
stack-lts-6.yaml Update stack/cabal config to sync with new structure (#671) 2018-11-06 05:42:23 -08:00
stack-lts-11.yaml Update stack/cabal config to sync with new structure (#671) 2018-11-06 05:42:23 -08:00
stack.yaml Update stack/cabal config to sync with new structure (#671) 2018-11-06 05:42:23 -08:00

dhall-haskell

This repository is a shared repository for all of the dhall-* Haskell packages, including:

Navigate to each package's directory for their respective READMEs

Quick start

Building from source

cabal

You can build all of the packages by running:

$ cabal new-build all

And each of them with cabal new-build <package-name>, for example:

$ cabal new-build dhall

... or you can run cabal new-build within each package directory.

nix

You can build all of the packages by running:

$ nix-build

... or you can run nix-build within each package's respective directory to build just that one package.

stack

You can build all of the packages with

$ stack build

And each of them with stack build <package-name>, for example:

$ stack build dhall-json

Development status

Build Status

The compiler is built upon a theoretically sound foundation, meaning that if there are no bugs then the language will never crash and will always halt. However, in practice the compiler needs to be battle-tested to weed out any implementation bugs, so please open issues! 🙂

Read the following guide if you would like to contribute: