an erlang monad?
Pascal Brisset
pascal.brisset@REDACTED
Wed Mar 2 18:19:40 CET 2005
> That is, fold over a list of functions that update
> the dictionary. This, I believe, essentially amounts
> to a monad in other languages. ;-) Even if this is
> just me misunderstanding monads (like everyone else),
> I find the function very useful.
It looks even more like an iterated version the popular "maybe
monad" if each function is allowed to abort the computation:
with(X, []) ->
X;
with(X, [F|Fs]) ->
case F(X) of
{ok, Y} -> with(Y, Fs);
{error, E} -> {error, E}
end.
> What this does is basically free you from the absurd
> D1, D2, D3, etc. gymnastics, where you will eventually,
> inevitably mess up the numbering.
Ah, so we are not the only ones... I was ashamed that we had to
write a dedicated linter to catch all these numbering errors :-)
-- Pascal Brisset
More information about the erlang-questions
mailing list