Compositional, type-safe, polymorphic static values and closures


Version on this page:0.3.8
LTS Haskell 22.30:0.3.10
Stackage Nightly 2024-07-23:0.3.10
Latest on Hackage:0.3.10

See all snapshots distributed-static appears in

BSD-3-Clause licensed by Edsko de Vries
Maintained by Facundo Domínguez
This version can be pinned in stack with:distributed-static-0.3.8@sha256:9a2dcf8969a3e7199f405c59b0d347d7d7e8e0f6b625fdf10fcca207ab40257e,2237

Module documentation for 0.3.8

Towards Haskell in the Cloud (Epstein et al, Haskell Symposium 2011) introduces the concept of static values: values that are known at compile time. In a distributed setting where all nodes are running the same executable, static values can be serialized simply by transmitting a code pointer to the value. This however requires special compiler support, which is not yet available in ghc. We can mimick the behaviour by keeping an explicit mapping (RemoteTable) from labels to values (and making sure that all distributed nodes are using the same RemoteTable). In this module we implement this mimickry and various extensions: type safety (including for polymorphic static values) and compositionality.