[Haskell-cafe] Extensible states
Alberto G. Corona
agocorona at gmail.com
Tue May 5 09:40:05 UTC 2015
Hi,
Anyone used some of the extensible record packages to create a kind of
extensible state monad?
I mean something that besides having "get", "gets" and "put" would have
some kind of "add" and "gets":
add :: a -> State ()
gets :: State (Maybe a)
or
add :: LabelName -> a -> State ()
gets :: LabelName -> State (Maybe a)
So that I can extend the state without using additional monad transformers.
Monad transformers are very hard for beginners and scramble error messages
I did the first option for MFlow, hplayground and Transient packages
(setSData and getSData). But my solution uses a map indexed by type and
this requires a lookup for each access.
I would like to know if there is an alternative with no lookups. I´m not
obsessed with speed but In some applications the speed may be important....
Anyone?
--
Alberto.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150505/a247e6a8/attachment.html>
More information about the Haskell-Cafe
mailing list