7,482 papers · page 283 of 375
Abbas Edalat, Peter John Potts, Philipp Sünderhauf
We provide a semantical framework for exact real arithmetic using linear fractional transformations on the extended real line. We present an extension of PCF with a real type which introduces an eventually breadth-first strategy for lazy evaluation of exact real numbers. In this …
Robert Ennals
No abstract available.
Robert Ennals
No abstract available.
Yan-David Erlich
No abstract available.
Claudia Faggian
No abstract available.
Robert Bruce Findler, Matthew Flatt
Module and class systems have evolved to meet the demand for reuseable software components. Considerable effort has been invested in developing new module and class systems, and in demonstrating how each promotes code reuse. However, relatively little has been said about the inte…
Sigbjørn Finne, Daan Leijen, Erik Meijer, Simon L. Peyton Jones
H/Direct is a foreign-language interface for the purely functional language Haskell. Rather than rely on host-language type signatures, H/Direct compiles Interface Definition Language (IDL) to Haskell stub code that marshals data across the interface. This approach allows Haskell…
Jeremy Gibbons, Geraint Jones
Folds are appreciated by functional programmers; the benefits of encapsulating common patterns of computation as higher-order operators are well-known and well understood. Their dual, unfolds, are nearly as well-known, but not nearly as well appreciated. We believe they deserve b…
Jörgen Gustavsson
Sharing of evaluation is crucial for the efficiency of lazy functional languages, but unfortunately the machinery to implement it carries an inherent overhead. In abstract machines this overhead shows up as the cost of performing updates, many of them actually unnecessary, and al…
Haiming Chen
No abstract available.
John Hannan, Patrick Hicks
Arity raising, also known as variable splitting or flattening, is the program optimization which transforms a function of one argument into a function of several arguments by decomposing the structure of the original one argument into individual components in that structure. This…
Michael W. Hicks, Pankaj Kakkar, Jonathan T. Moore, Carl A. Gunter, Scott Nettles
PLAN (Packet Language for Active Networks) is a new language for programs that form the packets of a programmable network. These programs replace the packet headers (which can be viewed as very rudimentary programs) used in current networks. As such, PLAN programs are lightweight…
Graham Hutton
In this paper we explain how recursion operators can be used to structure and reason about program semantics within a functional language. In particular, we show how the recursion operator fold can be used to structure denotational semantics, how the dual recursion operator unfol…
Jerzy Karczmarczuk
We present two purely functional implementations of the computational differentiation tools -- the well known numeric (not symbolic!) techniques which permit to compute pointwise derivatives of functions defined by computer programs economically and exactly. We show how the co-re…
Richard B. Kieburtz
The familiar Hindley-Milner type system of the ML language family is extended with monad annotations to account for possible side effects of expression evaluation. This also allows effects to be effectively encapsulated by lexical scopes Γ with enforcement provided by type checki…
Oleg Kiselyov
No abstract available.
Oleg Kiselyov
Oleg Kiselyov
No abstract available.
Oleg Kiselyov
No abstract available.
Arne Kutzner, Manfred Schmidt-Schauß
In this paper we present a non-deterministic call-by-need (untyped) lambda calculus X,d with a constant choice and a let-syntax that models sharing. Our main result is that Xnd has the nice operational properties of the standard lambda calculus: confluence on sets of expressions,…