X-Git-Url: http://nitlanguage.org diff --git a/c_src/kernel._sep.h b/c_src/kernel._sep.h index a122d5d..93e2e01 100644 --- a/c_src/kernel._sep.h +++ b/c_src/kernel._sep.h @@ -14,7 +14,7 @@ extern const classtable_elt_t VFT_Discrete[]; extern const classtable_elt_t VFT_Bool[]; extern const classtable_elt_t VFT_Float[]; -struct TBOX_Float { const classtable_elt_t * vft; float val;}; +struct TBOX_Float { const classtable_elt_t * vft; bigint object_id; float val;}; val_t BOX_Float(float val); #define UNBOX_Float(x) (((struct TBOX_Float *)(VAL2OBJ(x)))->val) @@ -23,7 +23,7 @@ extern const classtable_elt_t VFT_Int[]; extern const classtable_elt_t VFT_Char[]; extern const classtable_elt_t VFT_Pointer[]; -struct TBOX_Pointer { const classtable_elt_t * vft; void * val;}; +struct TBOX_Pointer { const classtable_elt_t * vft; bigint object_id; void * val;}; val_t BOX_Pointer(void * val); #define UNBOX_Pointer(x) (((struct TBOX_Pointer *)(VAL2OBJ(x)))->val) extern const char *LOCATE_kernel; @@ -91,6 +91,8 @@ extern const int SFT_kernel[]; #define CALL_kernel___Int___ascii(recv) ((kernel___Int___ascii_t)CALL((recv), (SFT_kernel[20] + 8))) #define CALL_kernel___Int___digit_count(recv) ((kernel___Int___digit_count_t)CALL((recv), (SFT_kernel[20] + 9))) #define CALL_kernel___Int___to_c(recv) ((kernel___Int___to_c_t)CALL((recv), (SFT_kernel[20] + 10))) +#define CALL_kernel___Int___enumerate_to(recv) ((kernel___Int___enumerate_to_t)CALL((recv), (SFT_kernel[20] + 11))) +#define CALL_kernel___Int___enumerate_before(recv) ((kernel___Int___enumerate_before_t)CALL((recv), (SFT_kernel[20] + 12))) #define ID_Char (SFT_kernel[21]) #define COLOR_Char (SFT_kernel[22]) #define INIT_TABLE_POS_Char (SFT_kernel[23] + 0) @@ -98,254 +100,278 @@ extern const int SFT_kernel[]; #define CALL_kernel___Char___ascii(recv) ((kernel___Char___ascii_t)CALL((recv), (SFT_kernel[23] + 2))) #define CALL_kernel___Char___to_lower(recv) ((kernel___Char___to_lower_t)CALL((recv), (SFT_kernel[23] + 3))) #define CALL_kernel___Char___to_upper(recv) ((kernel___Char___to_upper_t)CALL((recv), (SFT_kernel[23] + 4))) +#define CALL_kernel___Char___is_digit(recv) ((kernel___Char___is_digit_t)CALL((recv), (SFT_kernel[23] + 5))) +#define CALL_kernel___Char___is_lower(recv) ((kernel___Char___is_lower_t)CALL((recv), (SFT_kernel[23] + 6))) +#define CALL_kernel___Char___is_upper(recv) ((kernel___Char___is_upper_t)CALL((recv), (SFT_kernel[23] + 7))) +#define CALL_kernel___Char___is_letter(recv) ((kernel___Char___is_letter_t)CALL((recv), (SFT_kernel[23] + 8))) #define ID_Pointer (SFT_kernel[24]) #define COLOR_Pointer (SFT_kernel[25]) #define INIT_TABLE_POS_Pointer (SFT_kernel[26] + 0) -typedef val_t (* kernel___Object___object_id_t)(val_t self); -val_t kernel___Object___object_id(val_t self); -#define LOCATE_kernel___Object___object_id "kernel::Object::object_id" -typedef val_t (* kernel___Object___is_same_type_t)(val_t self, val_t param0); -val_t kernel___Object___is_same_type(val_t self, val_t param0); -#define LOCATE_kernel___Object___is_same_type "kernel::Object::is_same_type" -typedef val_t (* kernel___Object_____eqeq_t)(val_t self, val_t param0); -val_t kernel___Object_____eqeq(val_t self, val_t param0); -#define LOCATE_kernel___Object_____eqeq "kernel::Object::==" -typedef val_t (* kernel___Object_____neq_t)(val_t self, val_t param0); -val_t kernel___Object_____neq(val_t self, val_t param0); -#define LOCATE_kernel___Object_____neq "kernel::Object::!=" -typedef void (* kernel___Object___output_t)(val_t self); -void kernel___Object___output(val_t self); -#define LOCATE_kernel___Object___output "kernel::Object::output" -typedef void (* kernel___Object___exit_t)(val_t self, val_t param0); -void kernel___Object___exit(val_t self, val_t param0); -#define LOCATE_kernel___Object___exit "kernel::Object::exit" -typedef val_t (* kernel___Object___sys_t)(val_t self); -val_t kernel___Object___sys(val_t self); -#define LOCATE_kernel___Object___sys "kernel::Object::sys" -typedef void (* kernel___Sys___main_t)(val_t self); -void kernel___Sys___main(val_t self); -#define LOCATE_kernel___Sys___main "kernel::Sys::main" -typedef void (* kernel___Sys___init_t)(val_t self, int* init_table); -void kernel___Sys___init(val_t self, int* init_table); -#define LOCATE_kernel___Sys___init "kernel::Sys::init" +static const char * const LOCATE_kernel___Object___object_id = "kernel::Object::object_id"; +val_t kernel___Object___object_id(val_t p0); +typedef val_t (*kernel___Object___object_id_t)(val_t p0); +static const char * const LOCATE_kernel___Object___is_same_type = "kernel::Object::is_same_type"; +val_t kernel___Object___is_same_type(val_t p0, val_t p1); +typedef val_t (*kernel___Object___is_same_type_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Object_____eqeq = "kernel::Object::=="; +val_t kernel___Object_____eqeq(val_t p0, val_t p1); +typedef val_t (*kernel___Object_____eqeq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Object_____neq = "kernel::Object::!="; +val_t kernel___Object_____neq(val_t p0, val_t p1); +typedef val_t (*kernel___Object_____neq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Object___output = "kernel::Object::output"; +void kernel___Object___output(val_t p0); +typedef void (*kernel___Object___output_t)(val_t p0); +static const char * const LOCATE_kernel___Object___exit = "kernel::Object::exit"; +void kernel___Object___exit(val_t p0, val_t p1); +typedef void (*kernel___Object___exit_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Object___sys = "kernel::Object::sys"; +val_t kernel___Object___sys(val_t p0); +typedef val_t (*kernel___Object___sys_t)(val_t p0); +static const char * const LOCATE_kernel___Sys___main = "kernel::Sys::main"; +void kernel___Sys___main(val_t p0); +typedef void (*kernel___Sys___main_t)(val_t p0); +static const char * const LOCATE_kernel___Sys___init = "kernel::Sys::init"; +void kernel___Sys___init(val_t p0, int* init_table); +typedef void (*kernel___Sys___init_t)(val_t p0, int* init_table); val_t NEW_Sys_kernel___Sys___init(); -typedef val_t (* kernel___Comparable_____l_t)(val_t self, val_t param0); -val_t kernel___Comparable_____l(val_t self, val_t param0); -#define LOCATE_kernel___Comparable_____l "kernel::Comparable::<" -typedef val_t (* kernel___Comparable_____leq_t)(val_t self, val_t param0); -val_t kernel___Comparable_____leq(val_t self, val_t param0); -#define LOCATE_kernel___Comparable_____leq "kernel::Comparable::<=" -typedef val_t (* kernel___Comparable_____geq_t)(val_t self, val_t param0); -val_t kernel___Comparable_____geq(val_t self, val_t param0); -#define LOCATE_kernel___Comparable_____geq "kernel::Comparable::>=" -typedef val_t (* kernel___Comparable_____g_t)(val_t self, val_t param0); -val_t kernel___Comparable_____g(val_t self, val_t param0); -#define LOCATE_kernel___Comparable_____g "kernel::Comparable::>" -typedef val_t (* kernel___Comparable_____leqg_t)(val_t self, val_t param0); -val_t kernel___Comparable_____leqg(val_t self, val_t param0); -#define LOCATE_kernel___Comparable_____leqg "kernel::Comparable::<=>" -typedef val_t (* kernel___Comparable___is_between_t)(val_t self, val_t param0, val_t param1); -val_t kernel___Comparable___is_between(val_t self, val_t param0, val_t param1); -#define LOCATE_kernel___Comparable___is_between "kernel::Comparable::is_between" -typedef val_t (* kernel___Comparable___max_t)(val_t self, val_t param0); -val_t kernel___Comparable___max(val_t self, val_t param0); -#define LOCATE_kernel___Comparable___max "kernel::Comparable::max" -typedef val_t (* kernel___Comparable___min_t)(val_t self, val_t param0); -val_t kernel___Comparable___min(val_t self, val_t param0); -#define LOCATE_kernel___Comparable___min "kernel::Comparable::min" -typedef val_t (* kernel___Discrete___succ_t)(val_t self); -val_t kernel___Discrete___succ(val_t self); -#define LOCATE_kernel___Discrete___succ "kernel::Discrete::succ" -typedef val_t (* kernel___Discrete___prec_t)(val_t self); -val_t kernel___Discrete___prec(val_t self); -#define LOCATE_kernel___Discrete___prec "kernel::Discrete::prec" -typedef val_t (* kernel___Discrete_____plus_t)(val_t self, val_t param0); -val_t kernel___Discrete_____plus(val_t self, val_t param0); -#define LOCATE_kernel___Discrete_____plus "kernel::Discrete::+" -typedef val_t (* kernel___Discrete_____minus_t)(val_t self, val_t param0); -val_t kernel___Discrete_____minus(val_t self, val_t param0); -#define LOCATE_kernel___Discrete_____minus "kernel::Discrete::-" -typedef val_t (* kernel___Discrete___distance_t)(val_t self, val_t param0); -val_t kernel___Discrete___distance(val_t self, val_t param0); -#define LOCATE_kernel___Discrete___distance "kernel::Discrete::distance" -typedef val_t (* kernel___Bool___object_id_t)(val_t self); -val_t kernel___Bool___object_id(val_t self); -#define LOCATE_kernel___Bool___object_id "kernel::Bool::(kernel::Object::object_id)" -typedef val_t (* kernel___Bool_____eqeq_t)(val_t self, val_t param0); -val_t kernel___Bool_____eqeq(val_t self, val_t param0); -#define LOCATE_kernel___Bool_____eqeq "kernel::Bool::(kernel::Object::==)" -typedef val_t (* kernel___Bool_____neq_t)(val_t self, val_t param0); -val_t kernel___Bool_____neq(val_t self, val_t param0); -#define LOCATE_kernel___Bool_____neq "kernel::Bool::(kernel::Object::!=)" -typedef void (* kernel___Bool___output_t)(val_t self); -void kernel___Bool___output(val_t self); -#define LOCATE_kernel___Bool___output "kernel::Bool::(kernel::Object::output)" -typedef val_t (* kernel___Float___object_id_t)(val_t self); -val_t kernel___Float___object_id(val_t self); -#define LOCATE_kernel___Float___object_id "kernel::Float::(kernel::Object::object_id)" -typedef void (* kernel___Float___output_t)(val_t self); -void kernel___Float___output(val_t self); -#define LOCATE_kernel___Float___output "kernel::Float::(kernel::Object::output)" -typedef val_t (* kernel___Float_____leq_t)(val_t self, val_t param0); -val_t kernel___Float_____leq(val_t self, val_t param0); -#define LOCATE_kernel___Float_____leq "kernel::Float::<=" -typedef val_t (* kernel___Float_____l_t)(val_t self, val_t param0); -val_t kernel___Float_____l(val_t self, val_t param0); -#define LOCATE_kernel___Float_____l "kernel::Float::<" -typedef val_t (* kernel___Float_____geq_t)(val_t self, val_t param0); -val_t kernel___Float_____geq(val_t self, val_t param0); -#define LOCATE_kernel___Float_____geq "kernel::Float::>=" -typedef val_t (* kernel___Float_____g_t)(val_t self, val_t param0); -val_t kernel___Float_____g(val_t self, val_t param0); -#define LOCATE_kernel___Float_____g "kernel::Float::>" -typedef val_t (* kernel___Float_____plus_t)(val_t self, val_t param0); -val_t kernel___Float_____plus(val_t self, val_t param0); -#define LOCATE_kernel___Float_____plus "kernel::Float::+" -typedef val_t (* kernel___Float___unary__minus_t)(val_t self); -val_t kernel___Float___unary__minus(val_t self); -#define LOCATE_kernel___Float___unary__minus "kernel::Float::unary -" -typedef val_t (* kernel___Float_____minus_t)(val_t self, val_t param0); -val_t kernel___Float_____minus(val_t self, val_t param0); -#define LOCATE_kernel___Float_____minus "kernel::Float::-" -typedef val_t (* kernel___Float_____star_t)(val_t self, val_t param0); -val_t kernel___Float_____star(val_t self, val_t param0); -#define LOCATE_kernel___Float_____star "kernel::Float::*" -typedef val_t (* kernel___Float_____slash_t)(val_t self, val_t param0); -val_t kernel___Float_____slash(val_t self, val_t param0); -#define LOCATE_kernel___Float_____slash "kernel::Float::/" -typedef val_t (* kernel___Float___to_i_t)(val_t self); -val_t kernel___Float___to_i(val_t self); -#define LOCATE_kernel___Float___to_i "kernel::Float::to_i" -typedef val_t (* kernel___Int___object_id_t)(val_t self); -val_t kernel___Int___object_id(val_t self); -#define LOCATE_kernel___Int___object_id "kernel::Int::(kernel::Object::object_id)" -typedef val_t (* kernel___Int_____eqeq_t)(val_t self, val_t param0); -val_t kernel___Int_____eqeq(val_t self, val_t param0); -#define LOCATE_kernel___Int_____eqeq "kernel::Int::(kernel::Object::==)" -typedef val_t (* kernel___Int_____neq_t)(val_t self, val_t param0); -val_t kernel___Int_____neq(val_t self, val_t param0); -#define LOCATE_kernel___Int_____neq "kernel::Int::(kernel::Object::!=)" -typedef void (* kernel___Int___output_t)(val_t self); -void kernel___Int___output(val_t self); -#define LOCATE_kernel___Int___output "kernel::Int::(kernel::Object::output)" -typedef val_t (* kernel___Int_____l_t)(val_t self, val_t param0); -val_t kernel___Int_____l(val_t self, val_t param0); -#define LOCATE_kernel___Int_____l "kernel::Int::(kernel::Comparable::<)" -typedef val_t (* kernel___Int_____leq_t)(val_t self, val_t param0); -val_t kernel___Int_____leq(val_t self, val_t param0); -#define LOCATE_kernel___Int_____leq "kernel::Int::(kernel::Comparable::<=)" -typedef val_t (* kernel___Int_____geq_t)(val_t self, val_t param0); -val_t kernel___Int_____geq(val_t self, val_t param0); -#define LOCATE_kernel___Int_____geq "kernel::Int::(kernel::Comparable::>=)" -typedef val_t (* kernel___Int_____g_t)(val_t self, val_t param0); -val_t kernel___Int_____g(val_t self, val_t param0); -#define LOCATE_kernel___Int_____g "kernel::Int::(kernel::Comparable::>)" -typedef val_t (* kernel___Int_____leqg_t)(val_t self, val_t param0); -val_t kernel___Int_____leqg(val_t self, val_t param0); -#define LOCATE_kernel___Int_____leqg "kernel::Int::(kernel::Comparable::<=>)" -typedef val_t (* kernel___Int___is_between_t)(val_t self, val_t param0, val_t param1); -val_t kernel___Int___is_between(val_t self, val_t param0, val_t param1); -#define LOCATE_kernel___Int___is_between "kernel::Int::(kernel::Comparable::is_between)" -typedef val_t (* kernel___Int___max_t)(val_t self, val_t param0); -val_t kernel___Int___max(val_t self, val_t param0); -#define LOCATE_kernel___Int___max "kernel::Int::(kernel::Comparable::max)" -typedef val_t (* kernel___Int___min_t)(val_t self, val_t param0); -val_t kernel___Int___min(val_t self, val_t param0); -#define LOCATE_kernel___Int___min "kernel::Int::(kernel::Comparable::min)" -typedef val_t (* kernel___Int___succ_t)(val_t self); -val_t kernel___Int___succ(val_t self); -#define LOCATE_kernel___Int___succ "kernel::Int::(kernel::Discrete::succ)" -typedef val_t (* kernel___Int___prec_t)(val_t self); -val_t kernel___Int___prec(val_t self); -#define LOCATE_kernel___Int___prec "kernel::Int::(kernel::Discrete::prec)" -typedef val_t (* kernel___Int_____plus_t)(val_t self, val_t param0); -val_t kernel___Int_____plus(val_t self, val_t param0); -#define LOCATE_kernel___Int_____plus "kernel::Int::(kernel::Discrete::+)" -typedef val_t (* kernel___Int_____minus_t)(val_t self, val_t param0); -val_t kernel___Int_____minus(val_t self, val_t param0); -#define LOCATE_kernel___Int_____minus "kernel::Int::(kernel::Discrete::-)" -typedef val_t (* kernel___Int___distance_t)(val_t self, val_t param0); -val_t kernel___Int___distance(val_t self, val_t param0); -#define LOCATE_kernel___Int___distance "kernel::Int::(kernel::Discrete::distance)" -typedef val_t (* kernel___Int___unary__minus_t)(val_t self); -val_t kernel___Int___unary__minus(val_t self); -#define LOCATE_kernel___Int___unary__minus "kernel::Int::unary -" -typedef val_t (* kernel___Int_____star_t)(val_t self, val_t param0); -val_t kernel___Int_____star(val_t self, val_t param0); -#define LOCATE_kernel___Int_____star "kernel::Int::*" -typedef val_t (* kernel___Int_____slash_t)(val_t self, val_t param0); -val_t kernel___Int_____slash(val_t self, val_t param0); -#define LOCATE_kernel___Int_____slash "kernel::Int::/" -typedef val_t (* kernel___Int_____percent_t)(val_t self, val_t param0); -val_t kernel___Int_____percent(val_t self, val_t param0); -#define LOCATE_kernel___Int_____percent "kernel::Int::%" -typedef val_t (* kernel___Int___lshift_t)(val_t self, val_t param0); -val_t kernel___Int___lshift(val_t self, val_t param0); -#define LOCATE_kernel___Int___lshift "kernel::Int::lshift" -typedef val_t (* kernel___Int___rshift_t)(val_t self, val_t param0); -val_t kernel___Int___rshift(val_t self, val_t param0); -#define LOCATE_kernel___Int___rshift "kernel::Int::rshift" -typedef val_t (* kernel___Int___to_f_t)(val_t self); -val_t kernel___Int___to_f(val_t self); -#define LOCATE_kernel___Int___to_f "kernel::Int::to_f" -typedef val_t (* kernel___Int___ascii_t)(val_t self); -val_t kernel___Int___ascii(val_t self); -#define LOCATE_kernel___Int___ascii "kernel::Int::ascii" -typedef val_t (* kernel___Int___digit_count_t)(val_t self, val_t param0); -val_t kernel___Int___digit_count(val_t self, val_t param0); -#define LOCATE_kernel___Int___digit_count "kernel::Int::digit_count" -typedef val_t (* kernel___Int___to_c_t)(val_t self); -val_t kernel___Int___to_c(val_t self); -#define LOCATE_kernel___Int___to_c "kernel::Int::to_c" -typedef val_t (* kernel___Char___object_id_t)(val_t self); -val_t kernel___Char___object_id(val_t self); -#define LOCATE_kernel___Char___object_id "kernel::Char::(kernel::Object::object_id)" -typedef val_t (* kernel___Char_____eqeq_t)(val_t self, val_t param0); -val_t kernel___Char_____eqeq(val_t self, val_t param0); -#define LOCATE_kernel___Char_____eqeq "kernel::Char::(kernel::Object::==)" -typedef val_t (* kernel___Char_____neq_t)(val_t self, val_t param0); -val_t kernel___Char_____neq(val_t self, val_t param0); -#define LOCATE_kernel___Char_____neq "kernel::Char::(kernel::Object::!=)" -typedef void (* kernel___Char___output_t)(val_t self); -void kernel___Char___output(val_t self); -#define LOCATE_kernel___Char___output "kernel::Char::(kernel::Object::output)" -typedef val_t (* kernel___Char_____l_t)(val_t self, val_t param0); -val_t kernel___Char_____l(val_t self, val_t param0); -#define LOCATE_kernel___Char_____l "kernel::Char::(kernel::Comparable::<)" -typedef val_t (* kernel___Char_____leq_t)(val_t self, val_t param0); -val_t kernel___Char_____leq(val_t self, val_t param0); -#define LOCATE_kernel___Char_____leq "kernel::Char::(kernel::Comparable::<=)" -typedef val_t (* kernel___Char_____geq_t)(val_t self, val_t param0); -val_t kernel___Char_____geq(val_t self, val_t param0); -#define LOCATE_kernel___Char_____geq "kernel::Char::(kernel::Comparable::>=)" -typedef val_t (* kernel___Char_____g_t)(val_t self, val_t param0); -val_t kernel___Char_____g(val_t self, val_t param0); -#define LOCATE_kernel___Char_____g "kernel::Char::(kernel::Comparable::>)" -typedef val_t (* kernel___Char___succ_t)(val_t self); -val_t kernel___Char___succ(val_t self); -#define LOCATE_kernel___Char___succ "kernel::Char::(kernel::Discrete::succ)" -typedef val_t (* kernel___Char___prec_t)(val_t self); -val_t kernel___Char___prec(val_t self); -#define LOCATE_kernel___Char___prec "kernel::Char::(kernel::Discrete::prec)" -typedef val_t (* kernel___Char_____plus_t)(val_t self, val_t param0); -val_t kernel___Char_____plus(val_t self, val_t param0); -#define LOCATE_kernel___Char_____plus "kernel::Char::(kernel::Discrete::+)" -typedef val_t (* kernel___Char_____minus_t)(val_t self, val_t param0); -val_t kernel___Char_____minus(val_t self, val_t param0); -#define LOCATE_kernel___Char_____minus "kernel::Char::(kernel::Discrete::-)" -typedef val_t (* kernel___Char___distance_t)(val_t self, val_t param0); -val_t kernel___Char___distance(val_t self, val_t param0); -#define LOCATE_kernel___Char___distance "kernel::Char::(kernel::Discrete::distance)" -typedef val_t (* kernel___Char___to_i_t)(val_t self); -val_t kernel___Char___to_i(val_t self); -#define LOCATE_kernel___Char___to_i "kernel::Char::to_i" -typedef val_t (* kernel___Char___ascii_t)(val_t self); -val_t kernel___Char___ascii(val_t self); -#define LOCATE_kernel___Char___ascii "kernel::Char::ascii" -typedef val_t (* kernel___Char___to_lower_t)(val_t self); -val_t kernel___Char___to_lower(val_t self); -#define LOCATE_kernel___Char___to_lower "kernel::Char::to_lower" -typedef val_t (* kernel___Char___to_upper_t)(val_t self); -val_t kernel___Char___to_upper(val_t self); -#define LOCATE_kernel___Char___to_upper "kernel::Char::to_upper" +static const char * const LOCATE_kernel___Comparable_____l = "kernel::Comparable::<"; +val_t kernel___Comparable_____l(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable_____l_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable_____leq = "kernel::Comparable::<="; +val_t kernel___Comparable_____leq(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable_____leq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable_____geq = "kernel::Comparable::>="; +val_t kernel___Comparable_____geq(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable_____geq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable_____g = "kernel::Comparable::>"; +val_t kernel___Comparable_____g(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable_____g_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable_____leqg = "kernel::Comparable::<=>"; +val_t kernel___Comparable_____leqg(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable_____leqg_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable___is_between = "kernel::Comparable::is_between"; +val_t kernel___Comparable___is_between(val_t p0, val_t p1, val_t p2); +typedef val_t (*kernel___Comparable___is_between_t)(val_t p0, val_t p1, val_t p2); +static const char * const LOCATE_kernel___Comparable___max = "kernel::Comparable::max"; +val_t kernel___Comparable___max(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable___max_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Comparable___min = "kernel::Comparable::min"; +val_t kernel___Comparable___min(val_t p0, val_t p1); +typedef val_t (*kernel___Comparable___min_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Discrete___succ = "kernel::Discrete::succ"; +val_t kernel___Discrete___succ(val_t p0); +typedef val_t (*kernel___Discrete___succ_t)(val_t p0); +static const char * const LOCATE_kernel___Discrete___prec = "kernel::Discrete::prec"; +val_t kernel___Discrete___prec(val_t p0); +typedef val_t (*kernel___Discrete___prec_t)(val_t p0); +static const char * const LOCATE_kernel___Discrete_____plus = "kernel::Discrete::+"; +val_t kernel___Discrete_____plus(val_t p0, val_t p1); +typedef val_t (*kernel___Discrete_____plus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Discrete_____minus = "kernel::Discrete::-"; +val_t kernel___Discrete_____minus(val_t p0, val_t p1); +typedef val_t (*kernel___Discrete_____minus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Discrete___distance = "kernel::Discrete::distance"; +val_t kernel___Discrete___distance(val_t p0, val_t p1); +typedef val_t (*kernel___Discrete___distance_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Bool___object_id = "kernel::Bool::(kernel::Object::object_id)"; +val_t kernel___Bool___object_id(val_t p0); +typedef val_t (*kernel___Bool___object_id_t)(val_t p0); +static const char * const LOCATE_kernel___Bool_____eqeq = "kernel::Bool::(kernel::Object::==)"; +val_t kernel___Bool_____eqeq(val_t p0, val_t p1); +typedef val_t (*kernel___Bool_____eqeq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Bool_____neq = "kernel::Bool::(kernel::Object::!=)"; +val_t kernel___Bool_____neq(val_t p0, val_t p1); +typedef val_t (*kernel___Bool_____neq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Bool___output = "kernel::Bool::(kernel::Object::output)"; +void kernel___Bool___output(val_t p0); +typedef void (*kernel___Bool___output_t)(val_t p0); +static const char * const LOCATE_kernel___Float___object_id = "kernel::Float::(kernel::Object::object_id)"; +val_t kernel___Float___object_id(val_t p0); +typedef val_t (*kernel___Float___object_id_t)(val_t p0); +static const char * const LOCATE_kernel___Float___output = "kernel::Float::(kernel::Object::output)"; +void kernel___Float___output(val_t p0); +typedef void (*kernel___Float___output_t)(val_t p0); +static const char * const LOCATE_kernel___Float_____leq = "kernel::Float::<="; +val_t kernel___Float_____leq(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____leq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____l = "kernel::Float::<"; +val_t kernel___Float_____l(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____l_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____geq = "kernel::Float::>="; +val_t kernel___Float_____geq(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____geq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____g = "kernel::Float::>"; +val_t kernel___Float_____g(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____g_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____plus = "kernel::Float::+"; +val_t kernel___Float_____plus(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____plus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float___unary__minus = "kernel::Float::unary -"; +val_t kernel___Float___unary__minus(val_t p0); +typedef val_t (*kernel___Float___unary__minus_t)(val_t p0); +static const char * const LOCATE_kernel___Float_____minus = "kernel::Float::-"; +val_t kernel___Float_____minus(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____minus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____star = "kernel::Float::*"; +val_t kernel___Float_____star(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____star_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float_____slash = "kernel::Float::/"; +val_t kernel___Float_____slash(val_t p0, val_t p1); +typedef val_t (*kernel___Float_____slash_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Float___to_i = "kernel::Float::to_i"; +val_t kernel___Float___to_i(val_t p0); +typedef val_t (*kernel___Float___to_i_t)(val_t p0); +static const char * const LOCATE_kernel___Int___object_id = "kernel::Int::(kernel::Object::object_id)"; +val_t kernel___Int___object_id(val_t p0); +typedef val_t (*kernel___Int___object_id_t)(val_t p0); +static const char * const LOCATE_kernel___Int_____eqeq = "kernel::Int::(kernel::Object::==)"; +val_t kernel___Int_____eqeq(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____eqeq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____neq = "kernel::Int::(kernel::Object::!=)"; +val_t kernel___Int_____neq(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____neq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___output = "kernel::Int::(kernel::Object::output)"; +void kernel___Int___output(val_t p0); +typedef void (*kernel___Int___output_t)(val_t p0); +static const char * const LOCATE_kernel___Int_____leq = "kernel::Int::(kernel::Comparable::<=)"; +val_t kernel___Int_____leq(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____leq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____l = "kernel::Int::(kernel::Comparable::<)"; +val_t kernel___Int_____l(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____l_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____geq = "kernel::Int::(kernel::Comparable::>=)"; +val_t kernel___Int_____geq(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____geq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____g = "kernel::Int::(kernel::Comparable::>)"; +val_t kernel___Int_____g(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____g_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____plus = "kernel::Int::(kernel::Discrete::+)"; +val_t kernel___Int_____plus(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____plus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___unary__minus = "kernel::Int::unary -"; +val_t kernel___Int___unary__minus(val_t p0); +typedef val_t (*kernel___Int___unary__minus_t)(val_t p0); +static const char * const LOCATE_kernel___Int_____minus = "kernel::Int::(kernel::Discrete::-)"; +val_t kernel___Int_____minus(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____minus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____star = "kernel::Int::*"; +val_t kernel___Int_____star(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____star_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____slash = "kernel::Int::/"; +val_t kernel___Int_____slash(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____slash_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____percent = "kernel::Int::%"; +val_t kernel___Int_____percent(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____percent_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___lshift = "kernel::Int::lshift"; +val_t kernel___Int___lshift(val_t p0, val_t p1); +typedef val_t (*kernel___Int___lshift_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___rshift = "kernel::Int::rshift"; +val_t kernel___Int___rshift(val_t p0, val_t p1); +typedef val_t (*kernel___Int___rshift_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___to_f = "kernel::Int::to_f"; +val_t kernel___Int___to_f(val_t p0); +typedef val_t (*kernel___Int___to_f_t)(val_t p0); +static const char * const LOCATE_kernel___Int___succ = "kernel::Int::(kernel::Discrete::succ)"; +val_t kernel___Int___succ(val_t p0); +typedef val_t (*kernel___Int___succ_t)(val_t p0); +static const char * const LOCATE_kernel___Int___prec = "kernel::Int::(kernel::Discrete::prec)"; +val_t kernel___Int___prec(val_t p0); +typedef val_t (*kernel___Int___prec_t)(val_t p0); +static const char * const LOCATE_kernel___Int___distance = "kernel::Int::(kernel::Discrete::distance)"; +val_t kernel___Int___distance(val_t p0, val_t p1); +typedef val_t (*kernel___Int___distance_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int_____leqg = "kernel::Int::(kernel::Comparable::<=>)"; +val_t kernel___Int_____leqg(val_t p0, val_t p1); +typedef val_t (*kernel___Int_____leqg_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___is_between = "kernel::Int::(kernel::Comparable::is_between)"; +val_t kernel___Int___is_between(val_t p0, val_t p1, val_t p2); +typedef val_t (*kernel___Int___is_between_t)(val_t p0, val_t p1, val_t p2); +static const char * const LOCATE_kernel___Int___max = "kernel::Int::(kernel::Comparable::max)"; +val_t kernel___Int___max(val_t p0, val_t p1); +typedef val_t (*kernel___Int___max_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___min = "kernel::Int::(kernel::Comparable::min)"; +val_t kernel___Int___min(val_t p0, val_t p1); +typedef val_t (*kernel___Int___min_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___ascii = "kernel::Int::ascii"; +val_t kernel___Int___ascii(val_t p0); +typedef val_t (*kernel___Int___ascii_t)(val_t p0); +static const char * const LOCATE_kernel___Int___digit_count = "kernel::Int::digit_count"; +val_t kernel___Int___digit_count(val_t p0, val_t p1); +typedef val_t (*kernel___Int___digit_count_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Int___to_c = "kernel::Int::to_c"; +val_t kernel___Int___to_c(val_t p0); +typedef val_t (*kernel___Int___to_c_t)(val_t p0); +typedef void (*CLOS_kernel___Int___enumerate_to_0)(struct stack_frame_t *, val_t); +static const char * const LOCATE_kernel___Int___enumerate_to = "kernel::Int::enumerate_to"; +void kernel___Int___enumerate_to(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0); +typedef void (*kernel___Int___enumerate_to_t)(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0); +typedef void (*CLOS_kernel___Int___enumerate_before_0)(struct stack_frame_t *, val_t); +static const char * const LOCATE_kernel___Int___enumerate_before = "kernel::Int::enumerate_before"; +void kernel___Int___enumerate_before(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0); +typedef void (*kernel___Int___enumerate_before_t)(val_t p0, val_t p1, struct stack_frame_t *closctx_param, fun_t clos_fun0); +static const char * const LOCATE_kernel___Char___object_id = "kernel::Char::(kernel::Object::object_id)"; +val_t kernel___Char___object_id(val_t p0); +typedef val_t (*kernel___Char___object_id_t)(val_t p0); +static const char * const LOCATE_kernel___Char_____eqeq = "kernel::Char::(kernel::Object::==)"; +val_t kernel___Char_____eqeq(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____eqeq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char_____neq = "kernel::Char::(kernel::Object::!=)"; +val_t kernel___Char_____neq(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____neq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char___output = "kernel::Char::(kernel::Object::output)"; +void kernel___Char___output(val_t p0); +typedef void (*kernel___Char___output_t)(val_t p0); +static const char * const LOCATE_kernel___Char_____leq = "kernel::Char::(kernel::Comparable::<=)"; +val_t kernel___Char_____leq(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____leq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char_____l = "kernel::Char::(kernel::Comparable::<)"; +val_t kernel___Char_____l(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____l_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char_____geq = "kernel::Char::(kernel::Comparable::>=)"; +val_t kernel___Char_____geq(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____geq_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char_____g = "kernel::Char::(kernel::Comparable::>)"; +val_t kernel___Char_____g(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____g_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char___succ = "kernel::Char::(kernel::Discrete::succ)"; +val_t kernel___Char___succ(val_t p0); +typedef val_t (*kernel___Char___succ_t)(val_t p0); +static const char * const LOCATE_kernel___Char___prec = "kernel::Char::(kernel::Discrete::prec)"; +val_t kernel___Char___prec(val_t p0); +typedef val_t (*kernel___Char___prec_t)(val_t p0); +static const char * const LOCATE_kernel___Char___distance = "kernel::Char::(kernel::Discrete::distance)"; +val_t kernel___Char___distance(val_t p0, val_t p1); +typedef val_t (*kernel___Char___distance_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char___to_i = "kernel::Char::to_i"; +val_t kernel___Char___to_i(val_t p0); +typedef val_t (*kernel___Char___to_i_t)(val_t p0); +static const char * const LOCATE_kernel___Char___ascii = "kernel::Char::ascii"; +val_t kernel___Char___ascii(val_t p0); +typedef val_t (*kernel___Char___ascii_t)(val_t p0); +static const char * const LOCATE_kernel___Char_____plus = "kernel::Char::(kernel::Discrete::+)"; +val_t kernel___Char_____plus(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____plus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char_____minus = "kernel::Char::(kernel::Discrete::-)"; +val_t kernel___Char_____minus(val_t p0, val_t p1); +typedef val_t (*kernel___Char_____minus_t)(val_t p0, val_t p1); +static const char * const LOCATE_kernel___Char___to_lower = "kernel::Char::to_lower"; +val_t kernel___Char___to_lower(val_t p0); +typedef val_t (*kernel___Char___to_lower_t)(val_t p0); +static const char * const LOCATE_kernel___Char___to_upper = "kernel::Char::to_upper"; +val_t kernel___Char___to_upper(val_t p0); +typedef val_t (*kernel___Char___to_upper_t)(val_t p0); +static const char * const LOCATE_kernel___Char___is_digit = "kernel::Char::is_digit"; +val_t kernel___Char___is_digit(val_t p0); +typedef val_t (*kernel___Char___is_digit_t)(val_t p0); +static const char * const LOCATE_kernel___Char___is_lower = "kernel::Char::is_lower"; +val_t kernel___Char___is_lower(val_t p0); +typedef val_t (*kernel___Char___is_lower_t)(val_t p0); +static const char * const LOCATE_kernel___Char___is_upper = "kernel::Char::is_upper"; +val_t kernel___Char___is_upper(val_t p0); +typedef val_t (*kernel___Char___is_upper_t)(val_t p0); +static const char * const LOCATE_kernel___Char___is_letter = "kernel::Char::is_letter"; +val_t kernel___Char___is_letter(val_t p0); +typedef val_t (*kernel___Char___is_letter_t)(val_t p0); #endif