537 research outputs found
Combining and Relating Control Effects and their Semantics
Combining local exceptions and first class continuations leads to programs
with complex control flow, as well as the possibility of expressing powerful
constructs such as resumable exceptions. We describe and compare games models
for a programming language which includes these features, as well as
higher-order references. They are obtained by contrasting methodologies: by
annotating sequences of moves with "control pointers" indicating where
exceptions are thrown and caught, and by composing the exceptions and
continuations monads.
The former approach allows an explicit representation of control flow in
games for exceptions, and hence a straightforward proof of definability (full
abstraction) by factorization, as well as offering the possibility of a
semantic approach to control flow analysis of exception-handling. However,
establishing soundness of such a concrete and complex model is a non-trivial
problem. It may be resolved by establishing a correspondence with the monad
semantics, based on erasing explicit exception moves and replacing them with
control pointers.Comment: In Proceedings COS 2013, arXiv:1309.092
10351 Abstracts Collection -- Modelling, Controlling and Reasoning About State
From 29 August 2010 to 3 September 2010, the Dagstuhl Seminar 10351
``Modelling, Controlling and Reasoning About State \u27\u27 was held in
Schloss Dagstuhl~--~Leibniz Center for Informatics. During the
seminar, several participants presented their current research, and
ongoing work and open problems were discussed. Abstracts of the
presentations given during the seminar as well as abstracts of seminar
results and ideas are put together in this paper. Links to extended
abstracts or full papers are provided, if available
Resource modalities in game semantics
The description of resources in game semantics has never achieved the
simplicity and precision of linear logic, because of a misleading conception:
the belief that linear logic is more primitive than game semantics. We advocate
instead the contrary: that game semantics is conceptually more primitive than
linear logic. Starting from this revised point of view, we design a categorical
model of resources in game semantics, and construct an arena game model where
the usual notion of bracketing is extended to multi- bracketing in order to
capture various resource policies: linear, affine and exponential
Intensional and Extensional Semantics of Bounded and Unbounded Nondeterminism
We give extensional and intensional characterizations of nondeterministic
functional programs: as structure preserving functions between biorders, and as
nondeterministic sequential algorithms on ordered concrete data structures
which compute them. A fundamental result establishes that the extensional and
intensional representations of non-deterministic programs are equivalent, by
showing how to construct a unique sequential algorithm which computes a given
monotone and stable function, and describing the conditions on sequential
algorithms which correspond to continuity with respect to each order.
We illustrate by defining may and must-testing denotational semantics for a
sequential functional language with bounded and unbounded choice operators. We
prove that these are computationally adequate, despite the non-continuity of
the must-testing semantics of unbounded nondeterminism. In the bounded case, we
prove that our continuous models are fully abstract with respect to may and
must-testing by identifying a simple universal type, which may also form the
basis for models of the untyped lambda-calculus. In the unbounded case we
observe that our model contains computable functions which are not denoted by
terms, by identifying a further "weak continuity" property of the definable
elements, and use this to establish that it is not fully abstract
Compositional software verification based on game semantics
One of the major challenges in computer science is to put programming on a firmer mathematical basis, in order to improve the correctness of computer programs. Automatic program verification is acknowledged to be a very hard problem, but current work is reaching the point where at least the foundationalĂ?Ă· aspects of the problem can be addressed and it is becoming a part of industrial software development. This thesis presents a semantic framework for verifying safety properties of open sequ;ptial programs. The presentation is focused on an Algol-like programming language that embodies many of the core ingredients of imperative and functional languages and incorporates data abstraction in its syntax. Game semantics is used to obtain a compositional, incremental way of generating accurate models of programs. Model-checking is made possible by giving certain kinds of concrete automata-theoretic representations of the model. A data-abstraction refinement procedure is developed for model-checking safety properties of programs with infinite integer types. The procedure starts by model-checking the most abstract version of the program. If no counterexample, or a genuine one, is found, the procedure terminates. Otherwise, it uses a spurious counterexample to refine the abstraction for the next iteration. Abstraction refinement, assume-guarantee reasoning and the L* algorithm for learning regular languages are combined to yield a procedure for compositional verification. Construction of a global model is avoided using assume-guarantee reasoning and the L* algorithm, by learning assumptions for arbitrary subprograms. An implementation based on the FDR model checker for the CSP process algebra demonstrates practicality of the methods
In Search of Effectful Dependent Types
Real world programming languages crucially depend on the availability of
computational effects to achieve programming convenience and expressive power
as well as program efficiency. Logical frameworks rely on predicates, or
dependent types, to express detailed logical properties about entities.
According to the Curry-Howard correspondence, programming languages and logical
frameworks should be very closely related. However, a language that has both
good support for real programming and serious proving is still missing from the
programming languages zoo. We believe this is due to a fundamental lack of
understanding of how dependent types should interact with computational
effects. In this thesis, we make a contribution towards such an understanding,
with a focus on semantic methods.Comment: PhD thesis, Version submitted to Exam School
Call-By-Push-Value
Submitted for the degree of Doctor of PhilosophyCall-by-push-value (CBPV) is a new programming language paradigm, based on the slogan âa value is, a computation doesâ. We claim that CBPV provides the semantic primitives from which the call-by-value and call-by-name paradigms are built. The primary goal of the thesis is to present the evidence for this claim, which is found in a remarkably wide range of semantics: from operational semantics, in big-step form and in machine form, to denotational models using
domains, possible worlds, continuations and games.
In the first part of the thesis, we come to CBPV and its equational theory by looking critically at the call-by-value and call-by-name paradigms in the presence of general computational effects. We give a Felleisen/Friedman-style CK-machine semantics, which explains how CBPV can be
understood in terms of push/pop instructions.
In the second part we give simple CBPV models for printing, divergence, global store, errors, erratic choice and control effects, as well as for various combinations of these effects. We develop the store model into a possible world model for cell generation, and (following Steele) we develop
the control model into a âjumping implementationâ using a continuation language called Jump-With-Argument (JWA).
We present a pointer game model for CBPV, in the style of Hyland and Ong. We see that the
game concepts of questioning and answering correspond to the CBPV concepts of forcing and producing respectively. We observe that this game semantics is closely related to the jumping implementation.
In the third part of the thesis, we study the categorical semantics for the CBPV equational theory. We present and compare 3 approaches:
models using strong monads, in the style of Moggi;
models using value/producer structures, in the style of Power and Robinson;
models using (strong) adjunctions.
All the concrete models in the thesis are seen to be adjunction models
Quantum metalanguage and the new cognitive synthesis
Problems with mechanisms of thinking and cognition in many ways remain unresolved. Why are a priori inferences possible? Why can a human understand but a computer cannot? It has been shown that when creating new concepts, generalization is contradictory in the sense that to be created concepts must exist a priori, and therefore, they are not new. The process of knowledge acquisition is also contradictory, as it inevitably involves recognition, which can be realized only when there is an a priori standard. Known approaches of the framework of artificial intelligence (in particular, Bayesian) do not determine the origins of knowledge, as these approaches are effective only when âgoodâ hypotheses are made. The formation of âgoodâ hypotheses must occur a priori. To address these issues and paradoxes, a fundamentally new approach to problems of cognition that is based on completely innate behavioral programs is proposed. The process of cognition within the framework of the concept of a quantum metalanguage involves the selection of adequate a priori existing (innate) programs (logical variables and rules for working with them) that are most adequate to a given situation. The quantum properties of this metalanguage are necessary to implement such programs
- âŠ