transient icon indicating copy to clipboard operation
transient copied to clipboard

Deprecate redundant state management primitives

Open harendra-kumar opened this issue 8 years ago • 2 comments

There are two versions of state management primitives, ending with Data and ending with State, it creates unnecessary confusion. It is better to not have redundancy at all, therefore we can deprecate and later remove one set of these. I guess the ones with State suffix should be removed.

harendra-kumar avatar May 10 '17 19:05 harendra-kumar

The problem I detected with the suffix *Data is that haskellers associate it with mutable state. It is not. It is pure state, like in the state monad. I introduced the suffix *State just for this reason.... maybe *Data is to be deprecated. I use *Data trough all the sources...

agocorona avatar May 10 '17 19:05 agocorona

I suggested to keep "Data" because:

  1. It is the one being used widely
  2. We store and retrieve by data types, so "Data" is sort of a reminder for that.

I think the confusion may be largely because it was not properly explained in the documentation and people made their own guesses how it might behave. I have added concise and precise documentation in the module so that problem will not be there. Though I would be fine with any one of those, as long as we have only one.

harendra-kumar avatar May 10 '17 21:05 harendra-kumar