[Rt-commit] [svn] r1016 - in mzscheme: . Language-MzScheme Language-MzScheme/lib/Language

autrijus at pallas.eruditorum.org autrijus at pallas.eruditorum.org
Mon Jun 7 11:32:01 EDT 2004


Author: autrijus
Date: Mon Jun  7 11:32:00 2004
New Revision: 1016

Added:
   mzscheme/Language-MzScheme/mzscheme.c
   mzscheme/Language-MzScheme/mzscheme.h
Modified:
   mzscheme/   (props changed)
   mzscheme/Language-MzScheme/lib/Language/MzScheme_in.pm
   mzscheme/Language-MzScheme/mzscheme.i
Log:
 ----------------------------------------------------------------------
 r5455 at not:  autrijus | 2004-06-07T15:31:51.624026Z
 
 * First cut at scheme-to-perl callback, mzscheme_make_perl_prim_w_arity.
 * Refactor exposed mzscheme functions to their own .c and .h files.
 * Add Objects <=> Arrayref mappings.
 
 ----------------------------------------------------------------------


Modified: mzscheme/Language-MzScheme/lib/Language/MzScheme_in.pm
==============================================================================
--- mzscheme/Language-MzScheme/lib/Language/MzScheme_in.pm	(original)
+++ mzscheme/Language-MzScheme/lib/Language/MzScheme_in.pm	Mon Jun  7 11:32:00 2004
@@ -6,5 +6,5 @@
 package Language::MzScheme;
 bootstrap Language::MzScheme;
 package Language::MzScheme;
