Open
Description
In the glossary I link to the wikipedia entry for closures. This is lazy, cite the lambda papers!
similarly in the sharing item I don't cite anything. This is also lazy! I should cite at least:
- liskov and CLU and call-by-sharing.
- hash consing
- observable sharing in haskell (here is the paper that coined the term: https://www.cse.chalmers.se/~dave/papers/observable-sharing.pdf), Gills 09 paper and data-reify.
Then there should be a discussion on why Haskell, in general, does not have observable sharing. Answer, because that breaks referential transparency. That is, if you can tell if two pointers are equal then a function can produce different outputs from the same inputs.