SCM ly_assoc_get (SCM key, SCM alist, SCM default_value, SCM strict_checking = SCM_BOOL_F);
Interval ly_scm2interval (SCM);
Drul_array<Real> ly_scm2realdrul (SCM);
+SCM ly_memv (SCM, SCM);
Slice int_list_to_slice (SCM l);
SCM ly_interval2scm (Drul_array<Real>);
char *ly_scm2str0 (SCM str);
return SCM_UNSPECIFIED;
}
+// Needed as complement to int_list_to_slice since scm_c_memq refuses
+// to work with dotted lists.
+
+SCM
+ly_memv (SCM v, SCM l)
+{
+ for (; scm_is_pair (l); l = scm_cdr (l))
+ if (scm_is_true (scm_eqv_p (v, scm_car (l))))
+ return l;
+ return SCM_BOOL_F;
+}
+
Slice
int_list_to_slice (SCM l)
{