summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_bool.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-01-06 17:29:10 -0800
committerKeith Packard <keithp@keithp.com>2018-01-06 17:31:43 -0800
commit16061947d4376b41e596d87f97ec53ec29d17644 (patch)
treef7ad08f8810b0ea78cf282048eacb46d441a2ee1 /src/scheme/ao_scheme_bool.c
parent39df849f0717d92a7d5bdf8aa5904bd4db1b467f (diff)
altos/scheme: Add ports. Split scheme code up.
And lots of other changes, including freeing unreferenced atoms. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_bool.c')
-rw-r--r--src/scheme/ao_scheme_bool.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/scheme/ao_scheme_bool.c b/src/scheme/ao_scheme_bool.c
index 88970667..05109fb9 100644
--- a/src/scheme/ao_scheme_bool.c
+++ b/src/scheme/ao_scheme_bool.c
@@ -38,15 +38,21 @@ const struct ao_scheme_type ao_scheme_bool_type = {
};
void
-ao_scheme_bool_write(ao_poly v, bool write)
+ao_scheme_bool_write(FILE *out, ao_poly v, bool write)
{
struct ao_scheme_bool *b = ao_scheme_poly_bool(v);
(void) write;
if (b->value)
- printf("#t");
+ fprintf(out, "#t");
else
- printf("#f");
+ fprintf(out, "#f");
+}
+
+ao_poly
+ao_scheme_do_booleanp(struct ao_scheme_cons *cons)
+{
+ return ao_scheme_do_typep(_ao_scheme_atom_boolean3f, AO_SCHEME_BOOL, cons);
}
#ifdef AO_SCHEME_MAKE_CONST