Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- articleDecember 2013
On graph rewriting, reduction, and evaluation in the presence of cycles
Higher-Order and Symbolic Computation (HOSC), Volume 26, Issue 1-4Pages 63–84https://doi.org/10.1007/s10990-014-9103-9We inter-derive two prototypical styles of graph reduction: reduction machines à la Turner and graph rewriting systems à la Barendregt et al. To this end, we adapt Danvy et al.'s mechanical program derivations from the world of terms to the world of ...
- articleJune 2011
Shortcut fusion rules for the derivation of circular and higher-order programs
Higher-Order and Symbolic Computation (HOSC), Volume 24, Issue 1-2Pages 115–149https://doi.org/10.1007/s10990-011-9076-xFunctional programs often combine separate parts using intermediate data structures for communicating results. Programs so defined are modular, easier to understand and maintain, but suffer from inefficiencies due to the generation of those gluing data ...
- articleJune 2011
Side-effect localization for lazy, purely functional languages via aspects
Higher-Order and Symbolic Computation (HOSC), Volume 24, Issue 1-2Pages 151–189https://doi.org/10.1007/s10990-011-9073-0Many side-effecting programming activities, such as profiling and tracing, can be formulated as crosscutting concerns and be framed as side-effecting aspects in the aspect-oriented programming paradigm. The benefit gained from this separation of ...
- articleJune 2011
Logical approximation for program analysis
Higher-Order and Symbolic Computation (HOSC), Volume 24, Issue 1-2Pages 41–80https://doi.org/10.1007/s10990-011-9071-2The abstract interpretation of programs relates the exact semantics of a programming language to a finite approximation of those semantics. In this article, we describe an approach to abstract interpretation that is based in logic and logic programming.
...
- articleNovember 2010
Trends in Trends in Functional Programming 1999/2000 versus 2007/2008
Higher-Order and Symbolic Computation (HOSC), Volume 23, Issue 4Pages 465–487https://doi.org/10.1007/s10990-011-9074-zThe Trends in Functional Programming Symposia are an annual event dedicated to promoting new research directions in functional programming and to investigating the relationship between functional programming and other branches of Computer Science. The ...
-
- articleMarch 2010
Magic-sets for localised analysis of Java bytecode
Higher-Order and Symbolic Computation (HOSC), Volume 23, Issue 1Pages 29–86https://doi.org/10.1007/s10990-010-9063-7Static analyses based on denotational semantics can naturally model functional behaviours of the code in a compositional and completely context and flow sensitive way. But they only model the functional i.e., input/output ...
- articleSeptember 2009
A verified framework for higher-order uncurrying optimizations
Higher-Order and Symbolic Computation (HOSC), Volume 22, Issue 3Pages 199–231https://doi.org/10.1007/s10990-010-9050-zFunction uncurrying is an important optimization for the efficient execution of functional programming languages. This optimization replaces curried functions by uncurried, multiple-argument functions, while preserving the ability to evaluate partial ...
- articleJune 2009
A principled approach to programming with nested types in Haskell
Higher-Order and Symbolic Computation (HOSC), Volume 22, Issue 2Pages 155–189https://doi.org/10.1007/s10990-009-9047-7Initial algebra semantics is one of the cornerstones of the theory of modern functional programming languages. For each inductive data type, it provides a Church encoding for that type, a build combinator which constructs data of that type, a fold ...
- articleJune 2009
A minimalistic look at widening operators
Higher-Order and Symbolic Computation (HOSC), Volume 22, Issue 2Pages 145–154https://doi.org/10.1007/s10990-009-9046-8We consider the problem of formalizing in higher-order logic the familiar notion of widening from abstract interpretation. It turns out that many axioms of widening (e.g. widening sequences are ascending) are not useful for proving correctness. After ...
- articleMarch 2009
Compilation of extended recursion in call-by-value functional languages
Higher-Order and Symbolic Computation (HOSC), Volume 22, Issue 1Pages 3–66https://doi.org/10.1007/s10990-009-9042-zThis paper formalizes and proves correct a compilation scheme for mutually-recursive definitions in call-by-value functional languages. This scheme supports a wider range of recursive definitions than previous methods. We formalize our technique as a ...
- articleDecember 2008
Flow-sensitive type systems and the ambient calculus
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 4Pages 411–442https://doi.org/10.1007/s10990-008-9039-zThe Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code. Numerous analyses have been developed for numerous variants of that calculus. We take up the challenge of developing, in a ...
- articleDecember 2008
Adapting functional programs to higher order logic
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 4Pages 377–409https://doi.org/10.1007/s10990-008-9038-0Higher-order logic proof systems combine functional programming with logic, providing functional programmers with a comfortable setting for the formalization of programs, specifications, and proofs. However, a possibly unfamiliar aspect of working in ...
- articleDecember 2008
Nesting forward-mode AD in a functional framework
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 4Pages 361–376https://doi.org/10.1007/s10990-008-9037-1We discuss the augmentation of a functional-programming language with a derivative-taking operator implemented with forward-mode automatic differentiation (AD). The primary technical difficulty in doing so lies in ensuring correctness in the face of ...
- articleSeptember 2008
Flattening tuples in an SSA intermediate representation
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 3Pages 333–358https://doi.org/10.1007/s10990-008-9035-3For functional programs, unboxing aggregate data structures such as tuples removes memory indirections and frees dead components of the decoupled structures. To explore the consequences of such optimizations in a whole-program compiler, this paper ...
- articleSeptember 2008
On the implementation of automatic differentiation tools
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 3Pages 311–331https://doi.org/10.1007/s10990-008-9034-4Automatic differentiation is a semantic transformation that applies the rules of differential calculus to source code. It thus transforms a computer program that computes a mathematical function into a program that computes the function and its ...
- articleSeptember 2008
An investigation of Jones optimality and BTI-universal specializers
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 3Pages 283–309https://doi.org/10.1007/s10990-008-9033-5Jones optimality implies that a program specializer is strong enough to remove an entire level of self-interpretation. This paper argues that Jones optimality, which was originally devised as a criterion for self-applicable specializers, plays a ...
- articleSeptember 2008
Types and trace effects for object orientation
Higher-Order and Symbolic Computation (HOSC), Volume 21, Issue 3Pages 239–282https://doi.org/10.1007/s10990-008-9032-6Trace effects are statically generated program abstractions, that can be model checked for verification of assertions in a temporal program logic. In this paper we develop a type and effect analysis for obtaining trace effects of Object Oriented ...