summaryrefslogtreecommitdiff
path: root/libguile/memoize.h
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2010-05-07 23:12:34 +0200
committerAndy Wingo <wingo@pobox.com>2010-05-07 23:14:00 +0200
commit384012a197ae388ad764234b20e2dbceb056b603 (patch)
tree04964b8557afa2b209edb62b6aed09420a5dce8d /libguile/memoize.h
parent2cd72a849f9fd6faa066861210844cc99b56949a (diff)
add memoize-begin, memoize-let, etc functions
* libguile/memoize.h: * libguile/memoize.c (scm_memoize_begin, scm_memoize_if, scm_memoize_lambda, scm_memoize_let, scm_memoize_quote, scm_memoize_define, scm_memoize_with_fluids, scm_memoize_call, scm_memoize_lexical_ref, scm_memoize_lexical_set, scm_memoize_toplevel_ref, scm_memoize_toplevel_set, scm_memoize_module_ref, scm_memoize_module_set): New functions, public to Scheme but private to C. For use by psyntax, in the future.
Diffstat (limited to 'libguile/memoize.h')
-rw-r--r--libguile/memoize.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/libguile/memoize.h b/libguile/memoize.h
index d4802a9ce..c04031e22 100644
--- a/libguile/memoize.h
+++ b/libguile/memoize.h
@@ -107,6 +107,21 @@ SCM_API SCM scm_memoized_p (SCM obj);
SCM_INTERNAL SCM scm_memoizer_p (SCM obj);
SCM_INTERNAL SCM scm_memoizer (SCM obj);
+SCM_INTERNAL SCM scm_memoize_begin (SCM exps);
+SCM_INTERNAL SCM scm_memoize_if (SCM test, SCM then, SCM else_);
+SCM_INTERNAL SCM scm_memoize_lambda (SCM nreq, SCM rest, SCM body);
+SCM_INTERNAL SCM scm_memoize_let (SCM inits, SCM body);
+SCM_INTERNAL SCM scm_memoize_quote (SCM exp);
+SCM_INTERNAL SCM scm_memoize_define (SCM var, SCM val);
+SCM_INTERNAL SCM scm_memoize_with_fluids (SCM fluids, SCM vals, SCM expr);
+SCM_INTERNAL SCM scm_memoize_call (SCM proc, SCM nargs, SCM args);
+SCM_INTERNAL SCM scm_memoize_lexical_ref (SCM n);
+SCM_INTERNAL SCM scm_memoize_lexical_set (SCM n, SCM val);
+SCM_INTERNAL SCM scm_memoize_toplevel_ref (SCM var);
+SCM_INTERNAL SCM scm_memoize_toplevel_set (SCM var, SCM val);
+SCM_INTERNAL SCM scm_memoize_module_ref (SCM mod, SCM var, SCM public);
+SCM_INTERNAL SCM scm_memoize_module_set (SCM val, SCM mod, SCM var, SCM public);
+
SCM_INTERNAL void scm_init_memoize (void);