Browse thread
Re: Recursion, exception and continuations
- Francis Dupont
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Francis Dupont <Francis.Dupont@i...> |
| Subject: | Re: Recursion, exception and continuations |
In your previous mail you wrote: [3] I appreciate the type system of CAML, but is a such system compatible with access to continuations, as it is possible to do in Scheme ? => I disagree Pierre Weis, the answer is yes and no because of the toplevel. Here is a short summary of the problem: a continuation is the functional abstraction of a context, ie for the context C[ ] the associated continuation is fun x -> C[x]. Obviously two types are involved in a context, the hole type and the embracing type but there is usually only one type in a continuation (the type of the hole/argument). 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! Regards Francis.Dupont@inria.fr 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).