caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: STARYNKEVITCH Basile <Basile.Starynkevitch@cea.fr>
To: Joe Lisp <joelisp@yahoo.com>
Subject: callcc/cps-style programming
Date: Thu, 7 Dec 2000 09:31:46 +0100	[thread overview]
Message-ID: <14895.19186.716809.936261@gargle.gargle.HOWL> (raw)
In-Reply-To: <20001206201313.28498.qmail@web9203.mail.yahoo.com>

>>>>> "Joe" == Joe Lisp <joelisp@yahoo.com> writes:

    Joe> Is anyone working on callcc for OCaml?  

I am not working on it (although I would like to...) 

However, adding explicit continuations to Ocaml is an important task:

the naive approach -a la Appel 1989, like SML/NJ0.93- would be to
reify all continuations, ie to replace call frames by explicit
continuation closures. This means drastically changing both the
runtime (garbage collector) and the compiler system. Also, this would
slow down every OCaml application (probably by at least 10%) - but
call/cc would be rather fast (since in constant time)

another approach is to segment the call stack, and to copy the call
stack on each call/cc. This also require a GC change and probably some
(easier) compiler change. However, each call/cc would take a time
proportional to the call stack depth (which is copied). Calling a
continuation obtained by call/cc would also require copying a stack segment.

What I am missing more is the ability to dynamically load some
compiled functions (at least the Dynlink package implemented in the
native code ocamlopt, with ability to dynamically load native machine
code generated by ocamlopt; ideally I would even like to generate
garbage collected code on the fly and be able to call and marshall it)

Regards.

N.B. Any opinions expressed here are only mine, and not of my organization.
N.B. Les opinions exprimees ici me sont personnelles et n engagent pas le CEA.

---------------------------------------------------------------------
Basile STARYNKEVITCH   ----  Commissariat à l Energie Atomique 
DTA/LETI/DEIN/SLA * CEA/Saclay b.528 (p111f) * 91191 GIF/YVETTE CEDEX * France
phone: 1,69.08.60.55; fax: 1.69.08.83.95 home: 1,46.65.45.53
email: Basile point Starynkevitch at cea point fr 
web perso: http://perso.wanadoo.fr/starynkevitch/basile/



  reply	other threads:[~2000-12-08  8:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-06 20:13 Joe Lisp
2000-12-07  8:31 ` STARYNKEVITCH Basile [this message]
2000-12-09  3:58   ` eijiro_sumii
2000-12-09 18:48   ` Chet Murthy
2000-12-12 17:14     ` John Max Skaller
2000-12-08 10:50 ` Xavier Leroy
2000-12-13 13:44 Dave Berry
2000-12-13 16:36 ` Chet Murthy
2000-12-14 19:20   ` T. Kurt Bond
2000-12-15 13:31     ` Martin Berger
2000-12-15 18:37   ` Julian Assange
2000-12-15 23:10     ` Chet Murthy
2000-12-14 19:08 forsyth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=14895.19186.716809.936261@gargle.gargle.HOWL \
    --to=basile.starynkevitch@cea.fr \
    --cc=joelisp@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).