Learn: Operators

Every min program needs operators to:

There are two types of operators: symbols and sigils.

Symbols are the most common type of operator. A min symbol is a single word that is either provided by one of the predefined min modules like dup or . or defined by the user. User-defined symbols must:

It is possible to define symbols using the define symbol. The following min program defines a new symbol called square that duplicates the first element on the stack and multiplies the two elements:

 (dup *) "square" define

Besides symbols, min provides a set of predefined sigils as abbreviations for for commonly-used symbols. For example, the previous definition could be rewritten as follows using sigils:

 (dup *) :square

A sigil like : can be prepended to a single-word string instead of using the corresponding symbol. Essentially, sigils are nothing more than syntactic sugar. Currently min provides the following sigils:

Alias for module.
Alias for delete.
Alias for quote.
Alias for define.
Alias for call.
Alias for bind.
Alias for save-symbol.
Alias for load-symbol.
Alias for quote-bind.
Alias for quote-define.
Alias for dget.
Alias for dset.
Alias for dhas?.
Alias for system.
Alias for run.
Alias for get-env.

→ Continue to Quotations