nunb / erlang-templates

Boilerplate templates for common Erlang OTP behaviors.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Boilerplate templates for common Erlang OTP behaviors.


Languages

Language:Haskell 53.7%Language:Erlang 35.2%Language:HTML 9.0%Language:Ruby 2.2%