From: Didier.Remy@inria.fr (Didier Remy)
To: Francis.Dupont@inria.fr (Francis Dupont)
Cc: tarizzo@worldnet.fr, caml-list@pauillac.inria.fr
Subject: Re: Recursion, exception and continuations
Date: Mon, 11 Mar 1996 14:42:06 +0100 (MET) [thread overview]
Message-ID: <199603111342.OAA16848@pauillac.inria.fr> (raw)
In-Reply-To: <199603111145.MAA27609@givry.inria.fr> from "Francis Dupont" at Mar 11, 96 12:45:23 pm
> It doesn't matter if the continuation is used in a program or in
> *one* toplevel statement, but there is a problem if a toplevel statement
> produces a continuation used in an other toplevel statement: the type
> system can be broken or the extend of the continuation must be
> constrained... See SML of New Jersey for correction attempts!
These problems have been studied in [1]. The conclusion was that
typechecking continuations is not a problem, even in the presence of a
toplevel, provided the right approach is taken.
We also found very few good example of uses of continuations, aside the
implementation of corountines. But this application of continuations is now
subsumed by threads in caml special light.
> PS: some continuation constructs have been proposed with different
> scope, extend and typing rules and without the toplevel problem,
> but there are not the Scheme callcc operator. Some of them can be
> expansed in a CPS program of rather the same size (read papers
> by Olivier Danvy & all).
The zoology of continuation operators is also studied in [1] in the
presence of a strongly typed system.
-Didier Remy.
[1] ftp.inria.fr:INRIA/Projects/cristal/Didier.Remy/prompt.dvi.Z
Carl A. Gunter, Didier Rémy, Jon G. Riecke. "A Generalization of
Exceptions and Control in ML". LFP'95, January 1995.
We add functional continuations and prompts to a language with an
ML-style type system. The operators significantly extend and
simplify the control operators in SML/NJ, and can be themselves
used to implement (simple) exceptions. We prove that well-typed
terms never produce run-time type errors and give a module for
implementing them in the latest version of SML/NJ.
(The code of the appendix is avalaible <A HREF="ftp://ftp.inria.fr/INRIA/Projects/cristal/Didier.Remy/prompt.sml">here</A>)
prev parent reply other threads:[~1996-03-11 14:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-03-09 16:02 Tarizzo Martial
1996-03-11 11:07 ` Pierre Weis
1996-03-11 11:45 ` Francis Dupont
1996-03-11 13:42 ` Didier Remy [this message]
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=199603111342.OAA16848@pauillac.inria.fr \
--to=didier.remy@inria.fr \
--cc=Francis.Dupont@inria.fr \
--cc=caml-list@pauillac.inria.fr \
--cc=tarizzo@worldnet.fr \
/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