Abstract
Nous présentons une technique d'implémentation des langages de programmation fonctionnels fondée sur l'utilisation des Combinateurs Catégoriques. Contrairement à d'autres techniques d'implémentation utilisant des combinateurs, notre approche ne débouche pas sur une machine à réduction mais sur une machine de type Von Neumann dont les termes formés de combinateurs catégoriques sont en quelque sorte le code. Notre machine, que nous appelons Machine abstraite Catégorique (ou CAM par abréviation de la traduction anglaise) implémente de façon naturelle l'appel par valeur mais on peut y réaliser également et de manière très efficace des évaluations de type paresseux. Cet article donne une présentation renouvelée de la CAM par rapport à [CouCurMaul] et y ajoute des optimisations récentes [MauSua].
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
Bibliographie
N.G. De Bruijn, Lambda-calculus Notation with Nameless Dummies, a Tool for Automatic Formula Manipulation, Indag Math. 34, 381–392 (1972).
L. Cardelli, ML under Unix, Polymorphism, Vol. I,3 (Dec. 1983).
L. Cardelli, Compiling a Functional Language, Proc. ACM Conf. on Lisp and Functional Programming, Austin (1984).
G. Cousineau, P-L. Curien, M. Mauny, The Categorical Abstract Machine, Symposium on Functional Programming Languages and Computer Architecture, Nancy sept. 85, Lect. Notes in Comput. Sci. 201 (1985) (version longue à paraître dans Science of Computer Programming).
G. Cousineau, P-L. Curien, M. Mauny, The Categorical Abstract Machine (version longue). A paraître dans Sci. of Comput. Prog.
P-L. Curien, Categorical Combinatory Logic, ICALP 85, Nafplion, Lect. Notes in Comput. Sci. 194 (1985).
P-L. Curien, Typed Categorical Combinatory Logic, CAAP 85, Berlin, Lect. Notes in Comput. Sci. 185 (1985).
P-L. Curien, Categorical Combinators, Sequential Algorithms and Functional Programming, Research Notes in Theoretical Computer Science, Pitman (1986).
M. Gordon, R. Milner, C. Wadsworth, Edinburgh LCF, Lect. Notes in Comput. Sci. 78, (1979).
The ML Handbook, Inria technical report, (dec 84).
P. Henderson, Functional Programming: Application and Implementation, Prentice Hall International (1980).
R. Hindley, Combinators and Lambda-calculus, a Short Outline, dans ce volume.
G. Huet, Cartesian Closed Categories and Lambda-calculus, dans ce volume.
R.J.M. Hughes, Super Combinators: A New Implementation Method for Applicative Languages, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, Pittsburgh (1982).
P.J. Landin, The Mechanical Evaluation of Expressions, Computer Journal 6, 308–320 (1964).
M. Mauny, Compilation des langages fonctionnels dans les Combinateurs Catégoriques, Thèse de Troisième Cycle de l'Université Paris VII (sept 1985)
M. Mauny, A. Suárez, Implementing Functional Languages in the Categorical Abstract Machine, à paraître dans Proc. ACM Conf. on Lisp and Functional Programming (1986)
R. Milner, A proposal for Standard ML, Proc. ACM Conf. on Lisp and Functional Programming, Austin (1984).
S. Peyton-Jones, An Introduction to Fully-lazy Super Combinators, dans ce volume.
G.D. Plotkin, Call-by-name, Call-by-value and the λ-calculus, Theoret. Comput. Sci. 1, 125–159 (1975).
A. Suárez, Thèse en préparation.
D.A. Turner, A New Implementation Technique for Applicative Languages. Software Practice and Experience, Vol.9, 31–49 (1979).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1986 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cousineau, G., Curien, PL., Mauny, M., Suárez, A. (1986). Combinateurs Catégoriques et Implémentation des Langages Fonctionnels. In: Cousineau, G., Curien, PL., Robinet, B. (eds) Combinators and Functional Programming Languages. LITP 1985. Lecture Notes in Computer Science, vol 242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17184-3_41
Download citation
DOI: https://doi.org/10.1007/3-540-17184-3_41
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-17184-3
Online ISBN: 978-3-540-47253-7
eBook Packages: Springer Book Archive