projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/scheme: Rework display/write code
[fw/altos]
/
src
/
scheme
/
ao_scheme_builtin.c
diff --git
a/src/scheme/ao_scheme_builtin.c
b/src/scheme/ao_scheme_builtin.c
index 9a823f6ab917812c80d27143b73c7c2f19bcfb62..221570c777ea5db268d2d55be0c340d844b7af20 100644
(file)
--- a/
src/scheme/ao_scheme_builtin.c
+++ b/
src/scheme/ao_scheme_builtin.c
@@
-84,9
+84,10
@@
ao_scheme_args_name(uint8_t args)
#endif
void
#endif
void
-ao_scheme_builtin_write(ao_poly b)
+ao_scheme_builtin_write(ao_poly b
, bool write
)
{
struct ao_scheme_builtin *builtin = ao_scheme_poly_builtin(b);
{
struct ao_scheme_builtin *builtin = ao_scheme_poly_builtin(b);
+ (void) write;
printf("%s", ao_scheme_builtin_name(builtin->func));
}
printf("%s", ao_scheme_builtin_name(builtin->func));
}
@@
-287,7
+288,7
@@
ao_scheme_do_write(struct ao_scheme_cons *cons)
ao_poly val = AO_SCHEME_NIL;
while (cons) {
val = cons->car;
ao_poly val = AO_SCHEME_NIL;
while (cons) {
val = cons->car;
- ao_scheme_poly_write(val);
+ ao_scheme_poly_write(val
, true
);
cons = ao_scheme_cons_cdr(cons);
if (cons)
printf(" ");
cons = ao_scheme_cons_cdr(cons);
if (cons)
printf(" ");
@@
-301,7
+302,7
@@
ao_scheme_do_display(struct ao_scheme_cons *cons)
ao_poly val = AO_SCHEME_NIL;
while (cons) {
val = cons->car;
ao_poly val = AO_SCHEME_NIL;
while (cons) {
val = cons->car;
- ao_scheme_poly_
display(val
);
+ ao_scheme_poly_
write(val, false
);
cons = ao_scheme_cons_cdr(cons);
}
return _ao_scheme_bool_true;
cons = ao_scheme_cons_cdr(cons);
}
return _ao_scheme_bool_true;
@@
-855,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 (!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_poly_type(v) == AO_SCHEME_CONS
)
+ if (v != AO_SCHEME_NIL &&
AO_SCHEME_IS_CONS(v)
)
return _ao_scheme_bool_true;
return _ao_scheme_bool_false;
}
return _ao_scheme_bool_true;
return _ao_scheme_bool_false;
}
@@
-946,7
+947,7
@@
ao_scheme_do_listp(struct ao_scheme_cons *cons)
for (;;) {
if (v == AO_SCHEME_NIL)
return _ao_scheme_bool_true;
for (;;) {
if (v == AO_SCHEME_NIL)
return _ao_scheme_bool_true;
- if (
ao_scheme_poly_type(v) != AO_SCHEME_CONS
)
+ if (
!AO_SCHEME_IS_CONS(v)
)
return _ao_scheme_bool_false;
v = ao_scheme_poly_cons(v)->cdr;
}
return _ao_scheme_bool_false;
v = ao_scheme_poly_cons(v)->cdr;
}