AetherlangLib: Manifolds
Types
manifolds.manifold
@ defines a manifold.
Functions
manifold varname1...varnameN body @-> manifolds.manifold
@ where varname1...varnameN: symbol or string
@ body: symbol
@ makes a manifold with given variables and a given body. note that body must contain one pair of outer parentheses in it. like :(f a b c).
section mn varname-value1...varname-valueN @-> manifolds.manifold
@ where mn: manifolds.manifold
@ varname-value1...varname-valueN: symbol or string and any
@ makes a slice of a manifold by removing certain variables from its list and assigning constant values to them instead.
@ example:
m1 = manifold :x :y :(< x y) @ -> manifold of x, y where x < y
m2 = section m1 :x 5 @ -> manifold of y where 5 < y
Note that contains?
from base works perfectly fine with manifolds too, except it will always expect an array of values and a manifold and return 1 or void, since there is no indexing in manifolds.
@ example:
m = manifold :x :y :(< x y) @ -> manifold of x, y where x < y
in? (arr 5 6) m @ -> 1
in? (arr 8 0) m @ -> void