can you give translation you mean? i don't have anything against
combinators, they just need to be easy to use, don't forcing me to
think where i should put one, as i don't think with lazy code and C
imperative code. and they shouldn't clatter the code, too. just try to
write complex expression using C and these combinators
perhaps we're misunderstanding each other? if i define a monadic
assignment operator lifted over monadic lhs/rhs, i can already have
side-effecting lhs/rhs, including post-increments and content lookup.
that's what that example demonstrated, translating everything you
asked for. one can do the same with other operations, such as
lifting numeric operations over monadic operands (though the
current class hierarchy may require some ugly dummy class
instances for that; also, non-overloaded Bool always requires
some workaround). what is it that you think is missing?
Haskell-Cafe mailing list