Primordials

amalgam.primordials._add(_env: amalgam.environment.Environment, *nums: amalgam.amalgams.Numeric)amalgam.amalgams.Numeric[source]

Returns the sum of nums.

amalgam.primordials._and(env: amalgam.environment.Environment, *qexprs: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Atom[source]

Checks the truthiness of the evaluated qexprs and performs an and operation. Short-circuits when :FALSE is returned and does not evaluate subsequent expressions.

amalgam.primordials._at(_env: amalgam.environment.Environment, index: amalgam.amalgams.Numeric, vector: amalgam.amalgams.Vector)amalgam.amalgams.Amalgam[source]

Indexes vector with index.

amalgam.primordials._bool(_env: amalgam.environment.Environment, expr: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Checks for the truthiness of an expr.

amalgam.primordials._break(env: amalgam.environment.Environment)amalgam.amalgams.Internal[source]

Exits a loop with :NIL.

amalgam.primordials._concat(_env: amalgam.environment.Environment, *strings: amalgam.amalgams.String) → amalgam.amalgams.String[source]

Concatenates the given strings.

amalgam.primordials._cond(env: amalgam.environment.Environment, *qpairs: amalgam.amalgams.Quoted[amalgam.amalgams.Vector[amalgam.amalgams.Amalgam]])amalgam.amalgams.Amalgam[source]

Traverses pairs of conditions and values. If the condition evaluates to :TRUE, returns the value pair and short-circuits evaluation. If no conditions are met, :NIL is returned.

amalgam.primordials._cons(_env: amalgam.environment.Environment, amalgam: amalgam.amalgams.Amalgam, vector: amalgam.amalgams.Vector)amalgam.amalgams.Vector[source]

Preprends an amalgam to vector.

amalgam.primordials._div(_env: amalgam.environment.Environment, *nums: amalgam.amalgams.Numeric)amalgam.amalgams.Numeric[source]

Divides nums[0] and the product of nums[1:]

amalgam.primordials._do(env: amalgam.environment.Environment, *qexprs: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Evaluates a variadic amount of qexprs, returning the final expression evaluated.

amalgam.primordials._eq(_env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs an equals comparison.

amalgam.primordials._eval(env: amalgam.environment.Environment, amalgam: amalgam.amalgams.Amalgam)amalgam.amalgams.Amalgam[source]

Evaluates a given amalgam.

amalgam.primordials._exit(env: amalgam.environment.Environment, exit_code: amalgam.amalgams.Numeric = <Numeric '0' @ 0x7fbd9652aad0>)amalgam.amalgams.Amalgam[source]

Exits the program with the given exit_code.

amalgam.primordials._fn(env: amalgam.environment.Environment, args: amalgam.amalgams.Quoted[amalgam.amalgams.Vector[amalgam.amalgams.Symbol]], body: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Function[source]

Creates an anonymous function using the provided arguments.

Binds env to the created amalgams.Function if a closure is formed.

amalgam.primordials._ge(env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs a greater than or equal comparison.

amalgam.primordials._gt(_env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs a greater than comparison.

amalgam.primordials._if(env: amalgam.environment.Environment, qcond: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam], qthen: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam], qelse: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Checks the truthiness of the evaluated qcond, evaluates and returns qthen if :TRUE, otherwise, evaluates and returns qelse.

amalgam.primordials._is_map(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector)amalgam.amalgams.Atom[source]

Verifies whether vector is a mapping.

amalgam.primordials._le(env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs a less than or equal comparison.

amalgam.primordials._len(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector)amalgam.amalgams.Numeric[source]

Returns the length of a vector.

amalgam.primordials._let(env: amalgam.environment.Environment, qpairs: amalgam.amalgams.Quoted[amalgam.amalgams.Vector[amalgam.amalgams.Vector]], body: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Creates temporary bindings of names to values specified in qpairs before evaluating body.

amalgam.primordials._loop(env: amalgam.environment.Environment, *qexprs: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Loops through and evaluates qexprs indefinitely until a break or return is encountered.

amalgam.primordials._lt(_env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs a less than comparison.

amalgam.primordials._macro(env: amalgam.environment.Environment, name: amalgam.amalgams.Quoted[amalgam.amalgams.Symbol], args: amalgam.amalgams.Quoted[amalgam.amalgams.Vector[amalgam.amalgams.Symbol]], body: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Creates a named macro using the provided arguments.

amalgam.primordials._make_function(name: str, func: Callable[[], T] = None, defer: bool = False, contextual: bool = False, allows: Sequence[str] = None) → Union[functools.partial, Callable[[], T]][source]

Transforms a given function func into a Function and stores it inside of the FUNCTIONS mapping.

amalgam.primordials._map_at(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector, atom: amalgam.amalgams.Atom)amalgam.amalgams.Amalgam[source]

Obtains the value bound to atom in vector.

amalgam.primordials._map_in(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector, atom: amalgam.amalgams.Atom)amalgam.amalgams.Atom[source]

Checks whether atom is a member of vector.

amalgam.primordials._map_up(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector, atom: amalgam.amalgams.Atom, amalgam: amalgam.amalgams.Amalgam)amalgam.amalgams.Vector[source]

Updates the vector mapping with :data:`atom, and amalgam.

amalgam.primordials._merge(_env: amalgam.environment.Environment, *vectors: amalgam.amalgams.Vector)amalgam.amalgams.Vector[source]

Merges the given vectors.

amalgam.primordials._mkfn(env: amalgam.environment.Environment, name: amalgam.amalgams.Quoted[amalgam.amalgams.Symbol], args: amalgam.amalgams.Quoted[amalgam.amalgams.Vector[amalgam.amalgams.Symbol]], body: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Creates a named function using the provided arguments.

Composes _fn() and _setn().

amalgam.primordials._mul(_env: amalgam.environment.Environment, *nums: amalgam.amalgams.Numeric)amalgam.amalgams.Numeric[source]

Returns the product of nums.

amalgam.primordials._ne(_env: amalgam.environment.Environment, x: amalgam.amalgams.Amalgam, y: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Performs a not equals comparison.

amalgam.primordials._not(_env: amalgam.environment.Environment, expr: amalgam.amalgams.Amalgam)amalgam.amalgams.Atom[source]

Checks and negates the truthiness of expr.

amalgam.primordials._or(env: amalgam.environment.Environment, *qexprs: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Atom[source]

Checks the truthiness of the evaluated qexprs and performs an or operation. Short-circuits when :TRUE is returned and does not evaluate subsequent expressions.

amalgam.primordials._print(_env: amalgam.environment.Environment, amalgam: amalgam.amalgams.Amalgam)amalgam.amalgams.Amalgam[source]

Prints the provided amalgam and returns it.

amalgam.primordials._provide(env: amalgam.environment.Environment, *qsymbols: amalgam.amalgams.Quoted[amalgam.amalgams.Symbol])amalgam.amalgams.Atom[source]

Sets the ~provides~ key to be used in _require().

amalgam.primordials._putstrln(_env: amalgam.environment.Environment, string: amalgam.amalgams.String) → amalgam.amalgams.String[source]

Prints the provided string and returns it.

amalgam.primordials._remove(_env: amalgam.environment.Environment, index: amalgam.amalgams.Numeric, vector: amalgam.amalgams.Vector)amalgam.amalgams.Vector[source]

Removes an item in vector using index.

amalgam.primordials._require(env: amalgam.environment.Environment, module_name: amalgam.amalgams.String)amalgam.amalgams.Atom[source]

Runs a given module_name and imports the exposed symbols to the current env with respect to the ~provides~ key created in _provide().

amalgam.primordials._return(env: amalgam.environment.Environment, result: amalgam.amalgams.Amalgam)amalgam.amalgams.Internal[source]

Exits a context with a result.

amalgam.primordials._setn(env: amalgam.environment.Environment, name: amalgam.amalgams.Quoted[amalgam.amalgams.Symbol], amalgam: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Binds name to the evaluated amalgam value in the immediate env and returns that value.

amalgam.primordials._setr(env: amalgam.environment.Environment, qrname: amalgam.amalgams.Quoted[amalgam.amalgams.Symbol], qamalgam: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Attemps to resolve qrname to a amalgams.Symbol and binds it to the evaluated qamalgam in the immediate env.

amalgam.primordials._slice(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector, start: amalgam.amalgams.Numeric, stop: amalgam.amalgams.Numeric, step: amalgam.amalgams.Numeric = <Numeric '1' @ 0x7fbd96533150>)amalgam.amalgams.Vector[source]

Returns a slice of the given vector.

amalgam.primordials._snoc(_env: amalgam.environment.Environment, vector: amalgam.amalgams.Vector, amalgam: amalgam.amalgams.Amalgam)amalgam.amalgams.Vector[source]

Appends an amalgam to vector.

amalgam.primordials._sub(_env: amalgam.environment.Environment, *nums: amalgam.amalgams.Numeric)amalgam.amalgams.Numeric[source]

Subtracts nums[0] and the summation of nums[1:].

amalgam.primordials._unquote(_env: amalgam.environment.Environment, qamalgam: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Unquotes a given qamalgam.

amalgam.primordials._when(env: amalgam.environment.Environment, qcond: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam], qbody: amalgam.amalgams.Quoted[amalgam.amalgams.Amalgam])amalgam.amalgams.Amalgam[source]

Synonym for _if() that defaults qelse to :NIL.