compile call/cc, yee ha
authorAndy Wingo <wingo@pobox.com>
Thu, 25 Sep 2008 09:07:54 +0000 (11:07 +0200)
committerAndy Wingo <wingo@pobox.com>
Thu, 25 Sep 2008 09:07:54 +0000 (11:07 +0200)
commit76282387eaaeccb2a3d307d9f4df9e423885aad2
tree5d8599d14ccddf6557e4998aeb45c80fe55627c1
parentf63ea2ce78dffa006825f4d360eb36a590dcef24
compile call/cc, yee ha

* libguile/vm-i-system.c (call, goto/args): Add a FIXME for handling the
  case in which a call to the interpreter returns a values object.
  (call/cc, goto/cc): Flesh out, and handle full continuations (with the
  C stack also).

* module/language/scheme/translate.scm (custom-transformer-table):
  Compile call-with-current-continuation. This is necessary so that the
  called procedure is called in tail position.

* module/system/il/compile.scm (codegen): Translate apply to goto/apply,
  call/cc to goto/cc, etc when in tail position.
libguile/vm-i-system.c
module/language/scheme/translate.scm
module/system/il/compile.scm