GlossaryBuilder (Anoma v0.29.0)

I am the Glossary module. I provide a way to define and document terms throughout the codebase.

I am useful to link back to the definition of a term, and to provide a consistent definition across the codebase in docstrings.

Usage

You can link back to a term in the glossary using generated links. A link is generated with the auto-link syntax. The following example will link to the term anoma in the module Anoma.Glossary.

[anoma](`Anoma.Glossary.anoma/0`)

Note If the term is defined in the glossary using spaces, the spaces will be replaced with underscores.

Public API

I have the following public functionality:

Macros

Summary

Functions

I am the using macro for the Glossary module. I import the Glossary module and make my macros available.

I am the define/2 macro. I define a new entry in a glossary.

Types

@type ast_node() :: {atom(), any(), nil | [ast_node()]}

Functions

Link to this macro

__using__(options)

(macro)
@spec __using__(any()) ::
  {:import, [{:context, GlossaryBuilder} | {:end_of_expression, [...]}, ...],
   [GlossaryBuilder, ...]}

I am the using macro for the Glossary module. I import the Glossary module and make my macros available.

Link to this macro

define(label, list)

(macro)
@spec define(String.t() | atom(), [{:do, String.t()}]) :: Macro.t()

I am the define/2 macro. I define a new entry in a glossary.

Example

The following snippet defines the term anoma.

define anoma do
  """
  An intent-centric architecture decentralized counterparty discovery, solving,
  information flow control, and atomic multi‑chain settlement.
  """
end

Spaces in the names of definitions are automatically replaced with underscores.

define transaction candidate do
  """
  A transaction candidate is `t:Noun.t/0` that evaluates to a valid or
  invalid `transaction` for a specified
  `t:Anoma.Node.Executor.Worker.backend/0`
  """
end