#include static SCM myfun(SCM arg1,SCM opt_arg2) { if (opt_arg2 == SCM_UNDEFINED) scm_display(scm_from_utf8_string("Optional argument NOT received!\n"), scm_current_output_port()); else scm_display(scm_from_utf8_string("Optional argument received!\n"), scm_current_output_port()); return SCM_BOOL_T; } void init_myfun(void) { scm_c_define_gsubr("myfun", 1, 1, 0, myfun); }