a sequence of one or more punctuation (and special) characters representing an infix operator

syntax

- as the arithmetic operator, multiplication: Number * Number → Number
- as the product of Types, making a tuple Type: Type * Type → Type
- as the the inner product of two vectors as an alternative to dot_product: Vector<d, Number> * Vector<d, Number> → Number
- See also: kleene_star

The unicode character MULTIPLICATION SIGN (U+00D7) (not to be confused with x, the unicode character LATIN SMALL LETTER X (U+0078)) may be typed as `_x_`

.

- as the arithmetic operator "multiplication" Function signature: Number * Number → Number
- as the cross product of two three component vectors cross_product Function signature: Vector<3> * Vector<3> → Vector<3>
- as the product of Types, making a tuple Type Function signature: Type * Type → Type

The unicode character RIGHTWARD ARROW (U+2192) may be typed as `->`

. The arrow operator creates an object which is simultaneously a **function type** and a maps_to relation. The signature of a function is composed with the left hand side defining the function's domain (the input parameter types) and the right hand defining the codomain (the return type).

- as a factory of a function type Function signature: Type * Type → Type
- as a relation indicating a maps_to constraint Function signature: Set * Set → Relation

The unicode character RING OPERATOR (U+2218) may be typed as `_o_`

.
The ring operator composes functions such that `(f ○ g)(x)`

is equivalent to
`f(g(x))`

.

- as the composition operator Function signature: (X → Y) * (Y → Z) → (X → Z)

The prepend operator creates a new collection, putting the left hand operand at the beginning and then appending the collection in the right hand operand

- as the denumerable constructor prepend Function signature: T * Collection<T> -> Collection<T>

The unicode character UNION (0x222A) may be typed as `_u_`

. Not to be confused with 'U' (0x55).

- as the set union Function signature: Set * Set → Set

The unicode character INTERSECTION (0x2229) may be typed as `_i_`

.

- as the set_intersection operator Function signature: Set * Set → Set

- as the collection_difference operator Function signature: Collection * Collection → Collection
- as the division operator Function signature: Number * Number → Number

The unicode character CIRCLED PLUS (0x2295) may be typed as `_xor_`

.

- as the set_symmetric_difference operator Function signature: Set * Set → Set
- as the xor operator Function signature: Bool * Bool → Bool Function signature: Integer * Integer → Integer