# Lasso Domain Reference

The Lasso domain (ls:) provides directives for each language element, as well as corresponding roles for cross-referencing. See the domain docs for more detail on syntax.

## Directives

Each directive populates the index.

### Quick example

.. ls:type:: rhino

Description of the type

:parent: :ls:type:mammal
:import: :ls:trait:trait_horned
:see: http://en.wikipedia.org/wiki/Rhinoceros

.. ls:member:: numberOfHorns(species::string)::integer

Description of the member method

:param string species: Specifies which species
:return: The number of horns


## Roles

Cross-referencing is done with roles using the same syntax as other domains, except that member tag syntax using the arrow operator -> is used to associate types or traits with member methods, such as :meth:bytes->getrange. All other syntax follows what's described in the domain docs.

Use the following roles to link to definitions of each element:

### Quick example

The :ls:type:Pair <pair> type always contains two elements which are accessed
with the :ls:meth:pair->first and :ls:meth:~pair->second methods.


The :ls:type:Pair <pair> type always contains two elements which are accessed with the :ls:meth:pair->first and :ls:meth:~pair->second methods.