remove the new scm_memoize_begin, etc
authorAndy Wingo <wingo@pobox.com>
Tue, 18 May 2010 20:30:58 +0000 (22:30 +0200)
committerAndy Wingo <wingo@pobox.com>
Tue, 18 May 2010 20:30:58 +0000 (22:30 +0200)
* libguile/memoize.h:
* libguile/memoize.c: Remove the recently-added scm_memoize_begin,
  scm_memoize_lambda, et al. We'll take a different tack.

libguile/memoize.c
libguile/memoize.h

index af52903..8cd80f1 100644 (file)
@@ -1350,171 +1350,6 @@ SCM_DEFINE (scm_memoizer, "memoizer", 1, 0, 0,
 
 \f
 
-#define SCM_VALIDATE_MEMOIZED_LIST(n, exps)                             \
-  {                                                                     \
-    SCM walk;                                                           \
-    for (walk = exps; scm_is_pair (walk); walk = scm_cdr (walk))        \
-      SCM_ASSERT (SCM_MEMOIZED_P (scm_car (walk)), exps, n, FUNC_NAME); \
-    SCM_ASSERT (scm_is_null (walk), exps, n, FUNC_NAME);                \
-  }
-
-SCM_DEFINE (scm_memoize_begin, "memoize-begin", 1, 0, 0,
-            (SCM exps), "")
-#define FUNC_NAME s_scm_memoize_begin
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, exps);
-  return MAKMEMO_BEGIN (exps);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_if, "memoize-if", 3, 0, 0,
-            (SCM test, SCM then, SCM else_), "")
-#define FUNC_NAME s_scm_memoize_if
-{
-  SCM_VALIDATE_MEMOIZED (1, test);
-  SCM_VALIDATE_MEMOIZED (2, then);
-  SCM_VALIDATE_MEMOIZED (3, else_);
-  return MAKMEMO_IF (test, then, else_);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lambda, "memoize-lambda", 3, 4, 0,
-            (SCM body, SCM nreq, SCM rest, SCM nopt, SCM kw, SCM inits, SCM alt), "")
-#define FUNC_NAME s_scm_memoize_lambda
-{
-  SCM_VALIDATE_MEMOIZED (1, body);
-  if (SCM_UNBNDP (nopt))
-    {
-      if (scm_is_true (rest))
-        return MAKMEMO_LAMBDA (body, FIXED_ARITY (scm_to_uint16 (nreq)));
-      else
-        MAKMEMO_LAMBDA (body, REST_ARITY (scm_to_uint16 (nreq), rest));
-    }
-  if (SCM_UNBNDP (kw))
-    kw = SCM_BOOL_F;
-  if (SCM_UNBNDP (inits))
-    inits = SCM_EOL;
-  if (SCM_UNBNDP (alt))
-    alt = SCM_BOOL_F;
-  else
-    SCM_VALIDATE_MEMOIZED (7, alt);
-  return MAKMEMO_LAMBDA (body,
-                         FULL_ARITY (scm_to_uint16 (nreq), rest,
-                                     scm_to_uint16 (nopt), kw, inits, alt));
-  
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_let, "memoize-let", 2, 0, 0,
-            (SCM inits, SCM body), "")
-#define FUNC_NAME s_scm_memoize_let
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, inits);
-  SCM_VALIDATE_MEMOIZED (2, body);
-  return MAKMEMO_LET (inits, body);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_quote, "memoize-quote", 1, 0, 0,
-            (SCM exp), "")
-#define FUNC_NAME s_scm_memoize_quote
-{
-  return MAKMEMO_QUOTE (exp);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_define, "memoize-define", 2, 0, 0,
-            (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_define
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  SCM_VALIDATE_MEMOIZED (2, val);
-  return MAKMEMO_DEFINE (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_with_fluids, "memoize-with-fluids", 3, 0, 0,
-            (SCM fluids, SCM vals, SCM expr), "")
-#define FUNC_NAME s_scm_memoize_with_fluids
-{
-  SCM_VALIDATE_MEMOIZED_LIST (1, fluids);
-  SCM_VALIDATE_MEMOIZED_LIST (2, vals);
-  SCM_ASSERT (scm_ilength (fluids) == scm_ilength (vals), vals, 2, FUNC_NAME);
-  SCM_VALIDATE_MEMOIZED (3, expr);
-  return MAKMEMO_WITH_FLUIDS (fluids, vals, expr);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_call, "memoize-call", 3, 0, 0,
-            (SCM proc, SCM nargs, SCM args), "")
-#define FUNC_NAME s_scm_memoize_call
-{
-  SCM_VALIDATE_MEMOIZED (1, proc);
-  SCM_VALIDATE_MEMOIZED_LIST (3, args);
-  return MAKMEMO_CALL (proc, scm_to_uint16 (nargs), args);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_ref, "memoize-lexical-ref", 1, 0, 0,
-            (SCM n), "")
-#define FUNC_NAME s_scm_memoize_lexical_ref
-{
-  return MAKMEMO_LEX_REF (scm_to_uint16 (n));
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_lexical_set, "memoize-lexical-set!", 2, 0, 0,
-            (SCM n, SCM val), "")
-#define FUNC_NAME s_scm_memoize_lexical_set
-{
-  SCM_VALIDATE_MEMOIZED (1, val);
-  return MAKMEMO_LEX_SET (n, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_ref, "memoize-toplevel-ref", 1, 0, 0,
-            (SCM var), "")
-#define FUNC_NAME s_scm_memoize_toplevel_ref
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  return MAKMEMO_TOP_REF (var);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_toplevel_set, "memoize-toplevel-set!", 2, 0, 0,
-            (SCM var, SCM val), "")
-#define FUNC_NAME s_scm_memoize_toplevel_set
-{
-  SCM_VALIDATE_SYMBOL (1, var);
-  SCM_VALIDATE_MEMOIZED (2, val);
-  return MAKMEMO_TOP_SET (var, val);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_ref, "memoize-module-ref", 3, 0, 0,
-            (SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_ref
-{
-  SCM_VALIDATE_SYMBOL (2, var);
-  SCM_VALIDATE_BOOL (3, public);
-  return MAKMEMO_MOD_REF (mod, var, public);
-}
-#undef FUNC_NAME
-
-SCM_DEFINE (scm_memoize_module_set, "memoize-module-set!", 4, 0, 0,
-            (SCM val, SCM mod, SCM var, SCM public), "")
-#define FUNC_NAME s_scm_memoize_module_set
-{
-  SCM_VALIDATE_MEMOIZED (1, val);
-  SCM_VALIDATE_SYMBOL (3, var);
-  SCM_VALIDATE_BOOL (4, public);
-  return MAKMEMO_MOD_SET (val, mod, var, public);
-}
-#undef FUNC_NAME
-
-
-\f
-
 SCM_SYMBOL (sym_placeholder, "_");
 
 static SCM unmemoize (SCM expr);
index a3c8b2b..d4802a9 100644 (file)
@@ -107,22 +107,6 @@ 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 body, SCM nreq, SCM rest, SCM nopt,
-                                     SCM kw, SCM inits, SCM alt);
-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);