return gh_list (a, SCM_UNDEFINED);
}
-SCM
-ly_quote ()
-{
- return gh_eval_str ("'quote");
-}
/*
scm_m_quote doesn't use any env, but needs one for a good signature in GUILE.
return gh_eval_str (buf);
}
+/*
+ See: libguile/symbols.c
+
+ SCM
+ scm_string_to_symbol(s)
+
+*/
+SCM
+ly_symbol (String name)
+{
+ return gh_car (scm_intern (name.ch_C(), name.length_i()));
+}
SCM
lambda_scm (String str, Array<int> args_arr)
SCM args_scm = SCM_EOL;
for (int i = args_arr.size () - 1; i >= 0; i--)
args_scm = gh_cons (gh_int2scm (args_arr[i]), args_scm);
- SCM scm =
- gh_append2 (ly_lambda_o (),
- ly_list1 (gh_append2 (ly_func_o (str.ch_l ()), args_scm)));
- return scm;
+ args_scm = gh_cons (ly_symbol (str.ch_l ()), args_scm);
+ return args_scm;
}
// scm_top_level_env(SCM_CDR(scm_top_level_lookup_closure_var)))
SCM args_scm = SCM_EOL;
for (int i = args_arr.size (); i--; )
args_scm = gh_cons (gh_str02scm (args_arr[i].ch_l ()), args_scm);
- SCM scm =
- gh_append2 (ly_lambda_o (),
- ly_list1 (gh_append2 (ly_func_o (str.ch_l ()), args_scm)));
- return scm;
+ args_scm = gh_cons (ly_symbol (str.ch_l ()), args_scm);
+ return args_scm;
}
SCM
for (int i = args_arr.size (); i--; )
args_scm = gh_cons (gh_double2scm (args_arr[i]), args_scm);
- SCM scm =
- gh_append2 (ly_lambda_o (),
- ly_list1 (gh_append2 (ly_func_o (str.ch_l ()), args_scm)));
- return scm;
+ args_scm = gh_cons (ly_symbol (str.ch_l ()), args_scm);
+ return args_scm;
}
/**