A framework for interoperability

@article{Fisher2001AFF,
  title={A framework for interoperability},
  author={Kathleen Fisher and Riccardo Pucella and J. Reppy},
  journal={Electron. Notes Theor. Comput. Sci.},
  year={2001},
  volume={59},
  pages={3-19}
}
Abstract Practical implementations of high-level languages must provide access to libraries and system services that have APIs specified in a low-level language (usually C). An important characteristic of such mechanisms is the foreign-interface policy that defines how to bridge the semantic gap between the high-level language and C. For example, IDL-based tools generate code to marshal data into and out of the high-level representation according to user annotations. The design space of foreign… Expand
Application-specific foreign-interface generation
TLDR
A FI generation tool, called FIG (for Foreign Interface Generator) that embodies a new approach to the problem of generating foreign interfaces for high-level languages that allows the user to tailor the resulting FI to his or her application. Expand
Operational semantics for multi-language programs
TLDR
This paper abstracts away the low-level details of interoperability like garbage collection and representation coherence, and lets us focus on semantic properties like type-safety and observable equivalence, which sheds light on real multi-language systems and tools such as the JNI, SWIG, and Haskell's stable pointers. Expand
Operational semantics for multi-language programs
TLDR
The technique abstracts away the low-level details of interoperability like garbage collection and representation coherence, and lets us focus on semantic properties like type-safety, equivalence, and termination behavior, which allows us to adapt standard theoretical techniques such as subject-reduction, logical relations, and operational equivalence for use on multi-language systems. Expand
Twig: a configurable domain-specific language
TLDR
Twig is a programming language that allows for domain-specific logic to be encoded alongside low-level functionality, based on a simple, formal calculus that is amenable to both human and machine reasoning. Expand
Dynamic Language Bindings for C Libraries with emphasis on their application to R
TLDR
A middleware architecture for scripting languages is discussed that provides for seamless dynamic scripting access to the C API of native libraries without the need for compilation of wrapper modules. Expand
Jeannie: granting java native interface developers their wishes
TLDR
Jeannie is presented, a new language design for integrating Java with C that eliminates verbose boiler-plate code, enables static error detection across the language boundary, and simplifies dynamic resource management. Expand
Compiler support for lightweight concurrency
TLDR
The IR’s continuations and thread manipulation primitives are described and illustrated with examples of various concurrency operations and an operational semantics is defined to specify the operations precisely and to provide a tool for reasoning about the correctness of implementations. Expand
Safe Java Native Interface
TLDR
A framework called Safe Java Native Interface (SafeJNI) is proposed that ensures type safety of heterogeneous programs that contain Java and C components and is implemented through a combination of static and dynamic checks on the C code. Expand
JNI Light: An Operational Model for the Core JNI
  • G. Tan
  • Computer Science
  • APLAS
  • 2010
TLDR
A formal operational model, JNI Light (JNIL hereafter), for a subset of a widely used FFI—the Java Native Interface (JNI). Expand
Strongly typed memory areas programming systems-level data structures in a functional language
TLDR
This paper describes how a Haskell-like language with facilities for working directly with low-level, memory-based data structures is extended by extending type system features that are wellknown and widely supported in existing Haskell implementations, including kinds, multiple parameter type classes, functional dependencies, and improvement. Expand
...
1
2
3
...

References

SHOWING 1-10 OF 22 REFERENCES
Domain specific embedded compilers
TLDR
This work sketches a general design pattern/or embedding client-server style services into Haskell using a domain specific embedded compiler for the server's source language, and applies this idea to implement Haskell/DB, adomain specific embdedded compiler that dynamically generates of SQL queries from monad comprehensions, which are then executed on an arbitrary ODBC database server. Expand
H/Direct: a binary foreign language interface for Haskell
TLDR
This work provides a relatively formal and precise definition of the mapping between Haskell and IDL, which allows Haskell to call both C and COM, and allows a Haskell component to be wrapped in a C or COM interface. Expand
No-Longer-Foreign: Teaching an ML compiler to speak C "natively"
TLDR
The core component of this work is an encoding of the almost 2 complete C type system in ML types, taking advantage of ML’s polymorphism, its type constructors, its abstraction mechanisms, and even functors. Expand
The design of a class mechanism for Moby
TLDR
This paper relies on a rich ML-style module system to provide features such as visibility control and parameterization, while providing a minimal class mechanism that includes only those features needed to support inheritance. Expand
A Portable and Optimizing Back End for the SML/NJ Compiler
TLDR
It is argued that porting the compiler to a new architecture requires substantially less effort than the existing abstract machine approach, and significant gains from preliminary architecture description driven optimizations are reported. Expand
Type extension through polymorphism
TLDR
A record data type can be extended by addition of more fields, which results in a type hierarchy that can be used in Ada and other languages with generic program units. Expand
Mostly-Copying Collection: A Viable Alternative to Conservative Mark-Sweep
TLDR
This work introduces a new collector, MCC, based on mostly-copying collection, and characterize the conditions that favor such a collector over a mark-sweep collector. Expand
The standard ML basis library
TLDR
This document explains the construction of a system programming environment and some of the techniques used to develop and manage systems programming tools. Expand
H
  • Reppy (eds.). The Standard ML Basis Library. Cambridge University Press, Cambridge, England,
  • 2001
...
1
2
3
...