Cyclone Scheme  0.4
Macros | Functions
Error checking

Runtime error checks including object type validation, bounds, and number of function arguments. More...

Macros

#define Cyc_check_bvec(d, obj)   Cyc_check_type(d,Cyc_is_bytevector, bytevector_tag, obj);
 
#define Cyc_check_cond_var(d, obj)   Cyc_check_type(d,Cyc_is_cond_var, cond_var_tag, obj);
 
#define Cyc_check_int(d, obj)   Cyc_check_type(d,Cyc_is_integer, integer_tag, obj);
 
#define Cyc_check_mutex(d, obj)   Cyc_check_type(d,Cyc_is_mutex, mutex_tag, obj);
 
#define Cyc_check_num(d, obj)   Cyc_check_type(d,Cyc_is_number, integer_tag, obj);
 
#define Cyc_check_num_args(data, fnc_name, num_args, args)
 
#define Cyc_check_pair(d, obj)   Cyc_check_type(d,Cyc_is_pair, pair_tag, obj);
 
#define Cyc_check_pair_or_null(d, obj)   { if (obj != NULL) { Cyc_check_pair(d,obj); }}
 
#define Cyc_check_port(d, obj)   Cyc_check_type(d,Cyc_is_port, port_tag, obj);
 
#define Cyc_check_proc(d, obj)   Cyc_check_type2(d,Cyc_is_procedure, closureN_tag, obj);
 
#define Cyc_check_str(d, obj)   Cyc_check_type(d,Cyc_is_string, string_tag, obj);
 
#define Cyc_check_sym(d, obj)   Cyc_check_type(d,Cyc_is_symbol, symbol_tag, obj);
 
#define Cyc_check_type(data, fnc_test, tag, obj)
 
#define Cyc_check_type2(data, fnc_test, tag, obj)
 
#define Cyc_check_vec(d, obj)   Cyc_check_type(d,Cyc_is_vector, vector_tag, obj);
 

Functions

void Cyc_check_bounds (void *data, const char *label, int len, int index)
 
void Cyc_check_obj (void *data, int tag, object obj)
 
void Cyc_invalid_type_error (void *data, int tag, object found)
 

Detailed Description

Runtime error checks including object type validation, bounds, and number of function arguments.