• Home
  • Search
  • Implementing functional languages on object-oriented virtual machines
  • Open Access IconOpen Access
  • Cite Icon1
  • https://doi.org/10.1049/ip-sen:20040320Copy DOI Icon

Implementing functional languages on object-oriented virtual machines

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

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#. The work shows that, with appropriate design, it is possible to combine functional and object-oriented programming without losing the unique benefits of each.

Similar Papers
  • Research Article
  • Citations17

Compiling scala for the Java virtual machine

  • Jan 01, 2005
  • Infoscience (Ecole Polytechnique Fédérale de Lausanne)
  • Michel Schinz
  • Research Article
  • Citations14

Should ML be Object-Oriented?

  • Jul 01, 2002
  • Formal Aspects of Computing
  • David Macqueen
  • Book Chapter
  • Citations1

Chapter Five - High-Level Language Virtual Machine Architecture

  • Jan 01, 2005
  • Virtual Machines
  • James E Smith +1
  • Supplementary Content

Co-Contextual Type Systems: Contextless Deductive Reasoning for Correct Incremental Type Checking

  • Mar 02, 2020
  • TUbilio (Technical University of Darmstadt)
  • Edlira Kuci
  • Conference Article
  • Citations2

CLI-based compilation flows for the C language

  • Jul 01, 2010
  • Erven Rohou +2
  • Conference Article
  • Citations6

Virtual class support at the virtual machine level

  • Oct 25, 2009
  • Anders Bach Nielsen +1
  • Book Chapter
  • Citations3

Typed object-oriented functional programming with late binding

  • Jan 01, 1996
  • Zhenyu Qian +1
  • Research Article
  • Citations6

Hardware/software co-design for virtual machines

  • Jan 01, 2005
  • IEE Proceedings - Computers and Digital Techniques
  • K.B Kent +2
  • Book Chapter
  • Citations15

Evaluating the Java Virtual Machine as a Target for Languages Other Than Java

  • Jan 01, 2000
  • K John Gough +1
  • Conference Article
  • Citations1

Developing a monadic type checker for an object-oriented language: an experience report

  • Oct 20, 2019
  • Elias Castegren +1
  • Research Article
  • Citations1

Generic programming with combinators and objects

  • Oct 01, 2021
  • Scientific and Technical Journal of Information Technologies, Mechanics and Optics
  • D.S Kosarev +1
  • Research Article
  • Citations33

Getting Started with Google App Engine and Clojure

  • Jul 01, 2010
  • IEEE Internet Computing
  • Aaron Bedra
  • Conference Article
  • Citations50

Don't get caught in the cold, warm-up your JVM: understand and eliminate JVM warm-up overhead in data-parallel systems

  • Nov 02, 2016
  • David Lion +5
  • Conference Article
  • Citations14

SJFuzz: Seed and Mutator Scheduling for JVM Fuzzing

  • Nov 30, 2023
  • Mingyuan Wu +7
  • Supplementary Content

Costrutti ed Applicazioni di Programmazione Generica in Linguaggi Object-Oriented

  • Apr 30, 2010
  • AMS Dottorato Institutional Doctoral Theses Repository (University of Bologna)
  • Maurizio Cimadamore
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.