9 #ifndef CYCLONE_RUNTIME_H 10 #define CYCLONE_RUNTIME_H 57 #define Cyc_check_num_args(data, fnc_name, num_args, args) { \ 58 object l = Cyc_length(data, args); \ 59 if (num_args > obj_obj2int(l)) { \ 61 snprintf(buf, 127, "Expected %d arguments to %s but received %ld", \ 62 num_args, fnc_name, obj_obj2int(l)); \ 63 Cyc_rt_raise_msg(data, buf); \ 67 #define Cyc_check_type(data, fnc_test, tag, obj) { \ 68 if ((boolean_f == fnc_test(obj))) Cyc_invalid_type_error(data, tag, obj); } 69 #define Cyc_check_type2(data, fnc_test, tag, obj) { \ 70 if ((boolean_f == fnc_test(data, obj))) Cyc_invalid_type_error(data, tag, obj); } 72 #define Cyc_check_pair_or_null(d,obj) { if (obj != NULL) { Cyc_check_pair(d,obj); }} 73 #define Cyc_check_pair(d,obj) Cyc_check_type(d,Cyc_is_pair, pair_tag, obj); 74 #define Cyc_check_proc(d,obj) Cyc_check_type2(d,Cyc_is_procedure, closureN_tag, obj); 75 #define Cyc_check_num(d,obj) Cyc_check_type(d,Cyc_is_number, integer_tag, obj); 76 #define Cyc_check_fixnum(d,obj) Cyc_check_type(d,Cyc_is_fixnum, integer_tag, obj); 77 #define Cyc_check_int(d,obj) Cyc_check_type(d,Cyc_is_integer, integer_tag, obj); 78 #define Cyc_check_str(d,obj) Cyc_check_type(d,Cyc_is_string, string_tag, obj); 79 #define Cyc_check_sym(d,obj) Cyc_check_type(d,Cyc_is_symbol, symbol_tag, obj); 80 #define Cyc_check_vec(d,obj) Cyc_check_type(d,Cyc_is_vector, vector_tag, obj); 81 #define Cyc_check_bvec(d,obj) Cyc_check_type(d,Cyc_is_bytevector, bytevector_tag, obj); 82 #define Cyc_check_port(d,obj) Cyc_check_type(d,Cyc_is_port, port_tag, obj); 83 #define Cyc_check_mutex(d,obj) Cyc_check_type(d,Cyc_is_mutex, mutex_tag, obj); 84 #define Cyc_check_cond_var(d,obj) Cyc_check_type(d,Cyc_is_cond_var, cond_var_tag, obj); 100 #define global_set(glo,value) Cyc_global_set(data, (object *)&glo, value) 117 #define load_varargs(var, arg_var, count) \ 118 list var = (count > 0) ? alloca(sizeof(pair_type)*count) : NULL; \ 124 va_start(va, arg_var); \ 125 for (i = 0; i < count; i++) { \ 127 tmp = va_arg(va, object); \ 131 var[i].hdr.mark = gc_color_red; \ 132 var[i].hdr.grayed = 0; \ 133 var[i].tag = pair_tag; \ 134 var[i].pair_car = tmp; \ 135 var[i].pair_cdr = (i == (count-1)) ? NULL : &var[i + 1]; \ 147 object Cyc_car(
void *data,
object lis);
148 object Cyc_cdr(
void *data,
object lis);
156 object Cyc_list(
void *data,
int argc,
object cont, ...);
158 object memqp(
void *data,
object x,
list l);
169 object apply(
void *data,
object cont,
object func,
object args);
171 void dispatch_apply_va(
void *data,
int argc,
object clo,
object cont,
object func, ...);
172 object apply_va(
void *data,
object cont,
int argc,
object func, ...);
176 object cont,
object args);
196 object Cyc_substring(
void *data,
object cont,
object str,
object start,
199 object Cyc_string_set(
void *data,
object str,
object k,
object chr);
241 object Cyc_display(
void *data,
object, FILE * port);
247 object Cyc_write(
void *data,
object, FILE * port);
250 object Cyc_write_va(
void *data,
int argc,
object x, ...);
278 #define return_inexact_double_op_no_cps(data, ptr, OP, z) \ 280 Cyc_check_num(data, z); \ 281 if (obj_is_int(z)) { \ 282 unboxed = OP(obj_obj2int(z)); \ 283 } else if (type_of(z) == integer_tag) { \ 284 unboxed = OP(((integer_type *)z)->value); \ 285 } else if (type_of(z) == bignum_tag) { \ 286 unboxed = OP(mp_get_double(&bignum_value(z))); \ 288 unboxed = OP(((double_type *)z)->value); \ 290 assign_double(ptr, unboxed); \ 293 #define return_inexact_double_op(data, cont, OP, z) \ 294 make_double(d, 0.0); \ 295 Cyc_check_num(data, z); \ 296 if (obj_is_int(z)) { \ 297 d.value = OP(obj_obj2int(z)); \ 298 } else if (type_of(z) == integer_tag) { \ 299 d.value = OP(((integer_type *)z)->value); \ 300 } else if (type_of(z) == bignum_tag) { \ 301 d.value = OP(mp_get_double(&bignum_value(z))); \ 303 d.value = OP(((double_type *)z)->value); \ 305 return_closcall1(data, cont, &d) 307 #define return_exact_double_op(data, cont, OP, z) \ 309 Cyc_check_num(data, z); \ 310 if (obj_is_int(z)) { \ 311 i = obj_obj2int(z); \ 312 } else if (type_of(z) == integer_tag) { \ 313 i = (int)OP(((integer_type *)z)->value); \ 314 } else if (type_of(z) == bignum_tag) { \ 315 return_closcall1(data, cont, z); \ 317 i = (int)OP(((double_type *)z)->value); \ 319 return_closcall1(data, cont, obj_int2obj(i)) 321 #define return_exact_double_op_no_cps(data, ptr, OP, z) \ 323 Cyc_check_num(data, z); \ 324 if (obj_is_int(z)) { \ 325 i = obj_obj2int(z); \ 326 } else if (type_of(z) == integer_tag) { \ 327 i = (int)OP(((integer_type *)z)->value); \ 328 } else if (type_of(z) == bignum_tag) { \ 331 i = (int)OP(((double_type *)z)->value); \ 333 return obj_int2obj(i); 335 #define unbox_number(n) \ 336 ((obj_is_int(n) ? obj_obj2int(n) : \ 337 ((type_of(n) == integer_tag) ? \ 338 ((integer_type *)n)->value : \ 339 ((double_type *)n)->value))) 341 object Cyc_num_eq(
void *,
object cont,
int argc,
object n, ...);
342 object Cyc_num_gt(
void *,
object cont,
int argc,
object n, ...);
343 object Cyc_num_lt(
void *,
object cont,
int argc,
object n, ...);
344 object Cyc_num_gte(
void *,
object cont,
int argc,
object n, ...);
345 object Cyc_num_lte(
void *,
object cont,
int argc,
object n, ...);
357 int (fn_op(
void *,
object,
object)),
object n,
359 void Cyc_expt(
void *data,
object cont,
object x,
object y);
360 void Cyc_remainder(
void *data,
object cont,
object num1,
object num2);
367 object Cyc_sum(
void *data,
object cont,
int argc,
object n, ...);
368 object Cyc_sub(
void *data,
object cont,
int argc,
object n, ...);
369 object Cyc_mul(
void *data,
object cont,
int argc,
object n, ...);
370 object Cyc_div(
void *data,
object cont,
int argc,
object n, ...);
371 object Cyc_fast_sum(
void *data,
object ptr,
object x,
object y);
372 object Cyc_fast_sub(
void *data,
object ptr,
object x,
object y);
373 object Cyc_fast_mul(
void *data,
object ptr,
object x,
object y);
374 object Cyc_fast_div(
void *data,
object ptr,
object x,
object y);
376 object Cyc_bit_set(
void *data,
object n1,
object n2);
379 int default_no_args,
int default_one_arg,
object n,
390 object Cyc_eq(
object x,
object y);
391 int equal(
object,
object);
392 object equalp(
object,
object);
425 object Cyc_make_vector(
void *data,
object cont,
int argc,
object len, ...);
434 object Cyc_bytevector(
void *data,
object cont,
int argc,
object bval, ...);
442 object Cyc_utf82string(
void *data,
object cont,
object bv,
object start,
444 object Cyc_string2utf8(
void *data,
object cont,
object str,
object start,
460 object __halt(
object obj);
486 object copy2heap(
void *data,
object obj);
650 #define __glo_eval_91from_91c_scheme_eval Cyc_glo_eval_from_c 651 #define __glo_call_95cc_scheme_base Cyc_glo_call_cc object Cyc_is_pair(object o)
Definition: runtime.c:1471
const object primitive_cdaar
Definition: runtime.c:5299
object Cyc_num_fast_eq_op(void *data, object x, object y)
object Cyc_write_char(void *data, object c, object port)
Definition: runtime.c:1083
const object primitive_substring
Definition: runtime.c:5323
A closed-over function with no variables.
Definition: types.h:954
object Cyc_vector_ref(void *d, object v, object k)
Definition: runtime.c:1687
object copy2heap(void *data, object obj)
Definition: runtime.c:5527
object Cyc_bit_set(void *data, object n1, object n2)
Definition: runtime.c:5570
object Cyc_write(void *data, object, FILE *port)
Definition: runtime.c:1076
object Cyc_is_symbol(object o)
Definition: runtime.c:1523
char ** get_env_variables()
Definition: runtime.c:157
const object primitive_Cyc_91write_91char
Definition: runtime.c:5381
const object primitive_caar
Definition: runtime.c:5291
object add_symbol_by_name(const char *name)
Definition: runtime.c:377
object Cyc_get_global_variables()
Definition: runtime.c:660
port_type Cyc_io_open_input_file(void *data, object str)
Definition: runtime.c:3378
const object primitive_memq
Definition: runtime.c:5280
The port object type.
Definition: types.h:763
object Cyc_char_gte_op(void *data, object a, object b)
const object primitive_command_91line_91arguments
Definition: runtime.c:5330
const object primitive_open_91input_91file
Definition: runtime.c:5369
object Cyc_string_append(void *data, object cont, int argc, object str1,...)
Definition: runtime.c:2053
object Cyc_is_eof_object(object o)
Definition: runtime.c:1612
void Cyc_st_add(void *data, char *frame)
Definition: runtime.c:306
const object primitive_cdadar
Definition: runtime.c:5313
object Cyc_is_bytevector(object o)
Definition: runtime.c:1537
const object primitive_port_127
Definition: runtime.c:5365
object memberp(void *data, object x, list l)
Definition: runtime.c:1098
object Cyc_is_macro(object o)
Definition: runtime.c:1600
const object primitive_cdddr
Definition: runtime.c:5302
const object quote_void
Definition: runtime.c:303
void add_global(object *glo)
Definition: runtime.c:424
object Cyc_fast_mul(void *data, object ptr, object x, object y)
Definition: runtime.c:2906
object Cyc_cdr(void *data, object lis)
Definition: runtime.c:654
object add_symbol(symbol_type *psym)
Definition: runtime.c:368
port_type * Cyc_io_open_output_string(void *data)
Definition: mstreams.c:77
void Cyc_expt(void *data, object cont, object x, object y)
Definition: runtime.c:3240
object Cyc_string_ref(void *data, object str, object k)
Definition: runtime.c:2088
object Cyc_string_set(void *data, object str, object k, object chr)
Definition: runtime.c:2067
port_type Cyc_stdout(void)
Definition: runtime.c:3360
const object primitive_Cyc_91macro_127
Definition: runtime.c:5363
The pair (cons) type.
Definition: types.h:836
double MRG32k3a(double seed)
Definition: runtime.c:5599
const object primitive_cdaddr
Definition: runtime.c:5314
const object primitive_Cyc_91read_91line
Definition: runtime.c:5380
const object primitive_caddar
Definition: runtime.c:5309
const object primitive_string_91length
Definition: runtime.c:5322
object register_library(const char *name)
Definition: runtime.c:407
object Cyc_fast_sum(void *data, object ptr, object x, object y)
Definition: runtime.c:2755
const object primitive_symbol_127
Definition: runtime.c:5368
const object primitive_Cyc_91flush_91output_91port
Definition: runtime.c:5374
const object Cyc_EOF
Definition: runtime.c:150
object equalp(object, object)
Definition: runtime.c:1161
int Cyc_num_lte_op(void *, object x, object y)
const object primitive_procedure_127
Definition: runtime.c:5361
const object primitive_integer_127
Definition: runtime.c:5359
void Cyc_int2bignum(int n, mp_int *bn)
Definition: runtime.c:1297
void dispatch_display_va(void *data, int argc, object clo, object cont, object x,...)
Definition: runtime.c:750
void Cyc_apply(void *data, int argc, closure cont, object prim,...)
Definition: runtime.c:4584
object Cyc_is_boolean(object o)
Definition: runtime.c:1462
const object primitive_cdaadr
Definition: runtime.c:5312
object Cyc_io_close_output_port(void *data, object port)
Definition: runtime.c:3409
object Cyc_glo_call_cc
Definition: runtime.c:492
const object primitive_open_91output_91file
Definition: runtime.c:5370
object Cyc_io_read_char(void *data, object cont, object port)
Definition: runtime.c:3471
const object primitive_cadaar
Definition: runtime.c:5307
const object primitive_cddaar
Definition: runtime.c:5315
const object primitive_cell
Definition: runtime.c:5274
object Cyc_char2integer(object chr)
Definition: runtime.c:2599
const object primitive_caaar
Definition: runtime.c:5295
object Cyc_is_bignum(object o)
Definition: runtime.c:1516
const object primitive_caaadr
Definition: runtime.c:5304
object Cyc_thread_sleep(void *data, object timeout)
Definition: runtime.c:5513
const object primitive__125
Definition: runtime.c:5259
void(* function_type_va)(int, object, object, object,...)
Definition: types.h:518
object Cyc_string2symbol(void *d, object str)
Definition: runtime.c:1814
const object primitive_list_91_125string
Definition: runtime.c:5335
void dispatch(void *data, int argc, function_type func, object clo, object cont, object args)
Definition: runtime.c:4961
object Cyc_substring(void *data, object cont, object str, object start, object end)
Definition: runtime.c:2107
object Cyc_sub_op(void *data, common_type *x, object y)
void dispatch_va(void *data, int argc, function_type_va func, object clo, object cont, object args)
Definition: runtime.c:4980
object Cyc_is_cond_var(object o)
Definition: runtime.c:1558
const object primitive_string_127
Definition: runtime.c:5364
const object primitive__121_123
Definition: runtime.c:5262
const object primitive_apply
Definition: runtime.c:5263
cvar_type * mcvar(object *var)
Definition: runtime.c:3545
object Cyc_compilation_environment(void *data, object cont, object var)
Definition: runtime.c:2173
port_type * Cyc_io_open_input_bytevector(void *data, object bv)
Definition: mstreams.c:56
object Cyc_set_cell(void *, object l, object val)
Definition: runtime.c:1640
void Cyc_start_trampoline(gc_thread_data *thd)
Definition: runtime.c:4642
void dispatch_write_va(void *data, int argc, object clo, object cont, object x,...)
Definition: runtime.c:929
object Cyc_car(void *data, object lis)
Definition: runtime.c:648
void Cyc_remainder(void *data, object cont, object num1, object num2)
Definition: runtime.c:3302
const object primitive_delete_91file
Definition: runtime.c:5377
object Cyc_num_cmp_va_list(void *data, int argc, int(fn_op(void *, object, object)), object n, va_list ns)
Definition: runtime.c:1219
const object primitive_cons
Definition: runtime.c:5270
object Cyc_is_vector(object o)
Definition: runtime.c:1530
char * _strdup(const char *s)
Definition: runtime.c:349
object Cyc_make_bytevector(void *data, object cont, int argc, object len,...)
Definition: runtime.c:2289
int equal(object, object)
Definition: runtime.c:572
void Cyc_rt_raise_msg(void *data, const char *err)
Definition: runtime.c:564
object Cyc_num_fast_lte_op(void *data, object x, object y)
object Cyc_list2vector(void *data, object cont, object l)
Definition: runtime.c:2554
const object boolean_f
Definition: runtime.c:299
object Cyc_io_delete_file(void *data, object filename)
Definition: runtime.c:3446
const object primitive_vector_91set_67
Definition: runtime.c:5286
const object primitive_string_91ref
Definition: runtime.c:5324
const object primitive_set_91car_67
Definition: runtime.c:5287
int Cyc_num_gt_op(void *, object x, object y)
object Cyc_length(void *d, object l)
Definition: runtime.c:1711
const object primitive_car
Definition: runtime.c:5289
const object primitive_Cyc_91display
Definition: runtime.c:5383
int binstr2int(const char *str)
Definition: runtime.c:1987
object Cyc_spawn_thread(object thunk)
Definition: runtime.c:5450
Symbols are similar to strings, but only one instance of each unique symbol is created, so comparisons are O(1).
Definition: types.h:615
const object primitive_number_91_125string
Definition: runtime.c:5338
object Cyc_io_flush_output_port(void *data, object port)
Definition: runtime.c:3432
object Cyc_default_exception_handler(void *data, int argc, closure _, object err)
Definition: runtime.c:496
const object primitive_string_91append
Definition: runtime.c:5334
const object primitive_set_91cdr_67
Definition: runtime.c:5288
void Cyc_io_get_output_string(void *data, object cont, object port)
Definition: mstreams.c:93
object Cyc_num_gt(void *, object cont, int argc, object n,...)
object Cyc_is_port(object o)
Definition: runtime.c:1544
object Cyc_io_read_line(void *data, object cont, object port)
Definition: runtime.c:3488
const object primitive_cddr
Definition: runtime.c:5294
void Cyc_rt_raise(void *data, object err)
Definition: runtime.c:540
object Cyc_bytevector_u8_ref(void *data, object bv, object k)
Definition: runtime.c:2505
object Cyc_global_variables
Definition: runtime.c:144
const object primitive_close_91input_91port
Definition: runtime.c:5372
void Cyc_io_get_output_bytevector(void *data, object cont, object port)
Definition: mstreams.c:109
const object primitive_caddr
Definition: runtime.c:5298
const object primitive_null_127
Definition: runtime.c:5356
object Cyc_write_va(void *data, int argc, object x,...)
Definition: runtime.c:940
char ** _cyc_argv
Definition: runtime.h:454
int Cyc_bignum_cmp(bn_cmp_type type, object x, int tx, object y, int ty)
Definition: runtime.c:1305
C-variable integration type - wrapper around a Cyclone object pointer.
Definition: types.h:526
object Cyc_system(object cmd)
Definition: runtime.c:2578
const object primitive__95
Definition: runtime.c:5257
object Cyc_string2number_(void *d, object cont, object str)
Definition: runtime.c:1952
const object primitive_make_91bytevector
Definition: runtime.c:5339
object Cyc_display_va_list(void *data, int argc, object x, va_list ap)
Definition: runtime.c:771
object Cyc_make_vector(void *data, object cont, int argc, object len,...)
Definition: runtime.c:2232
const object primitive_equal_127
Definition: runtime.c:5277
object Cyc_char_eq_op(void *data, object a, object b)
const object boolean_t
Definition: runtime.c:298
const object primitive_char_127
Definition: runtime.c:5354
const object primitive__123
Definition: runtime.c:5258
const object primitive_Cyc_91write
Definition: runtime.c:5382
const object primitive_Cyc_91set_91cvar_67
Definition: runtime.c:5247
const object primitive_Cyc_91bytevector_91copy
Definition: runtime.c:5343
const object primitive_cdr
Definition: runtime.c:5290
const object primitive_Cyc_91default_91exception_91handler
Definition: runtime.c:5268
const object primitive_Cyc_91opaque_127
Definition: runtime.c:5249
object Cyc_get_cvar(object var)
Definition: runtime.c:665
object Cyc_number2string2(void *data, object cont, int argc, object n,...)
Definition: runtime.c:1746
const object primitive__121
Definition: runtime.c:5260
const object primitive__75halt
Definition: runtime.c:5264
void Cyc_rt_raise2(void *data, const char *msg, object err)
Definition: runtime.c:551
object Cyc_list(void *data, int argc, object cont,...)
Definition: runtime.c:1849
const object primitive_caadar
Definition: runtime.c:5305
void gc_init_heap(long heap_size)
Perform one-time heap initializations for the program.
Definition: runtime.c:267
const object primitive_read_91char
Definition: runtime.c:5378
const object primitive_Cyc_91end_91thread_67
Definition: runtime.c:5253
object Cyc_integer2char(void *data, object n)
Definition: runtime.c:2604
object Cyc_io_file_exists(void *data, object filename)
Definition: runtime.c:3456
void set_env_variables(char **vars)
Definition: runtime.c:204
void(* function_type)()
Definition: types.h:515
int octstr2int(const char *str)
Definition: runtime.c:1998
object Cyc_string2utf8(void *data, object cont, object str, object start, object end)
Definition: runtime.c:2476
object find_or_add_symbol(const char *name)
Definition: runtime.c:385
void Cyc_end_thread(gc_thread_data *thd)
Definition: runtime.c:5486
const object primitive_file_91exists_127
Definition: runtime.c:5376
object Cyc_string2number2_(void *data, object cont, int argc, object str,...)
Definition: runtime.c:1856
object cell_get(object cell)
Definition: runtime.c:289
object Cyc_bytevector_u8_set(void *data, object bv, object k, object b)
Definition: runtime.c:2525
const object primitive_assv
Definition: runtime.c:5279
object apply_va(void *data, object cont, int argc, object func,...)
Definition: runtime.c:4492
list malloc_make_pair(object, object)
Definition: runtime.c:3534
const object primitive_vector_127
Definition: runtime.c:5366
const object primitive_bytevector
Definition: runtime.c:5341
object Cyc_io_peek_char(void *data, object cont, object port)
Definition: runtime.c:3514
object Cyc_num_lt(void *, object cont, int argc, object n,...)
object Cyc_num_op_va_list(void *data, int argc, object(fn_op(void *, common_type *, object)), int default_no_args, int default_one_arg, object n, va_list ns, common_type *buf)
Definition: runtime.c:3146
object Cyc_bytevector_length(void *data, object bv)
Definition: runtime.c:2544
const object primitive_exit
Definition: runtime.c:5265
const object primitive_caaaar
Definition: runtime.c:5303
const object primitive_vector_91length
Definition: runtime.c:5284
const object primitive_call_95cc
Definition: runtime.c:5384
object find_symbol_by_name(const char *name)
Definition: runtime.c:358
object Cyc_set_car(void *, object l, object val)
Definition: runtime.c:1649
object Cyc_bytevector_append(void *data, object cont, int _argc, object bv,...)
Definition: runtime.c:2409
const object primitive__125_123
Definition: runtime.c:5261
object __halt(object obj)
Definition: runtime.c:2621
object Cyc_string_cmp(void *data, object str1, object str2)
Definition: runtime.c:2008
const object primitive_eof_91object_127
Definition: runtime.c:5355
const object primitive_bytevector_91u8_91set_67
Definition: runtime.c:5346
object Cyc_is_null(object o)
Definition: runtime.c:1478
const object primitive_eq_127
Definition: runtime.c:5275
object Cyc_set_cdr(void *, object l, object val)
Definition: runtime.c:1659
object Cyc_is_opaque(object o)
Definition: runtime.c:1626
const object primitive_Cyc_91string_91_125utf8
Definition: runtime.c:5348
object Cyc_mul_op(void *data, common_type *x, object y)
const object primitive_cdaaar
Definition: runtime.c:5311
const object primitive_string_91_125number
Definition: runtime.c:5321
const object primitive_eqv_127
Definition: runtime.c:5276
object Cyc_is_char(object o)
Definition: runtime.c:1572
const object primitive_string_91_125symbol
Definition: runtime.c:5336
const object primitive_cadddr
Definition: runtime.c:5310
void do_dispatch(void *data, int argc, function_type func, object clo, object *buffer)
void Cyc_exit_thread(gc_thread_data *thd)
Definition: runtime.c:5495
object Cyc_write_va_list(void *data, int argc, object x, va_list ap)
Definition: runtime.c:950
const object primitive_bytevector_91u8_91ref
Definition: runtime.c:5345
object Cyc_vector_set(void *d, object v, object k, object obj)
Definition: runtime.c:1669
const object primitive__91
Definition: runtime.c:5255
const object primitive_list_91_125vector
Definition: runtime.c:5352
int Cyc_num_gte_op(void *, object x, object y)
const object primitive_vector_91ref
Definition: runtime.c:5285
port_type * Cyc_io_open_input_string(void *data, object str)
Definition: mstreams.c:35
object Cyc_string_length(void *data, object str)
Definition: runtime.c:2060
object Cyc_has_cycle(object lst)
Definition: runtime.c:693
object Cyc_is_mutex(object o)
Definition: runtime.c:1551
object Cyc_trigger_minor_gc(void *data, object cont)
Definition: runtime.c:4801
const object primitive_system
Definition: runtime.c:5332
object Cyc_global_set(void *thd, object *glo, object value)
Definition: runtime.c:24
object Cyc_list2string(void *d, object cont, object lst)
Definition: runtime.c:1825
object Cyc_fast_div(void *data, object ptr, object x, object y)
Definition: runtime.c:2981
object Cyc_glo_eval_from_c
Definition: runtime.c:493
object Cyc_display_va(void *data, int argc, object x,...)
Definition: runtime.c:761
const object primitive_macro_127
Definition: runtime.c:5362
object Cyc_char_lte_op(void *data, object a, object b)
const object primitive_memv
Definition: runtime.c:5281
const object primitive_peek_91char
Definition: runtime.c:5379
const object primitive_cadar
Definition: runtime.c:5297
object Cyc_utf82string(void *data, object cont, object bv, object start, object end)
Definition: runtime.c:2443
object Cyc_io_close_input_port(void *data, object port)
Definition: runtime.c:3404
object dispatch_string_91append(void *data, int argc, object clo, object cont, object str1,...)
Definition: runtime.c:2045
object Cyc_sub(void *data, object cont, int argc, object n,...)
const object primitive_symbol_91_125string
Definition: runtime.c:5337
object Cyc_char_lt_op(void *data, object a, object b)
port_type Cyc_stdin(void)
Definition: runtime.c:3366
const object primitive_boolean_127
Definition: runtime.c:5353
object Cyc_sum(void *data, object cont, int argc, object n,...)
void pack_env_variables(void *data, object k)
Definition: runtime.c:162
object Cyc_bytevector_copy(void *data, object cont, object bv, object start, object end)
Definition: runtime.c:2414
int Cyc_num_eq_op(void *, object x, object y)
object Cyc_fast_sub(void *data, object ptr, object x, object y)
Definition: runtime.c:2831
const object primitive_Cyc_91installation_91dir
Definition: runtime.c:5326
const object primitive_Cyc_91cvar_127
Definition: runtime.c:5248
const object primitive_caadr
Definition: runtime.c:5296
const object primitive_close_91output_91port
Definition: runtime.c:5373
const object primitive_bytevector_127
Definition: runtime.c:5367
const object primitive_make_91vector
Definition: runtime.c:5340
const object primitive_cadr
Definition: runtime.c:5292
object Cyc_is_cvar(object o)
Definition: runtime.c:1619
object Cyc_mul(void *data, object cont, int argc, object n,...)
const object primitive_bytevector_91length
Definition: runtime.c:5283
const object primitive_set_91global_67
Definition: runtime.c:5272
object Cyc_is_real(object o)
Definition: runtime.c:1495
object Cyc_num_fast_gt_op(void *data, object x, object y)
void Cyc_st_print(void *data, FILE *out)
Definition: runtime.c:317
int Cyc_num_lt_op(void *, object x, object y)
const object primitive_assq
Definition: runtime.c:5278
object Cyc_bit_unset(void *data, object n1, object n2)
Definition: runtime.c:5562
void Cyc_check_bounds(void *data, const char *label, int len, int index)
Definition: runtime.c:73
const object primitive_integer_91_125char
Definition: runtime.c:5320
object Cyc_div(void *data, object cont, int argc, object n,...)
Definition: runtime.c:3119
object Cyc_char_gt_op(void *data, object a, object b)
void Cyc_invalid_type_error(void *data, int tag, object found)
Definition: runtime.c:58
const object primitive_caaddr
Definition: runtime.c:5306
const object primitive_cdadr
Definition: runtime.c:5300
const object primitive_char_91_125integer
Definition: runtime.c:5319
port_type Cyc_stderr(void)
Definition: runtime.c:3372
A union of all the constant-size objects.
Definition: types.h:1033
void dispatch_apply_va(void *data, int argc, object clo, object cont, object func,...)
Definition: runtime.c:4481
object Cyc_display(void *data, object, FILE *port)
Definition: runtime.c:787
int _cyc_argc
Definition: runtime.h:453
const object primitive__85
Definition: runtime.c:5256
object Cyc_num_eq(void *, object cont, int argc, object n,...)
object Cyc_num_fast_lt_op(void *data, object x, object y)
object Cyc_symbol2string(void *d, object cont, object sym)
Definition: runtime.c:1805
const object primitive_bytevector_91append
Definition: runtime.c:5342
object Cyc_current_exception_handler(void *data)
Definition: runtime.c:529
const object primitive_Cyc_91get_91cvar
Definition: runtime.c:5246
object Cyc_set_cvar(object var, object value)
Definition: runtime.c:673
void Cyc_halt(object obj)
Definition: runtime.c:2613
object is_library_loaded(const char *name)
Definition: runtime.c:398
object Cyc_num_gte(void *, object cont, int argc, object n,...)
const object primitive_Cyc_91has_91cycle_127
Definition: runtime.c:5250
object memqp(void *data, object x, list l)
Definition: runtime.c:1108
object Cyc_is_number(object o)
Definition: runtime.c:1485
object Cyc_is_integer(object o)
Definition: runtime.c:1507
const object primitive_Cyc_91current_91exception_91handler
Definition: runtime.c:5266
const object primitive_Cyc_91utf8_91_125string
Definition: runtime.c:5350
object Cyc_is_fixnum(object o)
Definition: runtime.c:1500
object Cyc_io_close_port(void *data, object port)
Definition: runtime.c:3414
object Cyc_command_line_arguments(void *data, object cont)
Definition: runtime.c:2213
const object primitive_set_91cell_67
Definition: runtime.c:5273
object Cyc_is_string(object o)
Definition: runtime.c:1565
const object primitive_cdddar
Definition: runtime.c:5317
object Cyc_bytevector(void *data, object cont, int argc, object bval,...)
Definition: runtime.c:2363
list global_table
Definition: runtime.c:422
const object primitive_length
Definition: runtime.c:5282
object Cyc_is_procedure(void *data, object o)
Definition: runtime.c:1579
bn_cmp_type
Definition: types.h:697
list assoc(void *data, object x, list l)
Definition: runtime.c:1131
const object primitive_Cyc_91spawn_91thread_67
Definition: runtime.c:5251
const object primitive_Cyc_91compilation_91environment
Definition: runtime.c:5328
const object primitive_Cyc_91global_91vars
Definition: runtime.c:5245
const object primitive_cddddr
Definition: runtime.c:5318
object Cyc_installation_dir(void *data, object cont, object type)
Definition: runtime.c:2144
object Cyc_eq(object x, object y)
Definition: runtime.c:1633
object Cyc_bignum_normalize(void *data, object n)
Definition: runtime.c:1273
object Cyc_sum_op(void *data, common_type *x, object y)
const object primitive_string_91cmp
Definition: runtime.c:5333
object Cyc_vector_length(void *data, object v)
Definition: runtime.c:1701
object apply(void *data, object cont, object func, object args)
Definition: runtime.c:4507
const object primitive_cell_91get
Definition: runtime.c:5271
const object primitive_pair_127
Definition: runtime.c:5360
#define prim(x)
Definition: types.h:1024
const object primitive__87
Definition: runtime.c:5254
const object primitive_cadadr
Definition: runtime.c:5308
const object primitive_number_127
Definition: runtime.c:5357
object Cyc_num_lte(void *, object cont, int argc, object n,...)
list assq(void *data, object x, list l)
Definition: runtime.c:1118
void Cyc_check_obj(void *data, int tag, object obj)
Definition: runtime.c:66
port_type Cyc_io_open_output_file(void *data, object str)
Definition: runtime.c:3391
void GC(void *, closure, object *, int)
Definition: runtime.c:4946
object Cyc_num_fast_gte_op(void *data, object x, object y)
const object primitive_real_127
Definition: runtime.c:5358
const object primitive_string_91set_67
Definition: runtime.c:5325
const object primitive_cdar
Definition: runtime.c:5293
const object primitive_cddadr
Definition: runtime.c:5316
object Cyc_div_op(void *data, common_type *x, object y)
Definition: runtime.c:3048
const object primitive_cddar
Definition: runtime.c:5301
const object primitive_close_91port
Definition: runtime.c:5371