about summary refs log tree commit diff stats
path: root/js/scripting-lang/baba-yaga-c/include
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/baba-yaga-c/include')
-rw-r--r--js/scripting-lang/baba-yaga-c/include/baba_yaga.h54
1 files changed, 49 insertions, 5 deletions
diff --git a/js/scripting-lang/baba-yaga-c/include/baba_yaga.h b/js/scripting-lang/baba-yaga-c/include/baba_yaga.h
index 0bd6037..76d2b5f 100644
--- a/js/scripting-lang/baba-yaga-c/include/baba_yaga.h
+++ b/js/scripting-lang/baba-yaga-c/include/baba_yaga.h
@@ -288,9 +288,11 @@ Value baba_yaga_table_get_by_key(const Value* table, const char* key);
  * @param body Function body (function pointer)
  * @return New function value
  */
-Value baba_yaga_value_function(const char* name, Value (*body)(Value*, int), 
+Value baba_yaga_value_function(const char* name, Value (*body)(Value*, int, Scope*), 
                               int param_count, int required_param_count);
 
+
+
 /**
  * @brief Call a function with arguments
  * 
@@ -567,6 +569,47 @@ void baba_yaga_error_destroy(BabaYagaError* error);
 /* Core combinator */
 Value stdlib_apply(Value* args, int argc);
 
+/* Wrapper functions for function signature compatibility */
+Value stdlib_apply_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_add_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_subtract_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_multiply_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_divide_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_modulo_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_pow_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_negate_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_equals_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_not_equals_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_less_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_less_equal_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_greater_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_greater_equal_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_and_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_or_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_xor_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_not_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_compose_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_out_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_in_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_assert_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_emit_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_listen_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_flip_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_constant_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_apply_wrapper(Value* args, int argc, Scope* scope);
+
+/* Table operation wrappers */
+Value stdlib_t_map_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_filter_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_reduce_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_set_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_delete_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_merge_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_length_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_has_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_t_get_wrapper(Value* args, int argc, Scope* scope);
+Value stdlib_table_entry_wrapper(Value* args, int argc, Scope* scope);
+
 /* Arithmetic functions */
 Value stdlib_add(Value* args, int argc);
 Value stdlib_subtract(Value* args, int argc);
@@ -601,10 +644,10 @@ Value stdlib_emit(Value* args, int argc);
 Value stdlib_listen(Value* args, int argc);
 
 /* Higher-order functions */
-Value stdlib_map(Value* args, int argc);
-Value stdlib_filter(Value* args, int argc);
-Value stdlib_reduce(Value* args, int argc);
-Value stdlib_each(Value* args, int argc);
+Value stdlib_map(Value* args, int argc, Scope* scope);
+Value stdlib_filter(Value* args, int argc, Scope* scope);
+Value stdlib_reduce(Value* args, int argc, Scope* scope);
+Value stdlib_each(Value* args, int argc, Scope* scope);
 Value stdlib_flip(Value* args, int argc);
 Value stdlib_constant(Value* args, int argc);
 
@@ -618,6 +661,7 @@ Value stdlib_t_merge(Value* args, int argc);
 Value stdlib_t_length(Value* args, int argc);
 Value stdlib_t_has(Value* args, int argc);
 Value stdlib_t_get(Value* args, int argc);
+Value stdlib_table_entry(Value* args, int argc);
 
 /* ============================================================================
  * Scope Management Functions