Results 1  10
of
34
The Effects of
 Artificial Sources of Water on Rangeland Biodiversity. Environment Australia and CSIRO
, 1997
"... “Turing hoped that his abstractedpapertape model was so simple, so transparent and well defined, that it would not depend on any assumptions about physics that could conceivably be falsified, and therefore that it could become the basis of an abstract theory of computation that was independent of ..."
Abstract

Cited by 14 (5 self)
 Add to MetaCart
(Show Context)
“Turing hoped that his abstractedpapertape model was so simple, so transparent and well defined, that it would not depend on any assumptions about physics that could conceivably be falsified, and therefore that it could become the basis of an abstract theory of computation that was independent of the underlying physics. ‘He thought, ’ as Feynman once put it, ‘that he understood paper. ’ But he was mistaken. Real, quantummechanical paper is wildly different from the abstract stuff that the Turing machine uses. The Turing machine is entirely classical...”
Geometry of Synthesis IV Compiling Affine Recursion into Static Hardware
"... Abramsky’s Geometry of Interaction interpretation (GoI) is a logicaldirected way to reconcile the process and functional views of computation, and can lead to a dataflowstyle semantics of programming languages that is both operational (i.e. effective) and denotational (i.e. inductive on the langua ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
(Show Context)
Abramsky’s Geometry of Interaction interpretation (GoI) is a logicaldirected way to reconcile the process and functional views of computation, and can lead to a dataflowstyle semantics of programming languages that is both operational (i.e. effective) and denotational (i.e. inductive on the language syntax). The key idea of Ghica’s Geometry of Synthesis (GoS) approach is that for certain programming languages (namely Reynolds’s affine Syntactic Control of Interference–SCI) the GoI processeslike interpretation of the language can be given a finitary representation, for both internal state and tokens. A physical realisation of this representation becomes a semanticsdirected compiler for SCI into hardware. In this paper we examine the issue of compiling affine recursive programs into hardware using the GoS method. We give syntax and compilation techniques for unfolding recursive computation in space or in time and we illustrate it with simple benchmarkstyle examples. We examine the performance of the benchmarks against conventional CPUbased execution models.
Function interface models for hardware compilation: Types, signatures, protocols
 CoRR
, 2009
"... The problem of synthesis of gatelevel descriptions of digital circuits from behavioural specifications written in higherlevel programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The argument of this essay is mainly method ..."
Abstract

Cited by 10 (9 self)
 Add to MetaCart
(Show Context)
The problem of synthesis of gatelevel descriptions of digital circuits from behavioural specifications written in higherlevel programming languages (hardware compilation) has been studied for a long time yet a definitive solution has not been forthcoming. The argument of this essay is mainly methodological, bringing a perspective that is informed by recent developments in programminglanguage theory. We argue that one of the major obstacles in the way of hardware compilation becoming a useful and mature technology is the lack of a well defined function interface model, i.e. a canonical way in which functions communicate with arguments. We discuss the consequences of this problem and propose a solution based on new developments in programming language theory. We conclude by presenting a prototype implementation and some examples illustrating our principles. 1.
A.: Geometry of Synthesis II: From games to delayinsensitive circuits
 Electr. Notes Theor. Comput. Sci
"... This paper extends previous work on the compilation of higherorder imperative languages into digital circuits [4]. We introduce concurrency, an essential feature in the context of hardware compilation and we reuse an existing game model to simplify correctness proofs. The target designs we compile ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
This paper extends previous work on the compilation of higherorder imperative languages into digital circuits [4]. We introduce concurrency, an essential feature in the context of hardware compilation and we reuse an existing game model to simplify correctness proofs. The target designs we compile to are asynchronous eventlogic circuits, which naturally match the asynchronous game model of the language.
Syntactic Control of Interference for Separation Logic
"... Separation Logic has witnessed tremendous success in recent years in reasoning about programs that deal with heap storage. Its success owes to the fundamental principle that one should keep separate areas of the heap storage separate in program reasoning. However, the way Separation Logic deals with ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
Separation Logic has witnessed tremendous success in recent years in reasoning about programs that deal with heap storage. Its success owes to the fundamental principle that one should keep separate areas of the heap storage separate in program reasoning. However, the way Separation Logic deals with program variables continues to be based on traditional Hoare Logic without taking any benefit of the separation principle. This has led to unwieldy proof rules suffering from lack of clarity as well as questions surrounding their soundness. In this paper, we extend the separation idea to the treatment of variables in Separation Logic, especially Concurrent Separation Logic, using the system of Syntactic Control of Interference proposed by Reynolds in 1978. We extend the original system with permission algebras, making it more powerful and able to deal with the issues of concurrent programs. The result is a streamined presentation of Concurrent Separation Logic, whose rules are memorable and soundness obvious. We also include a discussion of how the new rules impact the semantics and devise static analysis techniques to infer the required permissions automatically. Categories and Subject Descriptors D.3.1 [Programming Languages]:
Bounded linear types in a resource semiring
 In European Symposium on Programming
