altos/scheme: AO_SCHEME_IS_CONS -> ao_scheme_is_cons
authorKeith Packard <keithp@keithp.com>
Tue, 19 Dec 2017 19:51:33 +0000 (11:51 -0800)
committerKeith Packard <keithp@keithp.com>
Tue, 19 Dec 2017 19:51:33 +0000 (11:51 -0800)
This inline was already defined; just use it. Also, switch some places
to use ao_scheme_is_pair instead as appropriate.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/scheme/ao_scheme.h
src/scheme/ao_scheme_builtin.c
src/scheme/ao_scheme_cons.c
src/scheme/ao_scheme_eval.c
src/scheme/ao_scheme_make_const.c

index 5b31c62312fa1884ded8455bc3047a6a54668899..b8e683fb0c83acd5a8e0744f3f2dc50b1ca48f8f 100644 (file)
@@ -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);
index f4dff5bf2a6622589a09650d232c6c60204186f7..8438243412ac7fb4483171c56e8c066f585dd015 100644 (file)
@@ -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;
        }
index d40c2826d837d1c9e66152fa1b194d2f960658bf..1a2de8233ffa19b98e3221dd69ff66ea5d0c06d8 100644 (file)
@@ -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;
index edc16a7361e86f8527ff9f15e86af20bc1f618cc..91f6a84f9104869597e20448c2bbe285fbce6e31 100644 (file)
@@ -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");
index 79ba1bf19ba8aef9b15c65819ecac8021df43634..e34792c400c82ef15db87c52382b71167701bc62 100644 (file)
@@ -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) {