105 |
#define SCM_EVALIM(x, env) (SCM_ILOCP (x) \ |
#define SCM_EVALIM(x, env) (SCM_ILOCP (x) \ |
106 |
? *scm_ilookup ((x), env) \ |
? *scm_ilookup ((x), env) \ |
107 |
: SCM_EVALIM2(x)) |
: SCM_EVALIM2(x)) |
|
#ifdef DEBUG_EXTENSIONS |
|
108 |
#define SCM_XEVAL(x, env) (SCM_IMP (x) \ |
#define SCM_XEVAL(x, env) (SCM_IMP (x) \ |
109 |
? SCM_EVALIM2(x) \ |
? SCM_EVALIM2(x) \ |
110 |
: (*scm_ceval_ptr) ((x), (env))) |
: (*scm_ceval_ptr) ((x), (env))) |
113 |
: (SCM_SYMBOLP (SCM_CAR (x)) \ |
: (SCM_SYMBOLP (SCM_CAR (x)) \ |
114 |
? *scm_lookupcar (x, env, 1) \ |
? *scm_lookupcar (x, env, 1) \ |
115 |
: (*scm_ceval_ptr) (SCM_CAR (x), env))) |
: (*scm_ceval_ptr) (SCM_CAR (x), env))) |
|
#else |
|
|
#define SCM_XEVAL(x, env) (SCM_IMP (x) \ |
|
|
? SCM_EVALIM2(x) \ |
|
|
: scm_ceval ((x), (env))) |
|
|
#define SCM_XEVALCAR(x, env) EVALCAR (x, env) |
|
|
#endif /* DEBUG_EXTENSIONS */ |
|
116 |
|
|
117 |
typedef SCM (*scm_t_trampoline_0) (SCM proc); |
typedef SCM (*scm_t_trampoline_0) (SCM proc); |
118 |
typedef SCM (*scm_t_trampoline_1) (SCM proc, SCM arg1); |
typedef SCM (*scm_t_trampoline_1) (SCM proc, SCM arg1); |