[erlang-questions] chained functions

Richard O'Keefe ok@REDACTED
Fri Jan 27 04:54:56 CET 2012

There's always the possibility of
	eapp(F, E={error,_}) -> E;
	eapp(F, {ok,X}) -> F(X).

	eapp(fun w/1, eapp(fun x/1,
	eapp(fun y/1, eapp(fun z/1, ...))))
and of course this can be turned into a macro:
	  case ?X of EC1 = {error,_} -> EC1
                   ; OC2 = {ok,OV2}  -> ?X(OV2)

Sometimes throwing exceptions is a better choice.

More information about the erlang-questions mailing list