Current section

Files

Jump to
do src classes do_semigroup.erl
Raw

src/classes/do_semigroup.erl

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% @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).