From 288727f09a1b3458c268497d111349e608c3f9fa Mon Sep 17 00:00:00 2001 From: "bozo.kopic" Date: Tue, 2 Aug 2022 01:20:12 +0200 Subject: init --- src_c/function.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src_c/function.h (limited to 'src_c/function.h') diff --git a/src_c/function.h b/src_c/function.h new file mode 100644 index 0000000..ce249c4 --- /dev/null +++ b/src_c/function.h @@ -0,0 +1,54 @@ +#ifndef LISP16_FUNCTION_H +#define LISP16_FUNCTION_H + +#include "builtin.h" + + +extern lsp_builtin_entry_t lsp_functions[]; + +lsp_status_t lsp_function_eval(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_apply(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_error(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_cons(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_set_car(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_set_cdr(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_number(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_pair(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_string(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_symbol(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_function(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_is_syntax(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_eq(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_equal(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_gt(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_lt(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_plus(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_minus(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_multiply(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_divide(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_read(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_read_u8(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_peek_u8(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_write(lsp_env_t *e, lsp_addr_t ctx, lsp_addr_t args); +lsp_status_t lsp_function_write_u8(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_make_string(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_string_length(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_string_ref(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); +lsp_status_t lsp_function_string_set(lsp_env_t *e, lsp_addr_t ctx, + lsp_addr_t args); + +#endif -- cgit v1.2.3-70-g09d2