comp.lang.ada
 help / color / mirror / Atom feed
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)

  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