Table Of Contents

Next topic

Reference

This Page

Erlang Domain

author:SHIBUKAWA Yoshiki <yoshiki at shibu.jp>

About

This is the Erlang domain for Sphinx 1.0. Sphinx 1.0 will deliver new feature – Domain. It will enable other language support except Python and C language.

This extension provides directives and roles to write Erlang documents.

Erlang Domain supports following objects:

  • Module
    • Function
    • Macro
    • Record

Note

This domain expresses module structure like this:

module:function_name/0
module:#record_name
module:MacroName

Quick Sample

Note

These contents is copied from http://www.erlang.org/doc/man/lists.html

This is source:

.. erl:module:: lists

.. erl:function:: append(ListOfLists) -> List1

   :type ListOfLists: [[term()]]
   :rtype: [term()]

   Returns a list in which all the sub-lists of ListOfLists
   have been appended. For example:

   .. code-block:: erlang

      > lists:append([[1, 2, 3], [a, b], [4, 5, 6]]).
      [1,2,3,a,b,4,5,6]

.. erl:function:: append(List1, List2) -> List3

   :param List1: First Item
   :type List1: [term()]
   :param List2: Second Item
   :type List2: [term()]
   :rtype: [term()]

   Returns a new list List3 which is made from the elements
   of List1 followed by the elements of List2. For example:

   .. code-block:: erlang

      > lists:append("abc", "def").
      "abcdef"

   ``lists:append(A, B)`` is equivalent to ``A ++ B``.

lists:append(ListOfLists) → List1
Return type:[term()]

Returns a list in which all the sub-lists of ListOfLists have been appended. For example:

> lists:append([[1, 2, 3], [a, b], [4, 5, 6]]).
[1,2,3,a,b,4,5,6]
lists:append(List1, List2) → List3
Parameters:
  • List1 ([term()]) – First Item
  • List2 ([term()]) – Second Item
Return type:

[term()]

Returns a new list List3 which is made from the elements of List1 followed by the elements of List2. For example:

> lists:append("abc", "def").
"abcdef"

lists:append(A, B) is equivalent to A ++ B.


From other place, you can create cross reference like that:

followed by List2. Looking at how :erl:func:`lists:append/1`
or ``++`` would be implemented in plain Erlang,
it can be seen clearly that the first list is copied.

Result:


followed by List2. Looking at how lists:append/1 or ++ would be implemented in plain Erlang, it can be seen clearly that the first list is copied.


Install

$ easy_install -U sphinxcontrib-erlangdomain

Contents:

ChangeLog

This file describes user-visible changes between the extension versions.

Version 0.1 (2010-08-27)

  • Initial version.

License

If not otherwise noted, the extensions in this package are licensed
under the following license.

Copyright (c) 2010 by the contributors (see AUTHORS file).
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

* Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.