[Haskell-cafe] sharing
Tom Schouten
tom at zwizwa.be
Thu Feb 6 01:16:49 UTC 2020
On 2/5/20 12:53 PM, Levent Erkok wrote:
> The SBV library (https://hackage.haskell.org/package/sbv) uses the
> ideas in Andy Gill’s Observable sharing paper
> (http://www.ittc.ku.edu/~andygill/papers/reifyGraph.pdf) to safely
> observe sharing. Expressions remain pure, so long as “observation” of
> the sharing is done in the IO monad.
>
> In my experience, this works really well and closely captures the
> application model: You want your users to program as if in a pure
> language, but the various backends (For SBV, this means C-compilation,
> SMTLib translation, Test-case generation etc.) already happens in a
> monadic framework, so it all works out rather nicely.
>
This would probably fit my case also.
> SBV doesn’t use Andy’s data-reify package
> (https://hackage.haskell.org/package/data-reify), but that’s mostly
> historic. I’d definitely give that package a try. But if it doesn’t
> work for you for whatever reason (maybe the API doesn’t quite fit),
> Andy’s paper is extremely well written and you can easily use his
> ideas to roll your own.
Thanks for the pointers!
More information about the Haskell-Cafe
mailing list