Wed Feb 5 08:05:50 EST 2020

Sharing through content addressable store

In a pure representation of a dataflow language with sharing, the
trick is to merge context.

I've solved this before also doing common subexpression elimination.
Is it possible to represent a context in such a way that it is easy to

Can this use some form of hashing?

Follow up (see mailing list thread)
- applicative do?
- recent ghc also have source plugins?
- check how ivory/tower edsl libraries do their embedding
- try clash
- try MaybePure
- RebindableSyntax
- Edward Kmett's AD package does observable sharing
- https://hackage.haskell.org/package/sbv
- https://www.researchgate.net/profile/David_Sands3/publication/225679607_Observable_Sharing_for_Functional_Circuit_Description/links/0a85e530b7beb39a9c000000.pdf