- at EXPORT = qw( mzscheme_init SCHEME_TYPE SCHEME_PROCP SCHEME_SYNTAXP SCHEME_PRIMP SCHEME_CLSD_PRIMP SCHEME_CONTP SCHEME_ECONTP SCHEME_PROC_STRUCTP SCHEME_STRUCT_PROCP SCHEME_GENERICP SCHEME_CLOSUREP $scheme_config scheme_basic_env scheme_make_integer scheme_make_character scheme_set_param scheme_get_param scheme_alloc_object scheme_alloc_small_object scheme_alloc_stubborn_object scheme_alloc_stubborn_small_object scheme_alloc_eternal_object scheme_alloc_eternal_small_object $SCHEME_STACK_SIZE $SYSTEM_TYPE_NAME $STACK_SAFETY_MARGIN $_MZ_SPECIAL_TAG $MZSCHEME_VERSION_MAJOR $MZSCHEME_VERSION_MINOR $MZSCHEME_VERSION $SCHEME_DIRECT_EMBEDDED Scheme_Object_type_set Scheme_Object_type_get Scheme_Object_keyex_set Scheme_Object_keyex_get Scheme_Object_u_get new_Scheme_Object delete_Scheme_Object Scheme_Object_u_svector_val_get Scheme_Object_u_pair_val_get Scheme_Object_u_ptr_long_val_get Scheme_Object_u_ptr_int_val_get Scheme_Object_u_two_int_val_get Scheme_Object_u_two_ptr_val_get Scheme_Object_u_str_val_get new_Scheme_Object_u delete_Scheme_Object_u Scheme_Object_u_svector_val_len_set Scheme_Object_u_svector_val_len_get Scheme_Object_u_svector_val_vec_set Scheme_Object_u_svector_val_vec_get new_Scheme_Object_u_svector_val delete_Scheme_Object_u_svector_val Scheme_Object_u_pair_val_car_set Scheme_Object_u_pair_val_car_get Scheme_Object_u_pair_val_cdr_set Scheme_Object_u_pair_val_cdr_get new_Scheme_Object_u_pair_val delete_Scheme_Object_u_pair_val Scheme_Object_u_ptr_long_val_ptr_set Scheme_Object_u_ptr_long_val_ptr_get Scheme_Object_u_ptr_long_val_pint_set Scheme_Object_u_ptr_long_val_pint_get new_Scheme_Object_u_ptr_long_val delete_Scheme_Object_u_ptr_long_val Scheme_Object_u_ptr_int_val_ptr_set Scheme_Object_u_ptr_int_val_ptr_get Scheme_Object_u_ptr_int_val_pint_set Scheme_Object_u_ptr_int_val_pint_get new_Scheme_Object_u_ptr_int_val delete_Scheme_Object_u_ptr_int_val Scheme_Object_u_two_int_val_int1_set Scheme_Object_u_two_int_val_int1_get Scheme_Object_u_two_int_val_int2_set Scheme_Object_u_two_int_val_int2_get new_Scheme_Object_u_two_int_val delete_Scheme_Object_u_two_int_val Scheme_Object_u_two_ptr_val_ptr1_set Scheme_Object_u_two_ptr_val_ptr1_get Scheme_Object_u_two_ptr_val_ptr2_set Scheme_Object_u_two_ptr_val_ptr2_get new_Scheme_Object_u_two_ptr_val delete_Scheme_Object_u_two_ptr_val Scheme_Object_u_str_val_string_val_set Scheme_Object_u_str_val_string_val_get Scheme_Object_u_str_val_tag_val_set Scheme_Object_u_str_val_tag_val_get new_Scheme_Object_u_str_val delete_Scheme_Object_u_str_val Scheme_Small_Object_type_set Scheme_Small_Object_type_get Scheme_Small_Object_u_get new_Scheme_Small_Object delete_Scheme_Small_Object Scheme_Small_Object_u_char_val_set Scheme_Small_Object_u_char_val_get Scheme_Small_Object_u_ptr_value_set Scheme_Small_Object_u_ptr_value_get Scheme_Small_Object_u_int_val_set Scheme_Small_Object_u_int_val_get Scheme_Small_Object_u_ptr_val_set Scheme_Small_Object_u_ptr_val_get new_Scheme_Small_Object_u delete_Scheme_Small_Object_u Scheme_Double_type_set Scheme_Double_type_get Scheme_Double_double_val_set Scheme_Double_double_val_get new_Scheme_Double delete_Scheme_Double Scheme_Symbol_type_set Scheme_Symbol_type_get Scheme_Symbol_keyex_set Scheme_Symbol_keyex_get Scheme_Symbol_len_set Scheme_Symbol_len_get Scheme_Symbol_s_set Scheme_Symbol_s_get new_Scheme_Symbol delete_Scheme_Symbol Scheme_Vector_type_set Scheme_Vector_type_get Scheme_Vector_keyex_set Scheme_Vector_keyex_get Scheme_Vector_size_set Scheme_Vector_size_get Scheme_Vector_els_set Scheme_Vector_els_get new_Scheme_Vector delete_Scheme_Vector $scheme_toplevel_type $scheme_local_type $scheme_local_unbox_type $scheme_syntax_type $scheme_application_type $scheme_application2_type $scheme_application3_type $scheme_sequence_type $scheme_branch_type $scheme_unclosed_procedure_type $scheme_let_value_type $scheme_let_void_type $scheme_letrec_type $scheme_let_one_type $scheme_with_cont_mark_type $_scheme_values_types_ $scheme_compiled_unclosed_procedure_type $scheme_compiled_let_value_type $scheme_compiled_let_void_type $scheme_compiled_syntax_type $scheme_compiled_toplevel_type $scheme_compiled_quote_syntax_type $scheme_quote_compilation_type $scheme_variable_type $scheme_module_variable_type $_scheme_compiled_values_types_ $scheme_prim_type $scheme_closed_prim_type $scheme_closure_type $scheme_case_closure_type $scheme_cont_type $scheme_escaping_cont_type $scheme_proc_struct_type $scheme_structure_type $scheme_char_type $scheme_integer_type $scheme_bignum_type $scheme_rational_type $scheme_float_type $scheme_double_type $scheme_complex_izi_type $scheme_complex_type $scheme_string_type $scheme_symbol_type $scheme_null_type $scheme_pair_type $scheme_vector_type $scheme_inspector_type $scheme_input_port_type $scheme_output_port_type $scheme_eof_type $scheme_true_type $scheme_false_type $scheme_void_type $scheme_syntax_compiler_type $scheme_macro_type $scheme_box_type $scheme_thread_type $scheme_stx_offset_type $scheme_cont_mark_set_type $scheme_sema_type $scheme_hash_table_type $scheme_c_pointer_type $scheme_weak_box_type $scheme_struct_type_type $scheme_module_index_type $scheme_set_macro_type $scheme_listener_type $scheme_namespace_type $scheme_config_type $scheme_stx_type $scheme_will_executor_type $scheme_custodian_type $scheme_random_state_type $scheme_regexp_type $scheme_bucket_type $scheme_bucket_table_type $scheme_subprocess_type $scheme_compilation_top_type $scheme_wrap_chunk_type $scheme_eval_waiting_type $scheme_tail_call_waiting_type $scheme_undefined_type $scheme_struct_property_type $scheme_multiple_values_type $scheme_placeholder_type $scheme_case_lambda_sequence_type $scheme_begin0_sequence_type $scheme_rename_table_type $scheme_module_type $scheme_svector_type $scheme_lazy_macro_type $scheme_resolve_prefix_type $scheme_security_guard_type $scheme_indent_type $scheme_udp_type $scheme_udp_waitable_type $scheme_id_macro_type $scheme_waitable_set_type $scheme_wrapped_waitable_type $scheme_nack_guard_waitable_type $scheme_semaphore_repost_type $scheme_channel_type $scheme_channel_put_type $scheme_thread_resume_type $scheme_thread_suspend_type $scheme_thread_dead_type $scheme_poll_waitable_type $scheme_nack_waitable_type $scheme_module_registry_type $scheme_thread_set_type $scheme_reserved1_type $scheme_reserved2_type $scheme_reserved3_type $_scheme_last_type_ $SCHEME_PRIM_IS_FOLDING $SCHEME_PRIM_IS_PRIMITIVE $SCHEME_PRIM_IS_STRUCT_PROC $SCHEME_PRIM_IS_STRUCT_SETTER $SCHEME_PRIM_IS_PARAMETER $SCHEME_PRIM_IS_STRUCT_GETTER $SCHEME_PRIM_IS_STRUCT_PRED $SCHEME_PRIM_IS_STRUCT_CONSTR $SCHEME_PRIM_IS_MULTI_RESULT $SCHEME_PRIM_IS_GENERIC $SCHEME_PRIM_IS_USER_PARAMETER $SCHEME_PRIM_IS_METHOD Scheme_Primitive_Proc_type_set Scheme_Primitive_Proc_type_get Scheme_Primitive_Proc_flags_set Scheme_Primitive_Proc_flags_get Scheme_Primitive_Proc_prim_val_set Scheme_Primitive_Proc_prim_val_get Scheme_Primitive_Proc_name_set Scheme_Primitive_Proc_name_get Scheme_Primitive_Proc_mina_set Scheme_Primitive_Proc_mina_get Scheme_Primitive_Proc_maxa_set Scheme_Primitive_Proc_maxa_get new_Scheme_Primitive_Proc delete_Scheme_Primitive_Proc Scheme_Prim_W_Result_Arity_p_set Scheme_Prim_W_Result_Arity_p_get Scheme_Prim_W_Result_Arity_minr_set Scheme_Prim_W_Result_Arity_minr_get Scheme_Prim_W_Result_Arity_maxr_set Scheme_Prim_W_Result_Arity_maxr_get new_Scheme_Prim_W_Result_Arity delete_Scheme_Prim_W_Result_Arity Scheme_Closed_Primitive_Proc_type_set Scheme_Closed_Primitive_Proc_type_get Scheme_Closed_Primitive_Proc_flags_set Scheme_Closed_Primitive_Proc_flags_get Scheme_Closed_Primitive_Proc_prim_val_set Scheme_Closed_Primitive_Proc_prim_val_get Scheme_Closed_Primitive_Proc_data_set Scheme_Closed_Primitive_Proc_data_get Scheme_Closed_Primitive_Proc_name_set Scheme_Closed_Primitive_Proc_name_get Scheme_Closed_Primitive_Proc_mina_set Scheme_Closed_Primitive_Proc_mina_get Scheme_Closed_Primitive_Proc_maxa_set Scheme_Closed_Primitive_Proc_maxa_get new_Scheme_Closed_Primitive_Proc delete_Scheme_Closed_Primitive_Proc Scheme_Closed_Prim_W_Result_Arity_p_set Scheme_Closed_Prim_W_Result_Arity_p_get Scheme_Closed_Prim_W_Result_Arity_minr_set Scheme_Closed_Prim_W_Result_Arity_minr_get Scheme_Closed_Prim_W_Result_Arity_maxr_set Scheme_Closed_Prim_W_Result_Arity_maxr_get new_Scheme_Closed_Prim_W_Result_Arity delete_Scheme_Closed_Prim_W_Result_Arity Scheme_Closed_Case_Primitive_Proc_p_set Scheme_Closed_Case_Primitive_Proc_p_get Scheme_Closed_Case_Primitive_Proc_cases_set Scheme_Closed_Case_Primitive_Proc_cases_get new_Scheme_Closed_Case_Primitive_Proc delete_Scheme_Closed_Case_Primitive_Proc Scheme_Hash_Table_type_set Scheme_Hash_Table_type_get Scheme_Hash_Table_keyex_set Scheme_Hash_Table_keyex_get Scheme_Hash_Table_size_set Scheme_Hash_Table_size_get Scheme_Hash_Table_count_set Scheme_Hash_Table_count_get Scheme_Hash_Table_step_set Scheme_Hash_Table_step_get Scheme_Hash_Table_keys_set Scheme_Hash_Table_keys_get Scheme_Hash_Table_vals_set Scheme_Hash_Table_vals_get Scheme_Hash_Table_make_hash_indices_set Scheme_Hash_Table_make_hash_indices_get Scheme_Hash_Table_compare_set Scheme_Hash_Table_compare_get Scheme_Hash_Table_mutex_set Scheme_Hash_Table_mutex_get Scheme_Hash_Table_mcount_set Scheme_Hash_Table_mcount_get new_Scheme_Hash_Table delete_Scheme_Hash_Table Scheme_Bucket_type_set Scheme_Bucket_type_get Scheme_Bucket_val_set Scheme_Bucket_val_get Scheme_Bucket_key_set Scheme_Bucket_key_get new_Scheme_Bucket delete_Scheme_Bucket Scheme_Bucket_Table_type_set Scheme_Bucket_Table_type_get Scheme_Bucket_Table_size_set Scheme_Bucket_Table_size_get Scheme_Bucket_Table_count_set Scheme_Bucket_Table_count_get Scheme_Bucket_Table_step_set Scheme_Bucket_Table_step_get Scheme_Bucket_Table_buckets_set Scheme_Bucket_Table_buckets_get Scheme_Bucket_Table_weak_set Scheme_Bucket_Table_weak_get Scheme_Bucket_Table_with_home_set Scheme_Bucket_Table_with_home_get Scheme_Bucket_Table_make_hash_indices_set Scheme_Bucket_Table_make_hash_indices_get Scheme_Bucket_Table_compare_set Scheme_Bucket_Table_compare_get Scheme_Bucket_Table_mutex_set Scheme_Bucket_Table_mutex_get new_Scheme_Bucket_Table delete_Scheme_Bucket_Table $SCHEME_hash_string $SCHEME_hash_ptr $SCHEME_hash_bound_id $SCHEME_hash_weak_ptr Scheme_Jumpup_Buf_Holder_type_set Scheme_Jumpup_Buf_Holder_type_get Scheme_Jumpup_Buf_Holder_buf_set Scheme_Jumpup_Buf_Holder_buf_get new_Scheme_Jumpup_Buf_Holder delete_Scheme_Jumpup_Buf_Holder Scheme_Continuation_Jump_State_jumping_to_continuation_set Scheme_Continuation_Jump_State_jumping_to_continuation_get Scheme_Continuation_Jump_State_num_vals_set Scheme_Continuation_Jump_State_num_vals_get Scheme_Continuation_Jump_State_is_kill_set Scheme_Continuation_Jump_State_is_kill_get Scheme_Continuation_Jump_State_u_get new_Scheme_Continuation_Jump_State delete_Scheme_Continuation_Jump_State Scheme_Continuation_Jump_State_u_vals_set Scheme_Continuation_Jump_State_u_vals_get Scheme_Continuation_Jump_State_u_val_set Scheme_Continuation_Jump_State_u_val_get new_Scheme_Continuation_Jump_State_u delete_Scheme_Continuation_Jump_State_u Scheme_Cont_Frame_Data_cont_mark_pos_set Scheme_Cont_Frame_Data_cont_mark_pos_get Scheme_Cont_Frame_Data_cont_mark_stack_set Scheme_Cont_Frame_Data_cont_mark_stack_get new_Scheme_Cont_Frame_Data delete_Scheme_Cont_Frame_Data $MZCONFIG_ENV $MZCONFIG_INPUT_PORT $MZCONFIG_OUTPUT_PORT $MZCONFIG_ERROR_PORT $MZCONFIG_ENABLE_BREAK $MZCONFIG_ERROR_DISPLAY_HANDLER $MZCONFIG_ERROR_PRINT_VALUE_HANDLER $MZCONFIG_EXIT_HANDLER $MZCONFIG_EXN_HANDLER $MZCONFIG_INIT_EXN_HANDLER $MZCONFIG_EVAL_HANDLER $MZCONFIG_LOAD_HANDLER $MZCONFIG_PRINT_HANDLER $MZCONFIG_PROMPT_READ_HANDLER $MZCONFIG_CAN_READ_GRAPH $MZCONFIG_CAN_READ_COMPILED $MZCONFIG_CAN_READ_BOX $MZCONFIG_CAN_READ_PIPE_QUOTE $MZCONFIG_CAN_READ_DOT $MZCONFIG_CAN_READ_QUASI $MZCONFIG_READ_DECIMAL_INEXACT $MZCONFIG_PRINT_GRAPH $MZCONFIG_PRINT_STRUCT $MZCONFIG_PRINT_BOX $MZCONFIG_PRINT_VEC_SHORTHAND $MZCONFIG_PRINT_HASH_TABLE $MZCONFIG_CASE_SENS $MZCONFIG_SQUARE_BRACKETS_ARE_PARENS $MZCONFIG_CURLY_BRACES_ARE_PARENS $MZCONFIG_ERROR_PRINT_WIDTH $MZCONFIG_ERROR_ESCAPE_HANDLER $MZCONFIG_ALLOW_SET_UNDEFINED $MZCONFIG_CUSTODIAN $MZCONFIG_INSPECTOR $MZCONFIG_USE_COMPILED_KIND $MZCONFIG_LOAD_DIRECTORY $MZCONFIG_COLLECTION_PATHS $MZCONFIG_PORT_PRINT_HANDLER $MZCONFIG_LOAD_EXTENSION_HANDLER $MZCONFIG_CURRENT_DIRECTORY $MZCONFIG_RANDOM_STATE $MZCONFIG_CURRENT_MODULE_RESOLVER $MZCONFIG_CURRENT_MODULE_PREFIX $MZCONFIG_ERROR_PRINT_SRCLOC $MZCONFIG_CMDLINE_ARGS $MZCONFIG_LOCALE $MZCONFIG_SECURITY_GUARD $MZCONFIG_PORT_COUNT_LINES $MZCONFIG_SCHEDULER_RANDOM_STATE $MZCONFIG_THREAD_SET $__MZCONFIG_BUILTIN_COUNT__ Scheme_Config_type_set Scheme_Config_type_get Scheme_Config_use_count_set Scheme_Config_use_count_get Scheme_Config_extensions_set Scheme_Config_extensions_get Scheme_Config_configs_set Scheme_Config_configs_get new_Scheme_Config delete_Scheme_Config Scheme_Input_Port_type_set Scheme_Input_Port_type_get Scheme_Input_Port_closed_set Scheme_Input_Port_closed_get Scheme_Input_Port_pending_eof_set Scheme_Input_Port_pending_eof_get Scheme_Input_Port_sub_type_set Scheme_Input_Port_sub_type_get Scheme_Input_Port_mref_set Scheme_Input_Port_mref_get Scheme_Input_Port_port_data_set Scheme_Input_Port_port_data_get Scheme_Input_Port_get_string_fun_set Scheme_Input_Port_get_string_fun_get Scheme_Input_Port_peek_string_fun_set Scheme_Input_Port_peek_string_fun_get Scheme_Input_Port_char_ready_fun_set Scheme_Input_Port_char_ready_fun_get Scheme_Input_Port_close_fun_set Scheme_Input_Port_close_fun_get Scheme_Input_Port_need_wakeup_fun_set Scheme_Input_Port_need_wakeup_fun_get Scheme_Input_Port_read_handler_set Scheme_Input_Port_read_handler_get Scheme_Input_Port_name_set Scheme_Input_Port_name_get Scheme_Input_Port_peeked_read_set Scheme_Input_Port_peeked_read_get Scheme_Input_Port_peeked_write_set Scheme_Input_Port_peeked_write_get Scheme_Input_Port_ungotten_set Scheme_Input_Port_ungotten_get Scheme_Input_Port_ungotten_count_set Scheme_Input_Port_ungotten_count_get Scheme_Input_Port_special_set Scheme_Input_Port_special_get Scheme_Input_Port_ungotten_special_set Scheme_Input_Port_ungotten_special_get Scheme_Input_Port_position_set Scheme_Input_Port_position_get Scheme_Input_Port_readpos_set Scheme_Input_Port_readpos_get Scheme_Input_Port_lineNumber_set Scheme_Input_Port_lineNumber_get Scheme_Input_Port_charsSinceNewline_set Scheme_Input_Port_charsSinceNewline_get Scheme_Input_Port_column_set Scheme_Input_Port_column_get Scheme_Input_Port_oldColumn_set Scheme_Input_Port_oldColumn_get Scheme_Input_Port_count_lines_set Scheme_Input_Port_count_lines_get Scheme_Input_Port_was_cr_set Scheme_Input_Port_was_cr_get Scheme_Input_Port_output_half_set Scheme_Input_Port_output_half_get new_Scheme_Input_Port delete_Scheme_Input_Port Scheme_Output_Port_type_set Scheme_Output_Port_type_get Scheme_Output_Port_closed_set Scheme_Output_Port_closed_get Scheme_Output_Port_sub_type_set Scheme_Output_Port_sub_type_get Scheme_Output_Port_mref_set Scheme_Output_Port_mref_get Scheme_Output_Port_port_data_set Scheme_Output_Port_port_data_get Scheme_Output_Port_write_string_fun_set Scheme_Output_Port_write_string_fun_get Scheme_Output_Port_close_fun_set Scheme_Output_Port_close_fun_get Scheme_Output_Port_ready_fun_set Scheme_Output_Port_ready_fun_get Scheme_Output_Port_need_wakeup_fun_set Scheme_Output_Port_need_wakeup_fun_get Scheme_Output_Port_pos_set Scheme_Output_Port_pos_get Scheme_Output_Port_display_handler_set Scheme_Output_Port_display_handler_get Scheme_Output_Port_write_handler_set Scheme_Output_Port_write_handler_get Scheme_Output_Port_print_handler_set Scheme_Output_Port_print_handler_get Scheme_Output_Port_input_half_set Scheme_Output_Port_input_half_get new_Scheme_Output_Port delete_Scheme_Output_Port $SCHEME_SPECIAL $MZEXN $MZEXN_USER $MZEXN_VARIABLE $MZEXN_APPLICATION $MZEXN_APPLICATION_ARITY $MZEXN_APPLICATION_TYPE $MZEXN_APPLICATION_MISMATCH $MZEXN_APPLICATION_DIVIDE_BY_ZERO $MZEXN_APPLICATION_CONTINUATION $MZEXN_SYNTAX $MZEXN_READ $MZEXN_READ_EOF $MZEXN_READ_NON_CHAR $MZEXN_I_O $MZEXN_I_O_PORT $MZEXN_I_O_PORT_READ $MZEXN_I_O_PORT_WRITE $MZEXN_I_O_PORT_CLOSED $MZEXN_I_O_FILESYSTEM $MZEXN_I_O_TCP $MZEXN_I_O_UDP $MZEXN_THREAD $MZEXN_MODULE $MZEXN_BREAK $MZEXN_SPECIAL_COMMENT $MZEXN_MISC $MZEXN_MISC_UNSUPPORTED $MZEXN_MISC_OUT_OF_MEMORY $MZEXN_OTHER $SCHEME_GUARD_FILE_READ $SCHEME_GUARD_FILE_WRITE $SCHEME_GUARD_FILE_EXECUTE $SCHEME_GUARD_FILE_DELETE $SCHEME_GUARD_FILE_EXISTS scheme_init_jmpup_buf scheme_setjmpup_relative scheme_longjmpup scheme_reset_jmpup_buf scheme_clear_escape scheme_new_jmpupbuf_holder scheme_make_config scheme_branch_config scheme_new_param scheme_param_config scheme_register_parameter scheme_get_env $scheme_current_thread $scheme_fuel_counter scheme_out_of_fuel scheme_thread scheme_thread_w_custodian scheme_thread_w_custodian_killkind scheme_kill_thread scheme_break_thread scheme_thread_block scheme_swap_thread scheme_making_progress scheme_weak_suspend_thread scheme_weak_resume_thread scheme_block_until scheme_in_main_thread scheme_cancel_sleep scheme_tls_allocate scheme_tls_set scheme_tls_get scheme_make_custodian scheme_add_managed scheme_custodian_check_available scheme_remove_managed scheme_close_managed scheme_schedule_custodian_close scheme_add_custodian_extractor scheme_add_atexit_closer scheme_add_waitable scheme_add_waitable_through_sema scheme_is_waitable scheme_object_wait_multiple scheme_object_wait_multiple_enable_break scheme_make_waitable_set scheme_add_swap_callback scheme_call_enable_break scheme_close_should_force_port_closed scheme_push_kill_action scheme_pop_kill_action scheme_signal_error scheme_raise_exn scheme_warning scheme_raise scheme_wrong_count scheme_wrong_count_m scheme_case_lambda_wrong_count scheme_wrong_type scheme_arg_mismatch scheme_wrong_return_arity scheme_unbound_global scheme_make_type scheme_get_type_name $scheme_eof scheme_make_eof $scheme_null scheme_make_null $scheme_true scheme_make_true $scheme_false scheme_make_false $scheme_void scheme_make_void $scheme_undefined $scheme_tail_call_waiting $scheme_multiple_values scheme_eval scheme_eval_multi scheme_eval_compiled scheme_eval_compiled_multi _scheme_eval_compiled _scheme_eval_compiled_multi scheme_apply scheme_apply_multi scheme_apply_eb scheme_apply_multi_eb scheme_apply_to_list scheme_eval_string scheme_eval_string_multi scheme_eval_string_all _scheme_apply_known_closed_prim _scheme_apply_known_closed_prim_multi _scheme_apply_closed_prim _scheme_apply_closed_prim_multi scheme_values scheme_check_one_value scheme_tail_apply scheme_tail_apply_no_copy scheme_tail_apply_to_list scheme_tail_eval_expr scheme_set_tail_buffer_size scheme_force_value scheme_set_cont_mark scheme_push_continuation_frame scheme_pop_continuation_frame scheme_temp_dec_mark_depth scheme_temp_inc_mark_depth scheme_current_continuation_marks scheme_do_eval scheme_eval_compiled_stx_string scheme_load_compiled_stx_string scheme_compiled_stx_symbol scheme_eval_compiled_sized_string GC_malloc GC_malloc_atomic GC_malloc_stubborn GC_malloc_uncollectable scheme_malloc_eternal scheme_end_stubborn_change scheme_calloc scheme_strdup scheme_strdup_eternal scheme_malloc_fail_ok scheme_weak_reference scheme_weak_reference_indirect scheme_unweak_reference scheme_add_finalizer scheme_add_finalizer_once scheme_add_scheme_finalizer scheme_add_scheme_finalizer_once scheme_remove_all_finalization scheme_dont_gc_ptr scheme_gc_ptr_ok scheme_collect_garbage scheme_make_bucket_table scheme_add_to_table scheme_change_in_table scheme_lookup_in_table scheme_bucket_from_table scheme_bucket_table_equal scheme_make_hash_table scheme_make_hash_table_equal scheme_hash_set scheme_hash_get scheme_hash_table_equal scheme_is_hash_table_equal scheme_make_prim scheme_make_noneternal_prim scheme_make_closed_prim scheme_make_prim_w_arity scheme_make_folding_prim scheme_make_noneternal_prim_w_arity scheme_make_closed_prim_w_arity scheme_make_folding_closed_prim scheme_make_prim_w_everything scheme_make_closed_prim_w_everything scheme_prim_is_method scheme_make_pair scheme_make_immutable_pair scheme_make_string scheme_make_sized_string scheme_make_sized_offset_string scheme_make_immutable_sized_string scheme_make_string_without_copying scheme_alloc_string scheme_append_string scheme_make_vector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long scheme_make_integer_value_from_unsigned_long_long scheme_make_double scheme_make_char scheme_make_sema scheme_post_sema scheme_post_sema_all scheme_wait_sema $scheme_char_constants scheme_make_channel scheme_get_int_val scheme_get_unsigned_int_val scheme_real_to_double scheme_make_cptr scheme_get_proc_name scheme_make_bignum scheme_make_bignum_from_unsigned scheme_bignum_to_double scheme_bignum_from_double scheme_bignum_to_string scheme_bignum_to_allocated_string scheme_read_bignum scheme_bignum_normalize scheme_make_rational scheme_rational_to_double scheme_rational_from_double scheme_rational_normalize scheme_rational_numerator scheme_rational_denominator scheme_make_complex scheme_complex_normalize scheme_complex_real_part scheme_complex_imaginary_part scheme_is_exact scheme_is_inexact scheme_expand scheme_compile scheme_read scheme_read_syntax scheme_write scheme_display scheme_write_w_max scheme_display_w_max scheme_write_string scheme_put_string scheme_write_to_string scheme_display_to_string scheme_write_to_string_w_max scheme_display_to_string_w_max scheme_debug_print scheme_flush_output scheme_format scheme_printf scheme_getc scheme_peekc scheme_peekc_skip scheme_getc_special_ok scheme_peekc_special_ok scheme_peekc_special_ok_skip scheme_ungetc scheme_char_ready scheme_peekc_is_ungetc scheme_need_wakeup scheme_get_string scheme_get_chars scheme_tell scheme_output_tell scheme_tell_line scheme_tell_column scheme_count_lines scheme_close_input_port scheme_close_output_port scheme_make_port_type scheme_make_input_port scheme_make_output_port scheme_open_input_file scheme_open_output_file scheme_make_file_input_port scheme_make_named_file_input_port scheme_make_file_output_port scheme_make_string_input_port scheme_make_sized_string_input_port scheme_make_string_output_port scheme_get_string_output scheme_get_sized_string_output scheme_pipe scheme_pipe_with_limit scheme_set_file_position scheme_file_exists scheme_directory_exists scheme_expand_filename scheme_os_getcwd scheme_os_setcwd scheme_getdrive scheme_split_pathname scheme_build_pathname scheme_alloc_fdset_array scheme_init_fdset_array scheme_get_fdset scheme_fdzero scheme_fdset scheme_fdclr scheme_fdisset scheme_add_fd_handle scheme_add_fd_eventmask scheme_security_check_file scheme_security_check_network scheme_get_host_address scheme_make_namespace scheme_add_namespace_option scheme_require_from_original_env scheme_add_global scheme_add_global_symbol scheme_make_envunbox scheme_lookup_global scheme_global_bucket scheme_global_keyword_bucket scheme_module_bucket scheme_exptime_global_bucket scheme_exptime_module_bucket scheme_builtin_value scheme_set_global_bucket scheme_install_macro scheme_save_initial_module_set scheme_primitive_module scheme_finish_primitive_module scheme_make_modidx scheme_declare_module scheme_intern_symbol scheme_intern_exact_symbol scheme_make_symbol scheme_make_exact_symbol scheme_symbol_name scheme_symbol_name_and_size scheme_symbol_val scheme_make_struct_values scheme_make_struct_names scheme_make_struct_type scheme_make_struct_instance scheme_make_struct_exptime scheme_is_struct_instance scheme_struct_ref scheme_struct_set scheme_make_struct_type_property scheme_make_struct_type_property_w_guard scheme_struct_type_property_ref scheme_eq scheme_eqv scheme_equal scheme_equal_hash_key scheme_equal_hash_key2 scheme_build_list scheme_make_list_immutable scheme_list_length scheme_proper_list_length scheme_alloc_list scheme_map_1 scheme_car scheme_cdr scheme_cadr scheme_caddr scheme_vector_to_list scheme_list_to_vector scheme_append scheme_box scheme_unbox scheme_set_box scheme_make_weak_box scheme_load scheme_load_extension scheme_register_extension_global scheme_get_seconds scheme_get_milliseconds scheme_get_inexact_milliseconds scheme_get_process_milliseconds scheme_banner scheme_version scheme_check_proc_arity scheme_make_provided_string scheme_make_args_string scheme_no_dumps scheme_system_library_subpath scheme_signal_received $SCHEME_SNF_FOR_TS $SCHEME_SNF_PIPE_QUOTE $SCHEME_SNF_NO_PIPE_QUOTE $SCHEME_SNF_NEED_CASE $SCHEME_STRUCT_NO_TYPE $SCHEME_STRUCT_NO_CONSTR $SCHEME_STRUCT_NO_PRED $SCHEME_STRUCT_NO_GET $SCHEME_STRUCT_NO_SET $SCHEME_STRUCT_GEN_GET $SCHEME_STRUCT_GEN_SET $SCHEME_STRUCT_EXPTIME scheme_dynamic_wind scheme_register_finalizer );
+ at EXPORT = qw( mzscheme_init mzscheme_make_perl_prim_w_arity SCHEME_TYPE SCHEME_PROCP SCHEME_SYNTAXP SCHEME_PRIMP SCHEME_CLSD_PRIMP SCHEME_CONTP SCHEME_ECONTP SCHEME_PROC_STRUCTP SCHEME_STRUCT_PROCP SCHEME_GENERICP SCHEME_CLOSUREP $scheme_config scheme_basic_env scheme_make_integer scheme_make_character scheme_set_param scheme_get_param scheme_alloc_object scheme_alloc_small_object scheme_alloc_stubborn_object scheme_alloc_stubborn_small_object scheme_alloc_eternal_object scheme_alloc_eternal_small_object $SCHEME_STACK_SIZE $SYSTEM_TYPE_NAME $STACK_SAFETY_MARGIN $_MZ_SPECIAL_TAG $MZSCHEME_VERSION_MAJOR $MZSCHEME_VERSION_MINOR $MZSCHEME_VERSION $SCHEME_DIRECT_EMBEDDED Scheme_Object_type_set Scheme_Object_type_get Scheme_Object_keyex_set Scheme_Object_keyex_get Scheme_Object_u_get new_Scheme_Object delete_Scheme_Object Scheme_Object_u_svector_val_get Scheme_Object_u_pair_val_get Scheme_Object_u_ptr_long_val_get Scheme_Object_u_ptr_int_val_get Scheme_Object_u_two_int_val_get Scheme_Object_u_two_ptr_val_get Scheme_Object_u_str_val_get new_Scheme_Object_u delete_Scheme_Object_u Scheme_Object_u_svector_val_len_set Scheme_Object_u_svector_val_len_get Scheme_Object_u_svector_val_vec_set Scheme_Object_u_svector_val_vec_get new_Scheme_Object_u_svector_val delete_Scheme_Object_u_svector_val Scheme_Object_u_pair_val_car_set Scheme_Object_u_pair_val_car_get Scheme_Object_u_pair_val_cdr_set Scheme_Object_u_pair_val_cdr_get new_Scheme_Object_u_pair_val delete_Scheme_Object_u_pair_val Scheme_Object_u_ptr_long_val_ptr_set Scheme_Object_u_ptr_long_val_ptr_get Scheme_Object_u_ptr_long_val_pint_set Scheme_Object_u_ptr_long_val_pint_get new_Scheme_Object_u_ptr_long_val delete_Scheme_Object_u_ptr_long_val Scheme_Object_u_ptr_int_val_ptr_set Scheme_Object_u_ptr_int_val_ptr_get Scheme_Object_u_ptr_int_val_pint_set Scheme_Object_u_ptr_int_val_pint_get new_Scheme_Object_u_ptr_int_val delete_Scheme_Object_u_ptr_int_val Scheme_Object_u_two_int_val_int1_set Scheme_Object_u_two_int_val_int1_get Scheme_Object_u_two_int_val_int2_set Scheme_Object_u_two_int_val_int2_get new_Scheme_Object_u_two_int_val delete_Scheme_Object_u_two_int_val Scheme_Object_u_two_ptr_val_ptr1_set Scheme_Object_u_two_ptr_val_ptr1_get Scheme_Object_u_two_ptr_val_ptr2_set Scheme_Object_u_two_ptr_val_ptr2_get new_Scheme_Object_u_two_ptr_val delete_Scheme_Object_u_two_ptr_val Scheme_Object_u_str_val_string_val_set Scheme_Object_u_str_val_string_val_get Scheme_Object_u_str_val_tag_val_set Scheme_Object_u_str_val_tag_val_get new_Scheme_Object_u_str_val delete_Scheme_Object_u_str_val Scheme_Small_Object_type_set Scheme_Small_Object_type_get Scheme_Small_Object_u_get new_Scheme_Small_Object delete_Scheme_Small_Object Scheme_Small_Object_u_char_val_set Scheme_Small_Object_u_char_val_get Scheme_Small_Object_u_ptr_value_set Scheme_Small_Object_u_ptr_value_get Scheme_Small_Object_u_int_val_set Scheme_Small_Object_u_int_val_get Scheme_Small_Object_u_ptr_val_set Scheme_Small_Object_u_ptr_val_get new_Scheme_Small_Object_u delete_Scheme_Small_Object_u Scheme_Double_type_set Scheme_Double_type_get Scheme_Double_double_val_set Scheme_Double_double_val_get new_Scheme_Double delete_Scheme_Double Scheme_Symbol_type_set Scheme_Symbol_type_get Scheme_Symbol_keyex_set Scheme_Symbol_keyex_get Scheme_Symbol_len_set Scheme_Symbol_len_get Scheme_Symbol_s_set Scheme_Symbol_s_get new_Scheme_Symbol delete_Scheme_Symbol Scheme_Vector_type_set Scheme_Vector_type_get Scheme_Vector_keyex_set Scheme_Vector_keyex_get Scheme_Vector_size_set Scheme_Vector_size_get Scheme_Vector_els_set Scheme_Vector_els_get new_Scheme_Vector delete_Scheme_Vector $scheme_toplevel_type $scheme_local_type $scheme_local_unbox_type $scheme_syntax_type $scheme_application_type $scheme_application2_type $scheme_application3_type $scheme_sequence_type $scheme_branch_type $scheme_unclosed_procedure_type $scheme_let_value_type $scheme_let_void_type $scheme_letrec_type $scheme_let_one_type $scheme_with_cont_mark_type $_scheme_values_types_ $scheme_compiled_unclosed_procedure_type $scheme_compiled_let_value_type $scheme_compiled_let_void_type $scheme_compiled_syntax_type $scheme_compiled_toplevel_type $scheme_compiled_quote_syntax_type $scheme_quote_compilation_type $scheme_variable_type $scheme_module_variable_type $_scheme_compiled_values_types_ $scheme_prim_type $scheme_closed_prim_type $scheme_closure_type $scheme_case_closure_type $scheme_cont_type $scheme_escaping_cont_type $scheme_proc_struct_type $scheme_structure_type $scheme_char_type $scheme_integer_type $scheme_bignum_type $scheme_rational_type $scheme_float_type $scheme_double_type $scheme_complex_izi_type $scheme_complex_type $scheme_string_type $scheme_symbol_type $scheme_null_type $scheme_pair_type $scheme_vector_type $scheme_inspector_type $scheme_input_port_type $scheme_output_port_type $scheme_eof_type $scheme_true_type $scheme_false_type $scheme_void_type $scheme_syntax_compiler_type $scheme_macro_type $scheme_box_type $scheme_thread_type $scheme_stx_offset_type $scheme_cont_mark_set_type $scheme_sema_type $scheme_hash_table_type $scheme_c_pointer_type $scheme_weak_box_type $scheme_struct_type_type $scheme_module_index_type $scheme_set_macro_type $scheme_listener_type $scheme_namespace_type $scheme_config_type $scheme_stx_type $scheme_will_executor_type $scheme_custodian_type $scheme_random_state_type $scheme_regexp_type $scheme_bucket_type $scheme_bucket_table_type $scheme_subprocess_type $scheme_compilation_top_type $scheme_wrap_chunk_type $scheme_eval_waiting_type $scheme_tail_call_waiting_type $scheme_undefined_type $scheme_struct_property_type $scheme_multiple_values_type $scheme_placeholder_type $scheme_case_lambda_sequence_type $scheme_begin0_sequence_type $scheme_rename_table_type $scheme_module_type $scheme_svector_type $scheme_lazy_macro_type $scheme_resolve_prefix_type $scheme_security_guard_type $scheme_indent_type $scheme_udp_type $scheme_udp_waitable_type $scheme_id_macro_type $scheme_waitable_set_type $scheme_wrapped_waitable_type $scheme_nack_guard_waitable_type $scheme_semaphore_repost_type $scheme_channel_type $scheme_channel_put_type $scheme_thread_resume_type $scheme_thread_suspend_type $scheme_thread_dead_type $scheme_poll_waitable_type $scheme_nack_waitable_type $scheme_module_registry_type $scheme_thread_set_type $scheme_reserved1_type $scheme_reserved2_type $scheme_reserved3_type $_scheme_last_type_ $SCHEME_PRIM_IS_FOLDING $SCHEME_PRIM_IS_PRIMITIVE $SCHEME_PRIM_IS_STRUCT_PROC $SCHEME_PRIM_IS_STRUCT_SETTER $SCHEME_PRIM_IS_PARAMETER $SCHEME_PRIM_IS_STRUCT_GETTER $SCHEME_PRIM_IS_STRUCT_PRED $SCHEME_PRIM_IS_STRUCT_CONSTR $SCHEME_PRIM_IS_MULTI_RESULT $SCHEME_PRIM_IS_GENERIC $SCHEME_PRIM_IS_USER_PARAMETER $SCHEME_PRIM_IS_METHOD Scheme_Primitive_Proc_type_set Scheme_Primitive_Proc_type_get Scheme_Primitive_Proc_flags_set Scheme_Primitive_Proc_flags_get Scheme_Primitive_Proc_prim_val_set Scheme_Primitive_Proc_prim_val_get Scheme_Primitive_Proc_name_set Scheme_Primitive_Proc_name_get Scheme_Primitive_Proc_mina_set Scheme_Primitive_Proc_mina_get Scheme_Primitive_Proc_maxa_set Scheme_Primitive_Proc_maxa_get new_Scheme_Primitive_Proc delete_Scheme_Primitive_Proc Scheme_Prim_W_Result_Arity_p_set Scheme_Prim_W_Result_Arity_p_get Scheme_Prim_W_Result_Arity_minr_set Scheme_Prim_W_Result_Arity_minr_get Scheme_Prim_W_Result_Arity_maxr_set Scheme_Prim_W_Result_Arity_maxr_get new_Scheme_Prim_W_Result_Arity delete_Scheme_Prim_W_Result_Arity Scheme_Closed_Primitive_Proc_type_set Scheme_Closed_Primitive_Proc_type_get Scheme_Closed_Primitive_Proc_flags_set Scheme_Closed_Primitive_Proc_flags_get Scheme_Closed_Primitive_Proc_prim_val_set Scheme_Closed_Primitive_Proc_prim_val_get Scheme_Closed_Primitive_Proc_data_set Scheme_Closed_Primitive_Proc_data_get Scheme_Closed_Primitive_Proc_name_set Scheme_Closed_Primitive_Proc_name_get Scheme_Closed_Primitive_Proc_mina_set Scheme_Closed_Primitive_Proc_mina_get Scheme_Closed_Primitive_Proc_maxa_set Scheme_Closed_Primitive_Proc_maxa_get new_Scheme_Closed_Primitive_Proc delete_Scheme_Closed_Primitive_Proc Scheme_Closed_Prim_W_Result_Arity_p_set Scheme_Closed_Prim_W_Result_Arity_p_get Scheme_Closed_Prim_W_Result_Arity_minr_set Scheme_Closed_Prim_W_Result_Arity_minr_get Scheme_Closed_Prim_W_Result_Arity_maxr_set Scheme_Closed_Prim_W_Result_Arity_maxr_get new_Scheme_Closed_Prim_W_Result_Arity delete_Scheme_Closed_Prim_W_Result_Arity Scheme_Closed_Case_Primitive_Proc_p_set Scheme_Closed_Case_Primitive_Proc_p_get Scheme_Closed_Case_Primitive_Proc_cases_set Scheme_Closed_Case_Primitive_Proc_cases_get new_Scheme_Closed_Case_Primitive_Proc delete_Scheme_Closed_Case_Primitive_Proc Scheme_Hash_Table_type_set Scheme_Hash_Table_type_get Scheme_Hash_Table_keyex_set Scheme_Hash_Table_keyex_get Scheme_Hash_Table_size_set Scheme_Hash_Table_size_get Scheme_Hash_Table_count_set Scheme_Hash_Table_count_get Scheme_Hash_Table_step_set Scheme_Hash_Table_step_get Scheme_Hash_Table_keys_set Scheme_Hash_Table_keys_get Scheme_Hash_Table_vals_set Scheme_Hash_Table_vals_get Scheme_Hash_Table_make_hash_indices_set Scheme_Hash_Table_make_hash_indices_get Scheme_Hash_Table_compare_set Scheme_Hash_Table_compare_get Scheme_Hash_Table_mutex_set Scheme_Hash_Table_mutex_get Scheme_Hash_Table_mcount_set Scheme_Hash_Table_mcount_get new_Scheme_Hash_Table delete_Scheme_Hash_Table Scheme_Bucket_type_set Scheme_Bucket_type_get Scheme_Bucket_val_set Scheme_Bucket_val_get Scheme_Bucket_key_set Scheme_Bucket_key_get new_Scheme_Bucket delete_Scheme_Bucket Scheme_Bucket_Table_type_set Scheme_Bucket_Table_type_get Scheme_Bucket_Table_size_set Scheme_Bucket_Table_size_get Scheme_Bucket_Table_count_set Scheme_Bucket_Table_count_get Scheme_Bucket_Table_step_set Scheme_Bucket_Table_step_get Scheme_Bucket_Table_buckets_set Scheme_Bucket_Table_buckets_get Scheme_Bucket_Table_weak_set Scheme_Bucket_Table_weak_get Scheme_Bucket_Table_with_home_set Scheme_Bucket_Table_with_home_get Scheme_Bucket_Table_make_hash_indices_set Scheme_Bucket_Table_make_hash_indices_get Scheme_Bucket_Table_compare_set Scheme_Bucket_Table_compare_get Scheme_Bucket_Table_mutex_set Scheme_Bucket_Table_mutex_get new_Scheme_Bucket_Table delete_Scheme_Bucket_Table $SCHEME_hash_string $SCHEME_hash_ptr $SCHEME_hash_bound_id $SCHEME_hash_weak_ptr Scheme_Jumpup_Buf_Holder_type_set Scheme_Jumpup_Buf_Holder_type_get Scheme_Jumpup_Buf_Holder_buf_set Scheme_Jumpup_Buf_Holder_buf_get new_Scheme_Jumpup_Buf_Holder delete_Scheme_Jumpup_Buf_Holder Scheme_Continuation_Jump_State_jumping_to_continuation_set Scheme_Continuation_Jump_State_jumping_to_continuation_get Scheme_Continuation_Jump_State_num_vals_set Scheme_Continuation_Jump_State_num_vals_get Scheme_Continuation_Jump_State_is_kill_set Scheme_Continuation_Jump_State_is_kill_get Scheme_Continuation_Jump_State_u_get new_Scheme_Continuation_Jump_State delete_Scheme_Continuation_Jump_State Scheme_Continuation_Jump_State_u_vals_set Scheme_Continuation_Jump_State_u_vals_get Scheme_Continuation_Jump_State_u_val_set Scheme_Continuation_Jump_State_u_val_get new_Scheme_Continuation_Jump_State_u delete_Scheme_Continuation_Jump_State_u Scheme_Cont_Frame_Data_cont_mark_pos_set Scheme_Cont_Frame_Data_cont_mark_pos_get Scheme_Cont_Frame_Data_cont_mark_stack_set Scheme_Cont_Frame_Data_cont_mark_stack_get new_Scheme_Cont_Frame_Data delete_Scheme_Cont_Frame_Data $MZCONFIG_ENV $MZCONFIG_INPUT_PORT $MZCONFIG_OUTPUT_PORT $MZCONFIG_ERROR_PORT $MZCONFIG_ENABLE_BREAK $MZCONFIG_ERROR_DISPLAY_HANDLER $MZCONFIG_ERROR_PRINT_VALUE_HANDLER $MZCONFIG_EXIT_HANDLER $MZCONFIG_EXN_HANDLER $MZCONFIG_INIT_EXN_HANDLER $MZCONFIG_EVAL_HANDLER $MZCONFIG_LOAD_HANDLER $MZCONFIG_PRINT_HANDLER $MZCONFIG_PROMPT_READ_HANDLER $MZCONFIG_CAN_READ_GRAPH $MZCONFIG_CAN_READ_COMPILED $MZCONFIG_CAN_READ_BOX $MZCONFIG_CAN_READ_PIPE_QUOTE $MZCONFIG_CAN_READ_DOT $MZCONFIG_CAN_READ_QUASI $MZCONFIG_READ_DECIMAL_INEXACT $MZCONFIG_PRINT_GRAPH $MZCONFIG_PRINT_STRUCT $MZCONFIG_PRINT_BOX $MZCONFIG_PRINT_VEC_SHORTHAND $MZCONFIG_PRINT_HASH_TABLE $MZCONFIG_CASE_SENS $MZCONFIG_SQUARE_BRACKETS_ARE_PARENS $MZCONFIG_CURLY_BRACES_ARE_PARENS $MZCONFIG_ERROR_PRINT_WIDTH $MZCONFIG_ERROR_ESCAPE_HANDLER $MZCONFIG_ALLOW_SET_UNDEFINED $MZCONFIG_CUSTODIAN $MZCONFIG_INSPECTOR $MZCONFIG_USE_COMPILED_KIND $MZCONFIG_LOAD_DIRECTORY $MZCONFIG_COLLECTION_PATHS $MZCONFIG_PORT_PRINT_HANDLER $MZCONFIG_LOAD_EXTENSION_HANDLER $MZCONFIG_CURRENT_DIRECTORY $MZCONFIG_RANDOM_STATE $MZCONFIG_CURRENT_MODULE_RESOLVER $MZCONFIG_CURRENT_MODULE_PREFIX $MZCONFIG_ERROR_PRINT_SRCLOC $MZCONFIG_CMDLINE_ARGS $MZCONFIG_LOCALE $MZCONFIG_SECURITY_GUARD $MZCONFIG_PORT_COUNT_LINES $MZCONFIG_SCHEDULER_RANDOM_STATE $MZCONFIG_THREAD_SET $__MZCONFIG_BUILTIN_COUNT__ Scheme_Config_type_set Scheme_Config_type_get Scheme_Config_use_count_set Scheme_Config_use_count_get Scheme_Config_extensions_set Scheme_Config_extensions_get Scheme_Config_configs_set Scheme_Config_configs_get new_Scheme_Config delete_Scheme_Config Scheme_Input_Port_type_set Scheme_Input_Port_type_get Scheme_Input_Port_closed_set Scheme_Input_Port_closed_get Scheme_Input_Port_pending_eof_set Scheme_Input_Port_pending_eof_get Scheme_Input_Port_sub_type_set Scheme_Input_Port_sub_type_get Scheme_Input_Port_mref_set Scheme_Input_Port_mref_get Scheme_Input_Port_port_data_set Scheme_Input_Port_port_data_get Scheme_Input_Port_get_string_fun_set Scheme_Input_Port_get_string_fun_get Scheme_Input_Port_peek_string_fun_set Scheme_Input_Port_peek_string_fun_get Scheme_Input_Port_char_ready_fun_set Scheme_Input_Port_char_ready_fun_get Scheme_Input_Port_close_fun_set Scheme_Input_Port_close_fun_get Scheme_Input_Port_need_wakeup_fun_set Scheme_Input_Port_need_wakeup_fun_get Scheme_Input_Port_read_handler_set Scheme_Input_Port_read_handler_get Scheme_Input_Port_name_set Scheme_Input_Port_name_get Scheme_Input_Port_peeked_read_set Scheme_Input_Port_peeked_read_get Scheme_Input_Port_peeked_write_set Scheme_Input_Port_peeked_write_get Scheme_Input_Port_ungotten_set Scheme_Input_Port_ungotten_get Scheme_Input_Port_ungotten_count_set Scheme_Input_Port_ungotten_count_get Scheme_Input_Port_special_set Scheme_Input_Port_special_get Scheme_Input_Port_ungotten_special_set Scheme_Input_Port_ungotten_special_get Scheme_Input_Port_position_set Scheme_Input_Port_position_get Scheme_Input_Port_readpos_set Scheme_Input_Port_readpos_get Scheme_Input_Port_lineNumber_set Scheme_Input_Port_lineNumber_get Scheme_Input_Port_charsSinceNewline_set Scheme_Input_Port_charsSinceNewline_get Scheme_Input_Port_column_set Scheme_Input_Port_column_get Scheme_Input_Port_oldColumn_set Scheme_Input_Port_oldColumn_get Scheme_Input_Port_count_lines_set Scheme_Input_Port_count_lines_get Scheme_Input_Port_was_cr_set Scheme_Input_Port_was_cr_get Scheme_Input_Port_output_half_set Scheme_Input_Port_output_half_get new_Scheme_Input_Port delete_Scheme_Input_Port Scheme_Output_Port_type_set Scheme_Output_Port_type_get Scheme_Output_Port_closed_set Scheme_Output_Port_closed_get Scheme_Output_Port_sub_type_set Scheme_Output_Port_sub_type_get Scheme_Output_Port_mref_set Scheme_Output_Port_mref_get Scheme_Output_Port_port_data_set Scheme_Output_Port_port_data_get Scheme_Output_Port_write_string_fun_set Scheme_Output_Port_write_string_fun_get Scheme_Output_Port_close_fun_set Scheme_Output_Port_close_fun_get Scheme_Output_Port_ready_fun_set Scheme_Output_Port_ready_fun_get Scheme_Output_Port_need_wakeup_fun_set Scheme_Output_Port_need_wakeup_fun_get Scheme_Output_Port_pos_set Scheme_Output_Port_pos_get Scheme_Output_Port_display_handler_set Scheme_Output_Port_display_handler_get Scheme_Output_Port_write_handler_set Scheme_Output_Port_write_handler_get Scheme_Output_Port_print_handler_set Scheme_Output_Port_print_handler_get Scheme_Output_Port_input_half_set Scheme_Output_Port_input_half_get new_Scheme_Output_Port delete_Scheme_Output_Port $SCHEME_SPECIAL $MZEXN $MZEXN_USER $MZEXN_VARIABLE $MZEXN_APPLICATION $MZEXN_APPLICATION_ARITY $MZEXN_APPLICATION_TYPE $MZEXN_APPLICATION_MISMATCH $MZEXN_APPLICATION_DIVIDE_BY_ZERO $MZEXN_APPLICATION_CONTINUATION $MZEXN_SYNTAX $MZEXN_READ $MZEXN_READ_EOF $MZEXN_READ_NON_CHAR $MZEXN_I_O $MZEXN_I_O_PORT $MZEXN_I_O_PORT_READ $MZEXN_I_O_PORT_WRITE $MZEXN_I_O_PORT_CLOSED $MZEXN_I_O_FILESYSTEM $MZEXN_I_O_TCP $MZEXN_I_O_UDP $MZEXN_THREAD $MZEXN_MODULE $MZEXN_BREAK $MZEXN_SPECIAL_COMMENT $MZEXN_MISC $MZEXN_MISC_UNSUPPORTED $MZEXN_MISC_OUT_OF_MEMORY $MZEXN_OTHER $SCHEME_GUARD_FILE_READ $SCHEME_GUARD_FILE_WRITE $SCHEME_GUARD_FILE_EXECUTE $SCHEME_GUARD_FILE_DELETE $SCHEME_GUARD_FILE_EXISTS scheme_init_jmpup_buf scheme_setjmpup_relative scheme_longjmpup scheme_reset_jmpup_buf scheme_clear_escape scheme_new_jmpupbuf_holder scheme_make_config scheme_branch_config scheme_new_param scheme_param_config scheme_register_parameter scheme_get_env $scheme_current_thread $scheme_fuel_counter scheme_out_of_fuel scheme_thread scheme_thread_w_custodian scheme_thread_w_custodian_killkind scheme_kill_thread scheme_break_thread scheme_thread_block scheme_swap_thread scheme_making_progress scheme_weak_suspend_thread scheme_weak_resume_thread scheme_block_until scheme_in_main_thread scheme_cancel_sleep scheme_tls_allocate scheme_tls_set scheme_tls_get scheme_make_custodian scheme_add_managed scheme_custodian_check_available scheme_remove_managed scheme_close_managed scheme_schedule_custodian_close scheme_add_custodian_extractor scheme_add_atexit_closer scheme_add_waitable scheme_add_waitable_through_sema scheme_is_waitable scheme_object_wait_multiple scheme_object_wait_multiple_enable_break scheme_make_waitable_set scheme_add_swap_callback scheme_call_enable_break scheme_close_should_force_port_closed scheme_push_kill_action scheme_pop_kill_action scheme_signal_error scheme_raise_exn scheme_warning scheme_raise scheme_wrong_count scheme_wrong_count_m scheme_case_lambda_wrong_count scheme_wrong_type scheme_arg_mismatch scheme_wrong_return_arity scheme_unbound_global scheme_make_type scheme_get_type_name $scheme_eof scheme_make_eof $scheme_null scheme_make_null $scheme_true scheme_make_true $scheme_false scheme_make_false $scheme_void scheme_make_void $scheme_undefined $scheme_tail_call_waiting $scheme_multiple_values scheme_eval scheme_eval_multi scheme_eval_compiled scheme_eval_compiled_multi _scheme_eval_compiled _scheme_eval_compiled_multi scheme_apply scheme_apply_multi scheme_apply_eb scheme_apply_multi_eb scheme_apply_to_list scheme_eval_string scheme_eval_string_multi scheme_eval_string_all _scheme_apply_known_closed_prim _scheme_apply_known_closed_prim_multi _scheme_apply_closed_prim _scheme_apply_closed_prim_multi scheme_values scheme_check_one_value scheme_tail_apply scheme_tail_apply_no_copy scheme_tail_apply_to_list scheme_tail_eval_expr scheme_set_tail_buffer_size scheme_force_value scheme_set_cont_mark scheme_push_continuation_frame scheme_pop_continuation_frame scheme_temp_dec_mark_depth scheme_temp_inc_mark_depth scheme_current_continuation_marks scheme_do_eval scheme_eval_compiled_stx_string scheme_load_compiled_stx_string scheme_compiled_stx_symbol scheme_eval_compiled_sized_string GC_malloc GC_malloc_atomic GC_malloc_stubborn GC_malloc_uncollectable scheme_malloc_eternal scheme_end_stubborn_change scheme_calloc scheme_strdup scheme_strdup_eternal scheme_malloc_fail_ok scheme_weak_reference scheme_weak_reference_indirect scheme_unweak_reference scheme_add_finalizer scheme_add_finalizer_once scheme_add_scheme_finalizer scheme_add_scheme_finalizer_once scheme_remove_all_finalization scheme_dont_gc_ptr scheme_gc_ptr_ok scheme_collect_garbage scheme_make_bucket_table scheme_add_to_table scheme_change_in_table scheme_lookup_in_table scheme_bucket_from_table scheme_bucket_table_equal scheme_make_hash_table scheme_make_hash_table_equal scheme_hash_set scheme_hash_get scheme_hash_table_equal scheme_is_hash_table_equal scheme_make_prim scheme_make_noneternal_prim scheme_make_closed_prim scheme_make_prim_w_arity scheme_make_folding_prim scheme_make_noneternal_prim_w_arity scheme_make_closed_prim_w_arity scheme_make_folding_closed_prim scheme_make_prim_w_everything scheme_make_closed_prim_w_everything scheme_prim_is_method scheme_make_pair scheme_make_immutable_pair scheme_make_string scheme_make_sized_string scheme_make_sized_offset_string scheme_make_immutable_sized_string scheme_make_string_without_copying scheme_alloc_string scheme_append_string scheme_make_vector scheme_make_integer_value scheme_make_integer_value_from_unsigned scheme_make_integer_value_from_long_long scheme_make_integer_value_from_unsigned_long_long scheme_make_double scheme_make_char scheme_make_sema scheme_post_sema scheme_post_sema_all scheme_wait_sema $scheme_char_constants scheme_make_channel scheme_get_int_val scheme_get_unsigned_int_val scheme_real_to_double scheme_make_cptr scheme_get_proc_name scheme_make_bignum scheme_make_bignum_from_unsigned scheme_bignum_to_double scheme_bignum_from_double scheme_bignum_to_string scheme_bignum_to_allocated_string scheme_read_bignum scheme_bignum_normalize scheme_make_rational scheme_rational_to_double scheme_rational_from_double scheme_rational_normalize scheme_rational_numerator scheme_rational_denominator scheme_make_complex scheme_complex_normalize scheme_complex_real_part scheme_complex_imaginary_part scheme_is_exact scheme_is_inexact scheme_expand scheme_compile scheme_read scheme_read_syntax scheme_write scheme_display scheme_write_w_max scheme_display_w_max scheme_write_string scheme_put_string scheme_write_to_string scheme_display_to_string scheme_write_to_string_w_max scheme_display_to_string_w_max scheme_debug_print scheme_flush_output scheme_format scheme_printf scheme_getc scheme_peekc scheme_peekc_skip scheme_getc_special_ok scheme_peekc_special_ok scheme_peekc_special_ok_skip scheme_ungetc scheme_char_ready scheme_peekc_is_ungetc scheme_need_wakeup scheme_get_string scheme_get_chars scheme_tell scheme_output_tell scheme_tell_line scheme_tell_column scheme_count_lines scheme_close_input_port scheme_close_output_port scheme_make_port_type scheme_make_input_port scheme_make_output_port scheme_open_input_file scheme_open_output_file scheme_make_file_input_port scheme_make_named_file_input_port scheme_make_file_output_port scheme_make_string_input_port scheme_make_sized_string_input_port scheme_make_string_output_port scheme_get_string_output scheme_get_sized_string_output scheme_pipe scheme_pipe_with_limit scheme_set_file_position scheme_file_exists scheme_directory_exists scheme_expand_filename scheme_os_getcwd scheme_os_setcwd scheme_getdrive scheme_split_pathname scheme_build_pathname scheme_alloc_fdset_array scheme_init_fdset_array scheme_get_fdset scheme_fdzero scheme_fdset scheme_fdclr scheme_fdisset scheme_add_fd_handle scheme_add_fd_eventmask scheme_security_check_file scheme_security_check_network scheme_get_host_address scheme_make_namespace scheme_add_namespace_option scheme_require_from_original_env scheme_add_global scheme_add_global_symbol scheme_make_envunbox scheme_lookup_global scheme_global_bucket scheme_global_keyword_bucket scheme_module_bucket scheme_exptime_global_bucket scheme_exptime_module_bucket scheme_builtin_value scheme_set_global_bucket scheme_install_macro scheme_save_initial_module_set scheme_primitive_module scheme_finish_primitive_module scheme_make_modidx scheme_declare_module scheme_intern_symbol scheme_intern_exact_symbol scheme_make_symbol scheme_make_exact_symbol scheme_symbol_name scheme_symbol_name_and_size scheme_symbol_val scheme_make_struct_values scheme_make_struct_names scheme_make_struct_type scheme_make_struct_instance scheme_make_struct_exptime scheme_is_struct_instance scheme_struct_ref scheme_struct_set scheme_make_struct_type_property scheme_make_struct_type_property_w_guard scheme_struct_type_property_ref scheme_eq scheme_eqv scheme_equal scheme_equal_hash_key scheme_equal_hash_key2 scheme_build_list scheme_make_list_immutable scheme_list_length scheme_proper_list_length scheme_alloc_list scheme_map_1 scheme_car scheme_cdr scheme_cadr scheme_caddr scheme_vector_to_list scheme_list_to_vector scheme_append scheme_box scheme_unbox scheme_set_box scheme_make_weak_box scheme_load scheme_load_extension scheme_register_extension_global scheme_get_seconds scheme_get_milliseconds scheme_get_inexact_milliseconds scheme_get_process_milliseconds scheme_banner scheme_version scheme_check_proc_arity scheme_make_provided_string scheme_make_args_string scheme_no_dumps scheme_system_library_subpath scheme_signal_received $SCHEME_SNF_FOR_TS $SCHEME_SNF_PIPE_QUOTE $SCHEME_SNF_NO_PIPE_QUOTE $SCHEME_SNF_NEED_CASE $SCHEME_STRUCT_NO_TYPE $SCHEME_STRUCT_NO_CONSTR $SCHEME_STRUCT_NO_PRED $SCHEME_STRUCT_NO_GET $SCHEME_STRUCT_NO_SET $SCHEME_STRUCT_GEN_GET $SCHEME_STRUCT_GEN_SET $SCHEME_STRUCT_EXPTIME scheme_dynamic_wind scheme_register_finalizer );
 1;

