lensref v0.3 Release Notes
-
- โก๏ธ Updated semantics which make possible onChange without an Eq constraint This semantics handles more tricky situations than the previous one.
Interface changes:
- Data.LensRef provides a restricted (and probably less confusing) interface The hidden functions can be accessed via Data.LensRef.Class
- ๐ Renamed onChange combinators
- onChange don't have the Eq constraint; there is an new onChangeEq function with the interface of the previous onChange function
- Most of the methods of the MonadRegister type class went to the MonadRefCreator type class
- Simplification: provide askPostpone instead of registerCallback
- Correction references (still experimental)
Implementation changes:
- Completed fast implementation
- ๐ Fast implementation was tuned for performance It is now just ~10 times slower than IORefs.
- The pure implementation is also quite fast now (but asymptotically slower than the fast implementation)
- โ More test cases
- ๐ Use Applicative instead of Monad in ReadRef where possible
- Eliminate lens dependency, use a compatible custom module instead
๐ Documentation:
- Begin to write an introduction to state-based FRP (still under construction)
- ๐ graphviz support for documentation
- โ Added a criterion performance test