[Haskell-cafe] Adding Content-Addressable Storage to GHC

Michal J Gajda mgajda at mimuw.edu.pl
Thu Mar 19 11:10:12 UTC 2020

Great idea!

We already have syntax for package imports:
import "bytestring" Data.ByteString

Source plugin could probably pull and build package by CAS:
import "CAS_6ffeacff768590" Data.ByteString

That would reuse existing syntax without confusion. And without
inconvenience of having to import expressions one by one.
Or declaring their types.
One could even add CAS hashes to Hackage db.

Probably the source plugin can add `-package` parameters with GHC_OPTIONS?

On the expression side, it seems easy to use Generics to derive hashable
for `Exp`, given a *particular compiler version*. Warning is, that one
needs to be more careful when the `Exp`ression type changes.

More information about the Haskell-Cafe mailing list