Added: mzscheme/Language-MzScheme/mzscheme.c
==============================================================================
--- (empty file)
+++ mzscheme/Language-MzScheme/mzscheme.c	Mon Jun  7 11:32:00 2004
@@ -0,0 +1,42 @@
+#include "scheme.h"
+#include "mzscheme.h"
+
+void
+mzscheme_init () {
+    int dummy;
+    scheme_set_stack_base(&dummy, 1);
+}
+
+Scheme_Object
+*mzscheme_make_perl_prim_w_arity (SV *cv_ref, const char *name, int mina, int maxa) {
+    scheme_make_closed_prim_w_arity(
+        &_mzscheme_closed_prim_CV,
+        cv_ref, name, mina, maxa
+    );
+}
+
+Scheme_Object *
+_mzscheme_closed_prim_CV (void *d, int argc, Scheme_Object **argv) {
+    dSP ;
+    PUSHs((SV *)newRV((SV*)_mzscheme_objects_AV(argv)));
+    call_sv((SV *)d, G_SCALAR);
+    return (Scheme_Object *)SvIV((SV*)SvRV(POPs));
+}
+
+AV *
+_mzscheme_objects_AV (Scheme_Object ** objects) {
+    AV *myav;
+    SV **svs;
+    int i = 0, len = 0;
+    while (objects[len]) {
+        len++;
+    };
+    svs = (SV **)malloc(len*sizeof(SV *));
+    for (i = 0; i < len ; i++) {
+        svs[i] = sv_newmortal();
+        sv_setref_pv((SV*)svs[i], (char *)&SWIGTYPE_p_Scheme_Object, objects[i]);
+    };
+    myav = av_make(len, svs);
+    free(svs);
+    return myav;
+}

