Results 1 -
6 of
6
Adding Apples and Oranges
- In 4th Int. Symp. on Practical Aspects of Declarative Languages, LNCS 2257
, 2002
"... We define a unit system for end-user spreadsheets that is based on the concrete notion of units instead of the abstract concept of types. Units are derived from header information given by spreadsheets. ..."
Abstract
-
Cited by 45 (21 self)
- Add to MetaCart
We define a unit system for end-user spreadsheets that is based on the concrete notion of units instead of the abstract concept of types. Units are derived from header information given by spreadsheets.
Interactive Functional Objects in Clean
, 1997
"... . The functional programming language Clean has a high level I/O system (version 0.8) in which complex yet efficient interactive programs can be created. In this paper we present its successor (version 1.0), the object I/O system. We consider some of the design considerations that have influence ..."
Abstract
-
Cited by 21 (13 self)
- Add to MetaCart
. The functional programming language Clean has a high level I/O system (version 0.8) in which complex yet efficient interactive programs can be created. In this paper we present its successor (version 1.0), the object I/O system. We consider some of the design considerations that have influenced the design of the new I/O system greatly. Key issues are compositionality, orthogonality, and extensibility. Apart from design, the object I/O system improves on its predecessor by two major contributions: programmers can introduce polymorphic local state at every (collection of) user interface component(s) and programmers can create interactive processes in a flexible way. All interface components can communicate with each other by sharing state but also using powerful message passing primitives in both synchronous, asynchronous, and uni- or bi-directional way. Using the message passing mechanism remote procedure calling can be added easily. The result is an object oriented I/O...
Haxcel: A Spreadsheet Interface to Haskell
- Pages 206–222 of: 14th Int. Workshop on the Implementation of Functional Languages
, 2002
"... Abstract. The spreadsheet paradigm offers a fast interactive loop, where the effects of updates to definitions and data are immediately visible. This makes the paradigm attractive for program development, where redefinitions can be immediately tested and the results displayed. We have designed a sim ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. The spreadsheet paradigm offers a fast interactive loop, where the effects of updates to definitions and data are immediately visible. This makes the paradigm attractive for program development, where redefinitions can be immediately tested and the results displayed. We have designed a simple, compilerindependent spreadsheet interface to Haskell, where cells host Haskell definitions. Spreadsheets are also used for high-level array calculations. In order to meet that demand we have designed and implemented an extended array library for Haskell, which provides a number of typical array-language facilities. Together, the interface and the array library provide an interactive environment that can be used both for development of general Haskell code and for array-oriented spreadsheet calculations.
Object-Oriented Functional Spreadsheets
- Proc. 10th Glasgow Workshop on Functional Programming (GlaFP’97
, 1997
"... . The spreadsheet is one of the most successful computer applications. This popularity derives from an intuitive user interface which both closely mimics traditional bookkeeping and allows non-programmers to develop simple numerical applications. Unfortunately, the current user interface is frustrat ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. The spreadsheet is one of the most successful computer applications. This popularity derives from an intuitive user interface which both closely mimics traditional bookkeeping and allows non-programmers to develop simple numerical applications. Unfortunately, the current user interface is frustrating and limiting: we believe that the computational model can be simplified to improve usability for non-programmers, extended to provide additional functionality, redesigned to facilitate reuse (to improve performance and integrity), and embedded in an environment which supports a spreadsheet inheritance hierarchy. We propose a new spreadsheet paradigm which incorporates many functional programming features such as higher-order functions, a strong type system, curried partial applications, referential transparency and lazy evaluation. It also incorporates many object-oriented programming features such as a class hierarchy, inheritance, overloading, overriding, subsumption, and dynamic desp...
Tinte: developing a prototype for typesetting music in Clean - a case study
"... This paper describes the development of a typesetting program for music in the lazy functional programming language Clean. The system transforms a description of the music to be typeset in a dvi-file just like T E X does with mathematical formulae. The implementation makes heavy use of higher order ..."
Abstract
- Add to MetaCart
This paper describes the development of a typesetting program for music in the lazy functional programming language Clean. The system transforms a description of the music to be typeset in a dvi-file just like T E X does with mathematical formulae. The implementation makes heavy use of higher order functions. It has been implemented in just a few weeks and is able to typeset quite impressive examples. The system is easy to maintain and can be extended to typeset arbitrary complicated musical constructs. The paper can be considered as a status report of the implementation as well as a reference manual for the resulting system. 1 Introduction 1.1 Musical Typesetting As chemical or mathematical notation musical notation is a two-dimensional representation of information. The horizontal position represents a point of time relatively to other points, i.e. notes which are closer to the left are to be played before notes further to the right. The vertical position represents the pitch at wh...
Exchanging Sources Between Clean and Haskell A Double-Edged Front End for the Clean Compiler
"... The functional programming languages Clean and Haskell have been around for over two decades. Over time, both languages have developed a large body of useful libraries and come with interesting language features. It is our primary goal to benefit from each other’s evolutionary results by facilitatin ..."
Abstract
- Add to MetaCart
The functional programming languages Clean and Haskell have been around for over two decades. Over time, both languages have developed a large body of useful libraries and come with interesting language features. It is our primary goal to benefit from each other’s evolutionary results by facilitating the exchange of sources between Clean and Haskell and study the forthcoming interactions between their distinct languages features. This is achieved by using the existing Clean compiler as starting point, and implementing a double-edged front end for this compiler: it supports both standard Clean 2.1 and (currently a large part of) standard Haskell 98. Moreover, it allows both languages to seamlessly use many of each other’s language features that were alien to each other before. For instance, Haskell can now use uniqueness typing anywhere, and Clean can use newtypes efficiently. This has given birth to two new dialects of Clean and Haskell, dubbed Clean * and Haskell*. Additionally, measurements of the performance of the new compiler indicate that it is on par with the flagship Haskell compiler GHC.

