[Haskell-cafe] Adding Content-Addressable Storage to GHC
Michal J Gajda
mgajda at mimuw.edu.pl
Thu Mar 19 11:10:12 UTC 2020
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