294 papers · page 14 of 15
Don Stewart, Manuel M. T. Chakravarty
Some Lisp programs such as Emacs, but also the Linux kernel (when fully modularised) are mostly dynamic; i.e., apart from a small static core, the significant functionality is dynamically loaded. In this paper, we explore fully dynamic applications in Haskell where the static cor…
Arthur I. Baars, S. Doaitse Swierstra
We present techniques for representing typed abstract syntax trees in the presence of observable recursive structures. The need for this arose from the desire to cope with left-recursion in combinator based parsers. The techniques employed can be used in a much wider setting howe…
Björn Bringert, Anders Höckersten, Conny Andersson, Martin Andersson, Mary Bergman, Victor Blomqvist, Torbjörn Martin
We present an improved version of the HaskellDB database library. The original version relied on TRex, a Haskell extension supported only by the Hugs interpreter. We have replaced the use of TRex by a record implementation which uses more commonly implemented Haskell extensions.A…
Conal Elliott
Graphics cards for personal computers have recently undergone a radical transformation from fixed-function graphics pipelines to multi-processor, programmable architectures. Multi-processor architectures are clearly advantageous for graphics for the simple reason that graphics co…
Markus Forsberg, Aarne Ranta
We will demonstrate BNFC (the BNF Converter) [7, 6], a multi-lingual compiler tool. BNFC takes as its input a grammar written in LBNF (Labelled BNF) notation, and generates a compiler front-end (an abstract syntax, a lexer, and a parser). Furthermore, it generates a case skeleton…
Oleg Kiselyov, Ralf Lämmel, Keean Schupke
A heterogeneous collection is a datatype that is capable of storing data of different types, while providing operations for look-up, update, iteration, and others. There are various kinds of heterogeneous collections, differing in representation, invariants, and access operations…
Oleg Kiselyov, Chung-chieh Shan
The configurations problem is to propagate run-time preferences throughout a program, allowing multiple concurrent configuration sets to coexist safely under statically guaranteed separation. This problem is common in all software systems, but particularly acute in Haskell, where…
Daan Leijen
wxHaskell is a graphical user interface (GUI) library for Haskell that is built on wxWidgets: a free industrial strength GUI library for C++ that has been ported to all major platforms, including Windows, Gtk, and MacOS X. In contrast with many other libraries, wxWidgets retains …
Simon Marlow, Simon L. Peyton Jones, Wolfgang Thaller
A Haskell system that includes both the Foreign Function Interface and the Concurrent Haskell extension must consider how Concurrent Haskell threads map to external Operating System threads for the purposes of specifying in which thread a foreign call is made.Many concurrent lang…
Conor McBride, James McKinna
In this paper, we show how to manipulate syntax with binding using a mixed representation of names for free variables (with respect to the task in hand) and de Bruijn indices [5] for bound variables. By doing so, we retain the advantages of both representations: naming supports e…
Matthias Neubauer, Peter Thiemann
No abstract available.
André T. H. Pang, Don Stewart, Sean Seefried, Manuel M. T. Chakravarty
Extension languages enable users to expand the functionality of an application without touching its source code. Commonly, these languages are dynamically typed languages, such as Lisp, Python, or domain-specific languages, which support runtime plugins via dynamic loading of com…
Peter J. Stuckey, Martin Sulzmann, Jeremy Wazny
All in-text\treferences\tunderlined\tin\tblue\tare\tlinked\tto\tpublications\ton\tResearchGate, letting you\taccess\tand\tread\tthem\timmediately.
Richard S. Bird, Ralf Hinze
than one incoming arc. Shared nodes are created in almost every functional program---for instance, when updating a purely functional data structure---though programmers are seldom aware of this. In fact, there are only a few algorithms that exploit sharing of nodes consciously. O…
Antony Courtney, Henrik Nilsson, John Peterson
Simulated worlds are a common (and highly lucrative) application domain that stretches from detailed simulation of physical systems to elaborate video game fantasies. We believe that Functional Reactive Programming (FRP) provides just the right level of functionality to develop s…
Robert Ennals, Simon L. Peyton Jones
Article Share on HsDebug: debugging lazy programs by not being lazy Authors: Robert Ennals University of Cambridge University of CambridgeView Profile , Simon Peyton Jones Microsoft Research Ltd, Cambridge Microsoft Research Ltd, CambridgeView Profile Authors Info & Claims Haskel…
Karl-Filip Faxén
This paper points out two problems which prevent Haskell from having principal types. For each problem, we discuss a program which exhibits it. The first problem has to do with type signatures and class constraints containing both generic and nongeneric type variables. The second…
Thomas Hallgren
Article Share on Haskell tools from the programatica project Author: Thomas Hallgren Oregon Health & Science University, Beaverton, OR Oregon Health & Science University, Beaverton, ORView Profile Authors Info & Claims Haskell '03: Proceedings of the 2003 ACM SIGPLAN workshop on …
Bastiaan Heeren, Daan Leijen, Arjan van IJzendoorn
Helium is a user-friendly compiler designed especially for learning the functional programming language Haskell. The quality of the error messages has been the main concern both in the choice of the language features and in the implementation of the compiler. Helium implements al…
Jerzy Karczmarczuk
We present a framework for representing quantum entities in Haskell. States and operators are functional objects, and their semantics is defined --- as far as possible --- independently of the base in the Hilbert space. We construct effectively the tensor states for composed syst…