Hi,I use the State monad in a lot of places, but when I use it with the lens library, I find myself writing code like:
myFunc :: StateT MyState ([ResultType])
myFunc = do
st <- get
case st ^. some_property of
True -> do
my_value .= "Hello"
True -> do
my_value .= "Goodbye"
I want to do something based on a 'state-variable', but I have to write 'get' -- is there a pattern that allows me to avoid the intermediate 'st' variable?
I want to write something like:
myFunc = do
case (get ^. some_property) of
True -> do
my_value .= "Hello"
True -> do
my_value .= "Goodbye"
but that won't compile.
Best wishes,
Mike