I’m thinking of building a
proxy.dhall-lang.org server which can be used as a caching forward proxy that all Dhall implementations can benefit from
The initial motivation for this is the
dhall-kubernetes project, which takes a while to import from a cold cache if you are importing the project remotely. Using a forward proxy can reduce the number of HTTP requests from hundreds of requests to just one request.
Here is the idea:
proxy.dhall-lang.orgis reachable the interpreter can optionally use it as a forward proxy
For the Haskell implementation I’m thinking of making this the default with an option to disable
The interpreter can also include an HTTP header containing an integrity check for the import if one is present
The proxy then caches imports protected by integrity checks
… with a size limit per cached import and also a global size limit
The cache key would be the multihash for the integrity check (e.g.