Repository navigation
Lean into static pointers - #493
LaurentRDC wants to merge 1 commit into
Conversation
|
@davidsd I'm happy to produce a patch for |
642efe2 to
281041b
Compare
281041b to
9969da1
Compare
|
@vasdommes and I discussed this today, and we are preparing a patch to But I should point out that this patch does remove functionality -- namely the ability to essentially extend the You could argue that in this case the user should use their own |
Hmmm that's true. I didn't think about the I have publicized this pull request on Discourse; hopefully someone can chime in if they use this functionality, although I would consider it accidental functionality. |
Towards Haskell in the Cloud introduced the concept of static pointers, but they didn't land until GHC 7.10. Therefore,
distributed-process(and the implementation of Towards Haskell in the Cloud) relied on a different mechanism to get things done,RemoteTable.The upcoming GHC 10 fixes several usability issues and outstanding bugs with static pointers. This is the perfect opportunity to remove the historical wart that is
RemoteTableand lean into static pointers fully.This patch does just that: update
distributed-staticto redefineClosureand removeStatic, for a more streamlined implementation that does not rely on a dynamic pointer table. Everything else follows from this change.This leads to breaking changes in multiple packages, most importantly
distributed-staticanddistributed-process. I took this opportunity to address the type signature ofcall(to take aClosure).