diff options
author | Andy Wingo <wingo@pobox.com> | 2010-05-07 23:12:34 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-05-07 23:14:00 +0200 |
commit | 384012a197ae388ad764234b20e2dbceb056b603 (patch) | |
tree | 04964b8557afa2b209edb62b6aed09420a5dce8d /libguile/memoize.h | |
parent | 2cd72a849f9fd6faa066861210844cc99b56949a (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.h | 15 |
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); |