builtin.h file
Contents
- Reference
Functions
- auto builtin(lenv* env, lval* arg, const char* func) -> lval*
- Dispatches the builtin function
f
to the lvala
. - auto builtin_op(lenv* env, lval* arg, const char* operand) -> lval*
- Evaluates the lval
a
as an operator. - auto builtin_add(lenv* env, lval* arg) -> lval*
- Built-in addition operator.
- auto builtin_sub(lenv* env, lval* arg) -> lval*
- Built-in subtraction operator.
- auto builtin_mul(lenv* env, lval* arg) -> lval*
- Built-in multiplication operator.
- auto builtin_div(lenv* env, lval* arg) -> lval*
- Built-in division operator.
- auto builtin_head(lenv* env, lval* arg) -> lval*
- Returns the head of a Q-Expression.
- auto builtin_tail(lenv* env, lval* arg) -> lval*
- Returns the tail of a Q-Expression.
- auto builtin_list(lenv* env, lval* arg) -> lval*
- Converts a S-Expression to a Q-Expression.
- auto builtin_eval(lenv* env, lval* arg) -> lval*
- Evaluates a Q-Expression as an S-Expression.
- auto builtin_join(lenv* env, lval* arg) -> lval*
- Joins multiple Q-Expressions into a single Q-Expression.
- auto builtin_lambda(lenv* env, lval* arg) -> lval*
- Defines the lambda operator.
- auto builtin_def(lenv* env, lval* arg) -> lval*
- Allows the definition of new functions in the environment.
- auto builtin_put(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_var(lenv* env, lval* arg, const char* func) -> lval*
- TODO.
- auto builtin_ord(lenv* env, lval* arg, const char* operand) -> lval*
- TODO.
- auto builtin_gt(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_lt(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_ge(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_le(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_cmp(lenv* env, lval* arg, const char* operand) -> lval*
- TODO.
- auto builtin_eq(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_ne(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_if(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_load(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_print(lenv* env, lval* arg) -> lval*
- TODO.
- auto builtin_error(lenv* env, lval* arg) -> lval*
- TODO.
Function documentation
lval* builtin_op(lenv* env, lval* arg, const char* operand)
Evaluates the lval a
as an operator.
Returns | lval* |
---|
Evaluates the lval a
as an operator. Returns an error if a
's children are not of type LVAL_NUM.
lval* builtin_add(lenv* env, lval* arg)
Built-in addition operator.
Returns | lval* |
---|
Curly's built-in addition operator.
lval* builtin_sub(lenv* env, lval* arg)
Built-in subtraction operator.
Returns | lval* |
---|
Curly's built-in subtraction operator.
lval* builtin_mul(lenv* env, lval* arg)
Built-in multiplication operator.
Returns | lval* |
---|
Curly's built-in multiplication operator.
lval* builtin_div(lenv* env, lval* arg)
Built-in division operator.
Returns | lval* |
---|
Curly's built-in division operator.
lval* builtin_head(lenv* env, lval* arg)
Returns the head of a Q-Expression.
Returns | lval* |
---|
Returns the head of a Q-Expression and discards the tail.
lval* builtin_tail(lenv* env, lval* arg)
Returns the tail of a Q-Expression.
Returns | lval* |
---|
Returns the tail of a Q-Expression and discards the head.
lval* builtin_list(lenv* env, lval* arg)
Converts a S-Expression to a Q-Expression.
Returns | lval* |
---|
Converts a S-Expression to a Q-Expression and returns it.
lval* builtin_eval(lenv* env, lval* arg)
Evaluates a Q-Expression as an S-Expression.
Returns | lval* |
---|
Evaluates a Q-Expression as an S-Expression using lval_eval. Returns an error if the Q-Expression contains another Q-Expression.
lval* builtin_join(lenv* env, lval* arg)
Joins multiple Q-Expressions into a single Q-Expression.
Returns | lval* |
---|
Joins multiple Q-Expressions into a single Q-Expression using lval_join returns the resulting Q-Expression.
lval* builtin_lambda(lenv* env, lval* arg)
Defines the lambda operator.
Returns | lval* |
---|
FIX
Defines the lambda operator as the \
character.
lval* builtin_def(lenv* env, lval* arg)
Allows the definition of new functions in the environment.
Returns | lval* |
---|
FIX
Allows the definition of new functions in the environment.