-SCM_VCELL_INIT (var_compute_applicable_methods, "compute-applicable-methods", scm_make_gsubr (s_sys_compute_applicable_methods, 2, 0, 0, scm_sys_compute_applicable_methods));
-
-SCM_SYNTAX (s_atslot_ref, "@slot-ref", scm_makmmacro, scm_m_atslot_ref);
-
-SCM
-scm_m_atslot_ref (SCM xorig, SCM env)
-{
- SCM x = SCM_CDR (xorig);
- SCM_ASSYNT (scm_ilength (x) == 2, xorig, scm_s_expression, s_atslot_ref);
- SCM_ASSYNT (SCM_INUMP (SCM_CADR (x)), SCM_CADR (x), SCM_ARG2, s_atslot_ref);
- return scm_cons (SCM_IM_SLOT_REF, x);
-}
-
-SCM_SYNTAX (s_atslot_set_x, "@slot-set!", scm_makmmacro, scm_m_atslot_set_x);
-
-SCM
-scm_m_atslot_set_x (SCM xorig, SCM env)
-{
- SCM x = SCM_CDR (xorig);
- SCM_ASSYNT (scm_ilength (x) == 3, xorig, scm_s_expression, s_atslot_set_x);
- SCM_ASSYNT (SCM_INUMP (SCM_CADR (x)), SCM_CADR (x), SCM_ARG2, s_atslot_set_x);
- return scm_cons (SCM_IM_SLOT_SET_X, x);
-}
-
-SCM_SYNTAX (s_atdispatch, "@dispatch", scm_makmmacro, scm_m_atdispatch);
-
-SCM_SYMBOL (sym_atdispatch, s_atdispatch);
-
-SCM
-scm_m_atdispatch (SCM xorig, SCM env)
-#define FUNC_NAME s_atdispatch
-{
- SCM args, n, v, gf, x = SCM_CDR (xorig);
- SCM_ASSYNT (scm_ilength (x) == 4, xorig, scm_s_expression, s_atdispatch);
- args = SCM_CAR (x);
- SCM_ASSYNT (SCM_CONSP (args) || SCM_SYMBOLP (args),
- args, SCM_ARG1, s_atdispatch);
- x = SCM_CDR (x);
- n = SCM_XEVALCAR (x, env);
- SCM_ASSYNT (SCM_INUMP (n), n, SCM_ARG2, s_atdispatch);
- SCM_ASSERT_RANGE (0, n, SCM_INUM (n) >= 1);
- x = SCM_CDR (x);
- v = SCM_XEVALCAR (x, env);
- SCM_ASSYNT (SCM_VECTORP (v), v, SCM_ARG3, s_atdispatch);
- x = SCM_CDR (x);
- gf = SCM_XEVALCAR (x, env);
- SCM_ASSYNT (SCM_PUREGENERICP (gf), gf, SCM_ARG4, s_atdispatch);
- return SCM_LIST5 (SCM_IM_DISPATCH, args, n, v, gf);
-}
-#undef FUNC_NAME
-