[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.
--
Cheers
Michal
More information about the Haskell-Cafe
mailing list