Skip to content
Boilerplate templates for common Erlang OTP behaviors.
JavaScript Haskell Erlang Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples
extras
ffi
xr
.gitignore
README
behaviour.erl
gen_event.erl
gen_fsm.erl
gen_server.erl
minimal.app
supervisor.erl

README

SUMMARY:

The Erlang Open Telecom Platform (OTP) is a set of libraries and practices for building robust services. It relies on 'behaviors', callback modules implementing common patterns like state machines, servers, event handlers, and others.

This is a powerful tool with many benefits, but involves some boilerplate code when you start a new module. These templates solve that problem.

GUIDELINES:

Export wrapper functions for messages, to ensure a clean interface. Example:
    add_user(Uid) -> 
        gen_fsm:send_event(?MODULE, {add, Foo}).
    kick_user(Uid) ->
        gen_fsm:send_event(Uid, kick).

Use edoc tags (@doc and @spec mostly) in your comments, it's trivial to do and produces great-looking docs. (See: erl -man edoc, or man 3 edoc.) The @spec tag in particular is crucial, to avoid dynamic typing mismatch screwups!

TODO:

cover the major stuff, gen_fsm, gen_server, gen_event, supervisor, app, etc
link useful docs from README (OTP, Erlang, tutorials on designing/making OTP supervision trees, and edoc?)
    ensure everything necessary is present
        edoc support, comments, consistency, vsn tag

OTHER STUFF:

extras/ contains miscellaneous code
ffi/ contains FFI tests/attempts, mostly doesn't work
examples/ contains interesting reference code
Something went wrong with that request. Please try again.