1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 11:40:20 +02:00
guile/module/language
Andy Wingo 1773bc7dd5 Remove @prompt memoizer
* libguile/memoize.h:
* libguile/memoize.c (MAKMEMO_CALL_WITH_PROMPT, memoize, unmemoize):
  Remove the @prompt memoizer in favor of recognizing call-with-prompt
  primcalls.  Rename SCM_M_PROMPT to SCM_M_CALL_WITH_PROMPT, and pass a
  thunk instead of an expression so that it has normal applicative
  order.

* libguile/expand.c (PRIMITIVE_REF, PRIMCALL, expand): Produce primcalls
  from forms whose car is a primitive.
  (expand_atat): Recognize (@@ primitive FOO) as being a primitive-ref.

* module/ice-9/boot-9.scm (call-with-prompt): Instead of dispatching to
  the wonky @prompt memoizer, residualize a primcall to
  call-with-prompt.  The memoizer will DTRT to allow call-with-prompt to
  be interpreted correctly without needing an additional binding.

* module/ice-9/eval.scm (primitive-eval): Change the 'prompt clause to a
  call to call-with-prompt.

* module/language/tree-il/primitives.scm: No more need to recognize
  @prompt.

* libguile/eval.c (eval): Adapt to SCM_M_PROMPT renaming to
  SCM_M_CALL_WITH_PROMPT, and apply the thunk.

* libguile/throw.c (pre_init_throw): Adapt to scm_abort_to_prompt_star
  rename.
2013-06-27 11:31:21 +02:00
..
assembly Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
brainfuck rename <application> to <call> 2011-06-02 13:42:55 +02:00
bytecode Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
ecmascript Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
elisp length's argument is a sequence 2012-04-01 15:59:42 -04:00
glil remove language/glil/decompile-assembly.scm 2013-02-24 15:50:09 +01:00
objcode linker string tables are stateful objects 2013-06-09 16:04:12 +02:00
scheme Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
tree-il Remove @prompt memoizer 2013-06-27 11:31:21 +02:00
value Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00
assembly.scm silly "optimization" in (language assembly) 2011-05-05 11:43:12 +02:00
glil.scm prompt handlers are always inline 2010-02-19 15:30:34 +01:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm <dynwind> no longer has "pre" or "post" fields 2013-06-16 16:51:28 +02:00