iu-parfunc / lvars

The LVish Haskell library
http://hackage.haskell.org/package/lvish
80 stars 14 forks source link

A (non)determinism level for DRF #129

Open rrnewton opened 8 years ago

rrnewton commented 8 years ago

We currently have five bits in the effect signature: put, get, freeze, bump, io.

I propose R and NR for "remove" or "read". Both (1) remove operations on containers, and (2) exact traditional read operations compromise determinism. But they do not introduce data races or relaxed, non-SC memory models, thus it is useful to distinguish them from

A good initial test for this is the minecraft-like benchmark here. Nondeterminism can be used for a shared counter to provide unique "chunkIDs".