summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_lambda.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-19 11:33:36 -0800
committerKeith Packard <keithp@keithp.com>2017-12-19 11:33:36 -0800
commit431165e5fa72ba6dffd477de32960745cdec332c (patch)
treee27c174d5d6cea72caf92de3a4fe2c97e9249ddf /src/scheme/ao_scheme_lambda.c
parent5628b983497d9d03e10cccee157419210a49cfa9 (diff)
altos/scheme: Rework display/write code
Unify output functions and add bool to switch between write and display mode. Make that only affect strings (as per r⁷rs). Use print recursion detection in frame and stack code, eliminating PRINT flags in type field. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_lambda.c')
-rw-r--r--src/scheme/ao_scheme_lambda.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/scheme/ao_scheme_lambda.c b/src/scheme/ao_scheme_lambda.c
index be87f4d1..e8ce0710 100644
--- a/src/scheme/ao_scheme_lambda.c
+++ b/src/scheme/ao_scheme_lambda.c
@@ -50,7 +50,7 @@ const struct ao_scheme_type ao_scheme_lambda_type = {
};
void
-ao_scheme_lambda_write(ao_poly poly)
+ao_scheme_lambda_write(ao_poly poly, bool write)
{
struct ao_scheme_lambda *lambda = ao_scheme_poly_lambda(poly);
struct ao_scheme_cons *cons = ao_scheme_poly_cons(lambda->code);
@@ -59,7 +59,7 @@ ao_scheme_lambda_write(ao_poly poly)
printf("%s", ao_scheme_args_name(lambda->args));
while (cons) {
printf(" ");
- ao_scheme_poly_write(cons->car);
+ ao_scheme_poly_write(cons->car, write);
cons = ao_scheme_poly_cons(cons->cdr);
}
printf(")");