Results 1 -
6 of
6
Parallel and Distributed Haskells
, 2002
"... Parallel and distributed languages specify computations on multiple processors and have a computation language to describe the algorithm, i.e. what to compute, and a coordination language to describe how to organise the computations across the processors. Haskell has been used as the computation lan ..."
Abstract
-
Cited by 26 (4 self)
- Add to MetaCart
Parallel and distributed languages specify computations on multiple processors and have a computation language to describe the algorithm, i.e. what to compute, and a coordination language to describe how to organise the computations across the processors. Haskell has been used as the computation language for a wide variety of parallel and distributed languages, and this paper is a comprehensive survey of implemented languages. We outline parallel and distributed language concepts and classify Haskell extensions using them. Similar example programs are used to illustrate and contrast the coordination languages, and the comparison is facilitated by the common computation language. A lazy language is not an obvious choice for parallel or distributed computation, and we address the question of why Haskell is a common functional computation language.
Implementation of Lazy Agents in the Functional Language EBG
, 1999
"... EBG is a lazy functional programming language that compiles to the Java Virtual Machine Language. The aims of EBG are to provide the benefits of both FP and Java. This paper describes the design and implementation of agents in EBG that provides an interface to the underlying multi-processing fac ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
EBG is a lazy functional programming language that compiles to the Java Virtual Machine Language. The aims of EBG are to provide the benefits of both FP and Java. This paper describes the design and implementation of agents in EBG that provides an interface to the underlying multi-processing facilities of Java. 1 Introduction EBG [Cla99a] is a higher-order lazy functional programming language that compiles to the Java Virtual Machine [Ven98]. EBG aims to provide all of the advantages of FP including pattern matching, first class functions and automatic type checking [Fie89], in addition to the advantages of Java [Arn98] including portability, multi-processing, networking and graphical user interfaces. This paper describes the design and implementation of agents in EBG. Agents provide an EBG-level interface to the multi-processing facilities of Java and are a step on the path to a longer term goal of providing programming facilities for functional multi-agent systems [Jen98]. Age...
unknown title
, 2002
"... Abstract This thesis describes a standalone backend for the Glasgow Haskell compiler, targeting the Java virtual machine. The backend generates Java source files, which are then compiled to Java bytecode by a conventional Java compiler. The interface between the front end and backend is via the Spin ..."
Abstract
- Add to MetaCart
Abstract This thesis describes a standalone backend for the Glasgow Haskell compiler, targeting the Java virtual machine. The backend generates Java source files, which are then compiled to Java bytecode by a conventional Java compiler. The interface between the front end and backend is via the Spineless Tagless G machine intermediate language. A key concern is to map the features of the Spineless Tagless G machine efficiently to the Java virtual machine, and to cover in depth the variety of approaches have been made in this respect. Contents 1 Introduction 1 2 Background 4
A Mobile Functional Object Code
, 1998
"... This paper introduces a monadic object code for functional languages that allows an architecture independent, compact representation of program modules; it includes support for distributed applications by featuring a light-weight thread model and asymmetric communication. It proposes to offset ineff ..."
Abstract
- Add to MetaCart
This paper introduces a monadic object code for functional languages that allows an architecture independent, compact representation of program modules; it includes support for distributed applications by featuring a light-weight thread model and asymmetric communication. It proposes to offset inefficiencies introduced by the architecture independence by specialising and optimizing the code before or during execution. The proposal is substantially different from classical bytecode in both the structure of the language, as it is a strongly-typed functional language encapsulating side-effects in monadic form, and the representation of the code, as it is a bit-aligned structurally, compressed code designed for runtime code-generation, not for interpretation.
Adding Functional Programming into the Holo Language
, 2001
"... Holo is a new multiparadigm language for the development of distributed systems. This language is based on concepts of concurrency, blackboards and mobility. Besides that, Holo integrates aspects of logic, imperative and object oriented paradigms. This paper presents some ideas on how we can add fun ..."
Abstract
- Add to MetaCart
Holo is a new multiparadigm language for the development of distributed systems. This language is based on concepts of concurrency, blackboards and mobility. Besides that, Holo integrates aspects of logic, imperative and object oriented paradigms. This paper presents some ideas on how we can add functional programming into the Holo Language and how HoloJava, a compiler that translates Holo into Java, can be modi ed in order to support functional programming.
Functional Beans
, 2000
"... This paper presents ours rst experiences in building software components in lazy functional languages, by construing functional programs as JavaBeans components. First we show how we have implemented a graph reduction machine, the G-Machine, on top of the JVM. Then, using a compiler for a small ..."
Abstract
- Add to MetaCart
This paper presents ours rst experiences in building software components in lazy functional languages, by construing functional programs as JavaBeans components. First we show how we have implemented a graph reduction machine, the G-Machine, on top of the JVM. Then, using a compiler for a small functional language to G-Code instructions, we show how to get JavaBeans components from functional programs. KEYWORDS: Implementation of Functional Languages, Software Components and Java. 1

