diff options
author | Andy Wingo <wingo@pobox.com> | 2009-11-30 22:21:31 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-12-01 21:00:27 +0100 |
commit | 3149a5b60de3dc55c7349aba5bfb3ff28c594aef (patch) | |
tree | 8e3877d54f282ecf716843df479a70e4fb7b8ee1 /libguile/memoize.h | |
parent | c7a2a803bd0c3ca8860929d4700a46e104cf2643 (diff) | |
download | guile-3149a5b60de3dc55c7349aba5bfb3ff28c594aef.tar.gz |
add memoized expression accessors to scheme
* libguile/eval.c: Fix a comment.
(eval): Abstract out the variable memoization into a function,
scm_memoize_variable_access_x.
* libguile/memoize.c (memoized_tags): Fix a couple names.
(scm_memoize_variable_access_x): New internal function. Actually it's
public to Scheme, but we can't do much about that, because the new
evaluator will need it.
(scm_memoized_expression_typecode, scm_memoized_expression_data): New
accessors for memoized code, for Scheme.
(scm_memoized_typecode): Looks up the typecode for a symbol.
Diffstat (limited to 'libguile/memoize.h')
-rw-r--r-- | libguile/memoize.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libguile/memoize.h b/libguile/memoize.h index 5a96ef6bf..e033e67f3 100644 --- a/libguile/memoize.h +++ b/libguile/memoize.h @@ -92,6 +92,10 @@ enum SCM_INTERNAL SCM scm_memoize_expression (SCM exp); SCM_INTERNAL SCM scm_unmemoize_expression (SCM memoized); +SCM_INTERNAL SCM scm_memoized_expression_typecode (SCM memoized); +SCM_INTERNAL SCM scm_memoized_expression_data (SCM memoized); +SCM_INTERNAL SCM scm_memoized_typecode (SCM sym); +SCM_INTERNAL SCM scm_memoize_variable_access_x (SCM memoized, SCM module); SCM_API SCM scm_memoized_p (SCM obj); SCM_INTERNAL void scm_init_memoize (void); |