Added: mzscheme/Language-MzScheme/mzscheme.h
==============================================================================
--- (empty file)
+++ mzscheme/Language-MzScheme/mzscheme.h	Mon Jun  7 11:32:00 2004
@@ -0,0 +1,5 @@
+
+void            mzscheme_init ();
+AV*             _mzscheme_objects_AV (Scheme_Object ** objects);
+Scheme_Object*  _mzscheme_closed_prim_CV (void *d, int argc, Scheme_Object **argv);
+

Modified: mzscheme/Language-MzScheme/mzscheme.i
==============================================================================
--- mzscheme/Language-MzScheme/mzscheme.i	(original)
+++ mzscheme/Language-MzScheme/mzscheme.i	Mon Jun  7 11:32:00 2004
@@ -1,17 +1,41 @@
 #pragma SWIG nowarn=302,451,509
 
 %{
+#include "mzscheme.c"
+%}
 
-#include "scheme.h"
+void            mzscheme_init();
+Scheme_Object*  mzscheme_make_perl_prim_w_arity
+                (SV *cv_ref, const char *name, int mina, int maxa);
+
+%typemap(in) Scheme_Object ** {
+    AV *tempav;
+    I32 len;
+    int i;
+    SV  **tv;
+    if (!SvROK($input))
+        croak("argument $argnum is not a reference.");
+    if (SvTYPE(SvRV($input)) != SVt_PVAV)
+        croak("argument $argnum is not an array.");
+    tempav = (AV*)SvRV($input);
+    len = av_len(tempav);
+    $1 = (Scheme_Object **) malloc((len+2)*sizeof(Scheme_Object *));
+    for (i = 0; i <= len; i++) {
+        tv = av_fetch(tempav, i, 0);
+        $1[i] = (Scheme_Object *) SvIV((SV*)SvRV(*tv));
+    }
+    $1[i] = NULL;
+};
 
-void mzscheme_init () {
-    int dummy;
-    scheme_set_stack_base(&dummy, 1);
+%typemap(freearg) Scheme_Object ** {
+    free($1);
 }
 
-%}
-
-void mzscheme_init ();
+%typemap(out) Scheme_Object ** {
+    $result = newRV((SV *)_mzscheme_objects_AV($1));
+    sv_2mortal($result);
+    argvi++;
+}
 
 Scheme_Type     SCHEME_TYPE(Scheme_Object *obj);
 int             SCHEME_PROCP(Scheme_Object *obj);


More information about the Rt-commit mailing list