purescript-contrib/purescript-react

Implications of making IO default in 0.12 on purescript-react

RAbraham opened this issue · 5 comments

Hi,
Regarding Phil's tweet about IO being the default in 0.12, will all of purescript-react's signatures (e.g. readState, writeState) change? I don't know if 0.12 is coming out next or much later down the year though.

paf31 commented

We have a few options:

  • continue to use Eff in this library, to keep the current benefits
  • achieve the same thing using some other technique
  • just use IO and assume the user does the right thing

I vote for 3.

For some clarification, the effect tracking is way more trouble than it's worth as-is as soon as you need to take handlers as props. The other alternative would be to add the indexed capabilities to the "ReactThis" context, but this would require some sort of ST like variable to restrict it's scope. This again, is not worth it.

Is there any plan for the upgrade to 0.12? I would love to help out, especially if it's just a case of mechanically removing the effect rows as that seems pretty straightforward :).

@alexjg there is a currently pending PR with updates for 0.12 and React 16.3