Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleSeptember 1998
A structured approach to retrieving functions by types
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPage 344https://doi.org/10.1145/289423.289473Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Verbose typing
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPage 340https://doi.org/10.1145/289423.289468Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Controlled temporal non-determinism for reasoning with a machine of finite speed
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPage 339https://doi.org/10.1145/289423.289467Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Type errors confuse the programmer (poster abstract)
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPage 338https://doi.org/10.1145/289423.289465Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
LAND*: an AND with local bindings, a guarded LET* special form
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPage 336https://doi.org/10.1145/289423.289463Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 -
- ArticleSeptember 1998
A non-deterministic call-by-need lambda calculus
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 324–335https://doi.org/10.1145/289423.289462In this paper we present a non-deterministic call-by-need (untyped) lambda calculus λnd with a constant choice and a let-syntax that models sharing. Our main result is that λnd has the nice operational properties of the standard lambda ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Implementing typed intermediate languages
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 313–323https://doi.org/10.1145/289423.289460Recent advances in compiler technology have demonstrated the benefits of using strongly typed intermediate languages to compile richly typed source languages (e.g., ML). A type-preserving compiler can use types to guide advanced optimizations and to help ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Intensional polymorphism in type-erasure semantics
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 301–312https://doi.org/10.1145/289423.289459Intensional polymorphism, the ability to dispatch to different routines based on types at run time, enables a variety of advanced implementation techniques for polymorphic languages, including tag-free garbage collection, unboxed function arguments, ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Encoding types in ML-like languages
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 289–300https://doi.org/10.1145/289423.289458A Hindley-Milner type system such as ML's seems to prohibit type-indexed values, i.e., functions that map a family of types to a family of values. Such functions generally perform case analysis on the input types and return values of possibly different ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Fold and unfold for program semantics
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 280–288https://doi.org/10.1145/289423.289457In 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 ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Imperative streams—a monadic combinator library for synchronous programming
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 261–272https://doi.org/10.1145/289423.289454The paper presents a generalization of Haskell's IO monad suitable for synchronous concurrent programming. The new monad integrates the deterministic concurrency paradigm of synchronous programming with the powerful abstraction features of functional ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Cayenne—a language with dependent types
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 239–250https://doi.org/10.1145/289423.289451Cayenne is a Haskell-like language. The main difference between Haskell and Cayenne is that Cayenne has dependent types, i.e., the result type of a function may depend on the argument value, and types of record components (which can be types or values) ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
A framework for type inference with subtyping
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 228–238https://doi.org/10.1145/289423.289448Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Pragmatic subtyping in polymorphic languages
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 216–227https://doi.org/10.1145/289423.289445We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalence. This approach allows the subtype relation to be defined by incremental construction of polymorphic records and datatypes, in a way that subsumes the ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Functional differentiation of computer programs
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 195–203https://doi.org/10.1145/289423.289442We 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 ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Lazy computation with exact real numbers
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 185–194https://doi.org/10.1145/289423.289441We 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 ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
The spineless tagless G-machine, naturally
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 163–173https://doi.org/10.1145/289423.289439The application of natural semantic specifications of lazy evaluation to areas such as usage analysis, formal profiling and abstract machine construction has shown it to be a useful formalism. This paper introduces several variants and extensions of ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Typed cross-module compilation
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 141–152https://doi.org/10.1145/289423.289436Higher-order modules are very effective in structuring large programs and defining generic, reusable software components. Unfortunately, many compilation techniques for the core languages do not work across the module boundaries. As a result, few ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
Programming with variable functions
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 105–116https://doi.org/10.1145/289423.289433What is a good method to specify and derive imperative programs? This paper argues that a new form of functional programming fits the bill: where variable functions can be updated at specified points in their domain.Traditional algebraic specification ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1 - ArticleSeptember 1998
A theory of core fudgets
ICFP '98: Proceedings of the third ACM SIGPLAN international conference on Functional programmingPages 75–85https://doi.org/10.1145/289423.289430The Fudgets system is a toolkit for developing graphical applications in the lazy functional programming language Haskell. In this paper we develop an operational semantics for a subset of this system, inspired by ideas from concurrency theory. A ...
Also Published in:
ACM SIGPLAN Notices: Volume 34 Issue 1