, 2014
"... Abstract. Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring. For this type system we provide b ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Bounded linear types have proved to be useful for automated resource analysis and control in functional programming languages. In this paper we introduce a bounded linear typing discipline on a general notion of resource which can be modeled in a semiring. For this type system we provide both a general typeinference procedure, parameterized by the decision procedure of the semiring equational theory, and a (coherent) categorical semantics. This could be a useful typetheoretic and denotational framework for resourcesensitive compilation, and it represents a generalization of several existing type systems. As a nontrivial instance, motivated by hardware compilation, we present a complex new application to calculating and controlling timing of execution in a (recursionfree) higherorder functional programming language with local store. 1 Resourceaware types and semantics The two important things about a computer program are what it computes and
Seamless distributed computing from the Geometry of Interaction
"... Abstract. In this paper we present a seamless approach to writing and compiling distributed code. By “seamless ” we mean that the syntax and semantics of the distributed program remain the same as if it was executed on one node only, except for label annotations indicating on what node subterms of ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present a seamless approach to writing and compiling distributed code. By “seamless ” we mean that the syntax and semantics of the distributed program remain the same as if it was executed on one node only, except for label annotations indicating on what node subterms of the program are to be executed. There are no restrictions on how node labels are to be assigned to subterms. We show how the paradigmatic (higherorder functional recursive) programming language PCF, extended with node annotations, can be used for this purpose. The compilation technique is directly inspired by game semantics and the Geometry of Interaction. 1
Applications of Game Semantics: From Program Analysis to Hardware Synthesis
"... After informally reviewing the main concepts from game semantics and placing the development of the field in a historical context we examine its main applications. We focus in particular on finite state model checking, higher order model checking and more recent developments in hardware design. 1. C ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
(Show Context)
After informally reviewing the main concepts from game semantics and placing the development of the field in a historical context we examine its main applications. We focus in particular on finite state model checking, higher order model checking and more recent developments in hardware design. 1. Chronology, methodology, ideology Game Semantics is a denotational semantics in the conventional sense: for any term, it assigns a certain mathematical object as its meaning, which is constructed compositionally from the meanings of its subterms in a way that is independent of the operational semantics of the object language. What makes Game Semantics particular, peculiar maybe, is that the mathematical objects it operates with
Memoryful Geometry of Interaction From Coalgebraic Components to Algebraic Effects
"... Girard’s Geometry of Interaction (GoI) is interaction based semantics of linear logic proofs and, via suitable translations, of functional programs in general. Its mathematical cleanness identifies essential structures in computation; moreover its use as a compilation technique from programs to s ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
Girard’s Geometry of Interaction (GoI) is interaction based semantics of linear logic proofs and, via suitable translations, of functional programs in general. Its mathematical cleanness identifies essential structures in computation; moreover its use as a compilation technique from programs to state machines—“GoI implementation, ” so to speak—has been worked out by Mackie, Ghica and others. In this paper, we develop Abramsky’s idea of resumption based GoI systematically into a generic framework that accounts for computational effects (nondeterminism, probability, exception, global states, interactive I/O, etc.). The framework is categorical: Plotkin & Power’s algebraic operations provide an interface to computational effects; the framework is built on the categorical axiomatization of GoI by Abramsky, Haghverdi and Scott; and, by use of the coalgebraic formalization of component calculus, we describe explicit construction of state machines as interpretations of functional programs. The resulting interpretation is shown to be sound with respect to equations between algebraic operations, as well as to Moggi’s equations for the computational lambda calculus. We illustrate the construction by concrete examples.
On interaction, continuations and defunctionalization
 Typed Lambda Calculi and Applications, Lecture Notes in Computer Science
, 2013
"... ..."