65 if (
p_args == NULL) {
if (slot) *slot = NULL;
continue; }
112 if (
p_args == NULL) {
if (slot) *slot = NULL;
continue; }
static void x_obj_t int int i
Definition x-prim.h:60
x_spair_t roots[2]
Definition x-prim.h:99
static void x_obj_t * p_args
Definition x-prim.h:56
x_obj_t ** p_cell
Definition x-prim.h:92
static void x_obj_t int count
Definition x-prim.h:57
int held
Definition x-prim.h:91
static void __attribute__((unused)) x_args(x_obj_t *p_base
x_heap_root_push(p_cell, roots[0])
void x_value_bind(x_obj_t *p_base, x_char_t *name, x_obj_t *p_val)
Definition x-prim.c:67
void x_callable_bind(x_obj_t *p_base, x_char_t *name, x_fn_t fn)
Definition x-prim.c:50
void x_callable_bind_table(x_obj_t *p_base, const x_callable_entry_t *table, int count)
Definition x-prim.c:96
void x_prims_bind_table(x_obj_t *p_base, const x_prim_entry_t *table, int count)
Definition x-prim.c:255
x_obj_t * x_prims(x_obj_t *p_base)
Definition x-prim.c:117
x_obj_t * x_prim_signal_register(x_obj_t *p_base, x_obj_t *p_args)
Definition signal.c:160
x_fn_t fn
Definition x-prim.h:169
x_char_t * name
Definition x-prim.h:168
x_char_t * method
Definition x-prim.h:208
x_fn_t fn
Definition x-prim.h:206
x_char_t * ns
Definition x-prim.h:207
x_char_t * name
Definition x-prim.h:205
#define x_argrun(...)
Definition x-eval-slots.h:169
#define x_eval_call(B, I, A)
Definition x-eval-slots.h:190
@ X_SLOT_EVAL
Definition x-eval-slots.h:83
void x_eval_spine_guard(x_obj_t *p_base, x_obj_t *p_obj)
Definition x-eval.c:375
Evaluator object and interface – x-expr's base object plus the environment, control-flow,...
Heap management and mark-sweep garbage collection.
The x-expr object system – atoms, pairs, flags, and type dispatch.
@ X_OBJ_FLAG_NONE
Definition x-obj.h:131
#define x_obj_data_i(X, I)
Definition x-obj.h:332
#define x_obj_set(T, F,...)
Definition x-obj.h:344
x_obj_t *(* x_fn_t)(x_obj_t *p_base, x_obj_t *p_args)
Definition x-obj.h:199
#define x_firstobj(X)
Definition x-obj.h:418
x_satom_t x_type_pair_obj
Definition x-obj.c:32
x_obj_t x_spair_t[X_OBJ_META_LEN+X_OBJ_UNITS_PAIR]
Definition x-obj.h:288
#define x_restobj(X)
Definition x-obj.h:439
x_obj_t * x_heap_mark_phase(x_obj_t *p_base, x_obj_t *p_args)
Definition heap.c:82
x_obj_t * x_prim_arith_register(x_obj_t *p_base, x_obj_t *p_args)
Definition arith.c:245
x_obj_t * x_heap_sweep_phase(x_obj_t *p_base, x_obj_t *p_args)
Definition heap.c:115
x_obj_t * x_prim_base_register(x_obj_t *p_base, x_obj_t *p_args)
Definition base.c:316
x_obj_t * x_prim_pred_register(x_obj_t *p_base, x_obj_t *p_args)
Definition pred.c:140
x_obj_t * x_prim_ffi_register(x_obj_t *p_base, x_obj_t *p_args)
Register all FFI primitives and platform constants.
Definition ffi.c:775
x_obj_t * x_prim_type_build_struct(x_obj_t *p_base, x_obj_t *p_name_atom, x_obj_t *p_handlers)
Build a type struct from a handlers alist.
Definition type.c:63
x_obj_t * x_prim_heap_register(x_obj_t *p_base, x_obj_t *p_args)
Definition heap.c:404
x_obj_t * x_prim_io_register(x_obj_t *p_base, x_obj_t *p_args)
Definition io.c:224
x_obj_t * x_prim_op1(x_obj_t *p_base, x_obj_t *p_args, x_obj_t *(*op)(x_obj_t *, x_obj_t *))
Definition type.c:320
x_obj_t * x_prim_callcc_register(x_obj_t *p_base, x_obj_t *p_args)
Definition callcc.c:370
x_obj_t * x_heap_run_hooks(x_obj_t *p_base, x_obj_t *p_args)
Definition heap.c:29
x_obj_t * x_prim_image_register(x_obj_t *p_base, x_obj_t *p_args)
Definition image.c:913
x_obj_t * x_prim_register(x_obj_t *p_base, x_obj_t *p_args)
Definition x-prim.c:288
void x_callcc_init(void)
Definition callcc.c:106
x_obj_t * x_prim_core_register(x_obj_t *p_base, x_obj_t *p_args)
Definition core.c:332
x_obj_t * x_prim_repl(x_obj_t *p_base, x_obj_t *p_args)
Definition io.c:149
x_obj_t * x_prim_type_register(x_obj_t *p_base, x_obj_t *p_args)
Register all type-system and sandboxing primitives.
Definition type.c:353
x_obj_t * x_prim_string_register(x_obj_t *p_base, x_obj_t *p_args)
Definition string.c:215
x_obj_t * x_prim_iter_register(x_obj_t *p_base, x_obj_t *p_args)
Definition iter.c:68
x_obj_t * x_prim_buffer_register(x_obj_t *p_base, x_obj_t *p_args)
Definition buffer.c:283
char x_char_t
Definition x.h:138