Treffer: Implementing functional languages on object-oriented virtual machines.

Title:
Implementing functional languages on object-oriented virtual machines.
Authors:
Source:
IEE Proceedings -- Software; Feb2004, Vol. 151 Issue 1, p1-9, 9p
Database:
Complementary Index

Weitere Informationen

Hosting functional languages in object-oriented environments, such as the Java Virtual Machine and Microsoft's Common Language Infrastructure, so that they inter-operate well with other languages presents a number of problems. In the paper the authors introduce Mondrian, a functional language specifically designed for such environments, and describe the decisions and trade-offs in its design. The paper concentrates on the high-level design decisions made for Mondrian. The authors cover the design of a type system which is part-way between the traditional parametric polymorphism and sum type models of functional languages and the sub-type models used by the virtual machines. Next they discuss how function values and nonstrict evaluation can be provided while supporting easy inter-working with strict object-oriented languages. They briefly comment on the low-level implementation of Mondrian and conclude with a multi-language example using Mondrian and C<sup>#</sup>. The work shows that, with appropriate design, it is possible to combine functional and object-oriented programming without losing the unique benefits of each. [ABSTRACT FROM AUTHOR]

Copyright of IEE Proceedings -- Software is the property of Institution of Engineering & Technology and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)