summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_mem.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-12 15:25:51 -0800
committerKeith Packard <keithp@keithp.com>2017-12-12 15:25:51 -0800
commitd8c9024f3829dc3f241b16869f165f3ee01764f3 (patch)
treeee3038984838551412feeeee5e56c22afe83a99b /src/scheme/ao_scheme_mem.c
parenta15166c435f65cb36f487ec8e5a4ff558a7e0502 (diff)
altos/scheme: Support scheme subsetting via feature settings
This provides for the creation of smaller versions of the interpreter, leaving out options like floating point numbers and vectors. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_mem.c')
-rw-r--r--src/scheme/ao_scheme_mem.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/scheme/ao_scheme_mem.c b/src/scheme/ao_scheme_mem.c
index 45d4de98..292d0f9d 100644
--- a/src/scheme/ao_scheme_mem.c
+++ b/src/scheme/ao_scheme_mem.c
@@ -465,9 +465,15 @@ static const struct ao_scheme_type * const ao_scheme_types[AO_SCHEME_NUM_TYPE] =
[AO_SCHEME_LAMBDA] = &ao_scheme_lambda_type,
[AO_SCHEME_STACK] = &ao_scheme_stack_type,
[AO_SCHEME_BOOL] = &ao_scheme_bool_type,
+#ifdef AO_SCHEME_FEATURE_BIGINT
[AO_SCHEME_BIGINT] = &ao_scheme_bigint_type,
+#endif
+#ifdef AO_SCHEME_FEATURE_FLOAT
[AO_SCHEME_FLOAT] = &ao_scheme_float_type,
+#endif
+#ifdef AO_SCHEME_FEATURE_VECTOR
[AO_SCHEME_VECTOR] = &ao_scheme_vector_type,
+#endif
};
static int