%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% @doc The Semigroup Type Class. %%% @end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%_* Module declaration ====================================================== -module(do_semigroup). %%%_* Exports ================================================================= -define(API, [append/2]). -export(?API). -ignore_xref(?API). %%%_* Includes ================================================================ -include("do_types.hrl"). -include("do_internal.hrl"). %%%_* Callbacks =============================================================== -callback append(semigroup(A), semigroup(A)) -> semigroup(A). %%%_* Code ==================================================================== %%%_* API --------------------------------------------------------------------- append(S1, S2) -> ?Mod(S1):append(S1, S2).