Skip to content
Uri edited this page Jul 15, 2021 · 14 revisions

Basic definitions

(import (otus algebra))

Warning: Otus Lisp is a functional language, so the use of impure functions (that contains "!" sign in the name) is only allowed in cases you really need to. Additionally, the use of impure functions is very limited.

Arrays

An array is the homogeneous multidimensional table of elements.

Each array element can be either a number (real, integer, rational, complex, or inexact) or a boolean constant (#true or #false). Every number can be a bigint (transparently to the user) or a special number (NaN, +Inf and -Inf), and the count of digits in such numbers is limited only by amount of available computer memory.

The one-dimensional array is named Vector (not to be confused with the native lisp type vector). The two-dimensional is named Matrix. Three- and more-dimensional - Tensor.

Arrays containing only inexact numbers are a special case and (will) have a very fast native math implementation.

TOC

Clone this wiki locally