From: jouvelot@mit-vax.LCS.MIT.EDU (Pierre Jouvelot)
Subject: Re: First Class Routines [Long again]
Date: 12 Mar 89 19:04:00 GMT [thread overview]
Message-ID: <5773@mit-vax.LCS.MIT.EDU> (raw)
In-Reply-To: 118@eiffel.UUCP
In article <118@eiffel.UUCP> bertrand@eiffel.UUCP (Bertrand Meyer) writes:
> One way to summarize this discussion is to say that I do not know of any
>good way to reconcile the following three language traits:
>
> 1. Routine arguments (in the above sense, i.e. routine arguments to
> routines).
> 2. Static type checking.
> 3. A language design that makes it possible to have separate
> compilation of modules.
These points are addressed in the design of the FX-87 programming
language (Gifford. D. K., Jouvelot, P., Lucassen, J. M. and Sheldon,
M. A. "The FX-87 Reference Manual". MIT/LCS/TR-407, September 1987 and
Gifford, D. K., and Lucassen, J. M. "Polymorphic Effect Systems". In
Proceedings of ACM POPL Conference, January 1988):
. FX-87 allows first-class higher-order functions (point 1).
. FX-87 is statically type-checked. Its type system has the power of
the second-order polymorphic lambda-calculus. It uses an effect
system to determine, at compile-time, the side-effects potentially
performed by the evaluation of expressions, thus allowing "safe
polymorphism" in the presence of mutation (point 2).
. FX-87 allows separate compilation. Modules can be
simulated by polymorphic functions that are abstracted over the
abstract type T and the signature (the type of records of functions)
of T (point 3).
A prototype version of FX-87 (Jouvelot, P., and Gifford, D. K. "The
FX-87 Interpreter". In Proceedings of the 2nd Int. Conf. on Comp.
Lang. IEEE, October 1988) written in Scheme and running under
CommonLISP is available on request at fx-request@brokaw.lcs.mit.edu.
The current redesign of FX will improve the third point by introducing
first-class explicit modules (seen as a variety of existential types)
and type inference while preserving the other aspects of FX-87.
J'espere que cette information sera utile,
Pierre
--
Pierre Jouvelot
. CAI, Ecole des Mines de Paris, France (JOUVELOT@FREMP11.bitnet)
. LCS, MIT, Cambridge (JOUVELOT@BROKAW.LCS.MIT.EDU)
next prev parent reply other threads:[~1989-03-12 19:04 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <114@eiffel.UUCP>
[not found] ` <112@eiffel.UUCP>
[not found] ` <1297@wasatch.UUCP>
1989-03-12 7:30 ` First Class Routines [Long again] Bertrand Meyer
1989-03-12 19:04 ` Pierre Jouvelot [this message]
1989-03-14 1:12 ` G. Ewing
1989-03-14 18:44 ` First Class Routines [Not long this time] Dave Berry
1989-03-16 19:30 ` First Class Routines [Long again] Henk Cazemier
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox