summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/scheme/ao_scheme.h2
-rw-r--r--src/scheme/ao_scheme_builtin.c4
-rw-r--r--src/scheme/ao_scheme_cons.c10
-rw-r--r--src/scheme/ao_scheme_eval.c4
-rw-r--r--src/scheme/ao_scheme_make_const.c2
5 files changed, 10 insertions, 12 deletions
diff --git a/src/scheme/ao_scheme.h b/src/scheme/ao_scheme.h
index 5b31c623..b8e683fb 100644
--- a/src/scheme/ao_scheme.h
+++ b/src/scheme/ao_scheme.h
@@ -157,8 +157,6 @@ ao_scheme_is_const(ao_poly poly) {
#define AO_SCHEME_IS_CONST(a) (ao_scheme_const <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_scheme_const + AO_SCHEME_POOL_CONST)
#define AO_SCHEME_IS_POOL(a) (ao_scheme_pool <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_scheme_pool + AO_SCHEME_POOL)
-#define AO_SCHEME_IS_INT(p) (ao_scheme_poly_base_type(p) == AO_SCHEME_INT)
-#define AO_SCHEME_IS_CONS(p) (ao_scheme_poly_base_type(p) == AO_SCHEME_CONS)
void *
ao_scheme_ref(ao_poly poly);
diff --git a/src/scheme/ao_scheme_builtin.c b/src/scheme/ao_scheme_builtin.c
index f4dff5bf..84382434 100644
--- a/src/scheme/ao_scheme_builtin.c
+++ b/src/scheme/ao_scheme_builtin.c
@@ -856,7 +856,7 @@ ao_scheme_do_pairp(struct ao_scheme_cons *cons)
if (!ao_scheme_check_argc(_ao_scheme_atom_led, cons, 1, 1))
return AO_SCHEME_NIL;
v = ao_scheme_arg(cons, 0);
- if (v != AO_SCHEME_NIL && AO_SCHEME_IS_CONS(v))
+ if (ao_scheme_is_pair(v))
return _ao_scheme_bool_true;
return _ao_scheme_bool_false;
}
@@ -947,7 +947,7 @@ ao_scheme_do_listp(struct ao_scheme_cons *cons)
for (;;) {
if (v == AO_SCHEME_NIL)
return _ao_scheme_bool_true;
- if (!AO_SCHEME_IS_CONS(v))
+ if (!ao_scheme_is_cons(v))
return _ao_scheme_bool_false;
v = ao_scheme_poly_cons(v)->cdr;
}
diff --git a/src/scheme/ao_scheme_cons.c b/src/scheme/ao_scheme_cons.c
index d40c2826..1a2de823 100644
--- a/src/scheme/ao_scheme_cons.c
+++ b/src/scheme/ao_scheme_cons.c
@@ -24,7 +24,7 @@ static void cons_mark(void *addr)
ao_scheme_poly_mark(cons->car, 1);
if (!cdr)
break;
- if (!AO_SCHEME_IS_CONS(cdr)) {
+ if (!ao_scheme_is_cons(cdr)) {
ao_scheme_poly_mark(cdr, 0);
break;
}
@@ -58,7 +58,7 @@ static void cons_move(void *addr)
cdr = cons->cdr;
if (!cdr)
break;
- if (!AO_SCHEME_IS_CONS(cdr)) {
+ if (!ao_scheme_is_cons(cdr)) {
(void) ao_scheme_poly_move(&cons->cdr, 0);
break;
}
@@ -111,7 +111,7 @@ ao_scheme_cons_cdr(struct ao_scheme_cons *cons)
ao_poly cdr = cons->cdr;
if (cdr == AO_SCHEME_NIL)
return NULL;
- if (!AO_SCHEME_IS_CONS(cdr)) {
+ if (!ao_scheme_is_cons(cdr)) {
(void) ao_scheme_error(AO_SCHEME_INVALID, "improper cdr %v", cdr);
return NULL;
}
@@ -151,7 +151,7 @@ ao_scheme_cons_copy(struct ao_scheme_cons *cons)
tail->cdr = ao_scheme_cons_poly(new);
tail = new;
cdr = cons->cdr;
- if (!AO_SCHEME_IS_CONS(cdr)) {
+ if (!ao_scheme_is_cons(cdr)) {
tail->cdr = cdr;
break;
}
@@ -203,7 +203,7 @@ ao_scheme_cons_write(ao_poly c, bool write)
written++;
cdr = cons->cdr;
- if (!AO_SCHEME_IS_CONS(cdr)) {
+ if (!ao_scheme_is_cons(cdr)) {
printf(" . ");
ao_scheme_poly_write(cdr, write);
break;
diff --git a/src/scheme/ao_scheme_eval.c b/src/scheme/ao_scheme_eval.c
index edc16a73..91f6a84f 100644
--- a/src/scheme/ao_scheme_eval.c
+++ b/src/scheme/ao_scheme_eval.c
@@ -348,7 +348,7 @@ ao_scheme_eval_cond(void)
ao_scheme_stack->state = eval_val;
} else {
ao_scheme_v = ao_scheme_poly_cons(ao_scheme_stack->sexprs)->car;
- if (!ao_scheme_v || !AO_SCHEME_IS_CONS(ao_scheme_v)) {
+ if (!ao_scheme_is_pair(ao_scheme_v)) {
ao_scheme_error(AO_SCHEME_INVALID, "invalid cond clause");
return 0;
}
@@ -492,7 +492,7 @@ ao_scheme_eval_macro(void)
if (ao_scheme_v == AO_SCHEME_NIL)
ao_scheme_abort();
- if (AO_SCHEME_IS_CONS(ao_scheme_v)) {
+ if (ao_scheme_is_cons(ao_scheme_v)) {
*ao_scheme_poly_cons(ao_scheme_stack->sexprs) = *ao_scheme_poly_cons(ao_scheme_v);
ao_scheme_v = ao_scheme_stack->sexprs;
DBGI("sexprs rewritten to: "); DBG_POLY(ao_scheme_v); DBG("\n");
diff --git a/src/scheme/ao_scheme_make_const.c b/src/scheme/ao_scheme_make_const.c
index 79ba1bf1..e34792c4 100644
--- a/src/scheme/ao_scheme_make_const.c
+++ b/src/scheme/ao_scheme_make_const.c
@@ -220,7 +220,7 @@ ao_has_macro(ao_poly p)
list = cons->cdr;
p = AO_SCHEME_NIL;
- while (list != AO_SCHEME_NIL && AO_SCHEME_IS_CONS(list)) {
+ while (ao_scheme_is_pair(list)) {
cons = ao_scheme_poly_cons(list);
m = ao_has_macro(cons->car);
if (m) {