3,389 research outputs found

    Parameterised notions of computation

    Get PDF
    Moggi’s Computational Monads and Power et al’s equivalent notion of Freyd category have captured a large range of computational effects present in programming languages such as exceptions, side-effects, input/output and continuations. We present generalisations of both constructs, which we call parameterised monads and parameterised Freyd categories, that also capture computational effects with parameters. Examples of such are composable continuations, side-effects where the type of the state varies and input/output where the range of inputs and outputs varies. By also considering monoidal parameterisation, we extend the range of effects to cover separated side-effects and multiple independent streams of I/O. We also present two typed λ-calculi that soundly and completely model our categorical definitions — with and without monoidal parameterisation — and act as prototypical languages with parameterised effects

    Algebras for parameterised monads

    Get PDF
    Parameterised monads have the same relationship to adjunctions with parameters as monads do to adjunctions. In this paper, we investigate algebras for parameterised monads. We identify the Eilenberg-Moore category of algebras for parameterised monads and prove a generalisation of Beck’s theorem characterising this category. We demonstrate an application of this theory to the semantics of type and effect systems

    A Note on Parameterised Knowledge Operations in Temporal Logic

    Full text link
    We consider modeling the conception of knowledge in terms of temporal logic. The study of knowledge logical operations is originated around 1962 by representation of knowledge and belief using modalities. Nowadays, it is very good established area. However, we would like to look to it from a bit another point of view, our paper models knowledge in terms of linear temporal logic with {\em past}. We consider various versions of logical knowledge operations which may be defined in this framework. Technically, semantics, language and temporal knowledge logics based on our approach are constructed. Deciding algorithms are suggested, unification in terms of this approach is commented. This paper does not offer strong new technical outputs, instead we suggest new approach to conception of knowledge (in terms of time).Comment: 10 page

    A generic operational metatheory for algebraic effects

    Get PDF
    We provide a syntactic analysis of contextual preorder and equivalence for a polymorphic programming language with effects. Our approach applies uniformly across a range of algebraic effects, and incorporates, as instances: errors, input/output, global state, nondeterminism, probabilistic choice, and combinations thereof. Our approach is to extend Plotkin and Power’s structural operational semantics for algebraic effects (FoSSaCS 2001) with a primitive “basic preorder” on ground type computation trees. The basic preorder is used to derive notions of contextual preorder and equivalence on program terms. Under mild assumptions on this relation, we prove fundamental properties of contextual preorder (hence equivalence) including extensionality properties and a characterisation via applicative contexts, and we provide machinery for reasoning about polymorphism using relational parametricity

    The Environment as an Argument

    Get PDF
    Context-awareness as defined in the setting of Ubiquitous Computing [3] is all about expressing the dependency of a specific computation upon some implicit piece of information. The manipulation and expression of such dependencies may thus be neatly encapsulated in a language where computations are first-class values. Perhaps surprisingly however, context-aware programming has not been explored in a functional setting, where first-class computations and higher-order functions are commonplace. In this paper we present an embedded domain-specific language (EDSL) for constructing context-aware applications in the functional programming language Haskell. © 2012 Springer-Verlag

    Vertex and edge covers with clustering properties: complexity and algorithms

    Get PDF
    We consider the concepts of a t-total vertex cover and a t-total edge cover (t≥1), which generalise the notions of a vertex cover and an edge cover, respectively. A t-total vertex (respectively edge) cover of a connected graph G is a vertex (edge) cover S of G such that each connected component of the subgraph of G induced by S has at least t vertices (edges). These definitions are motivated by combining the concepts of clustering and covering in graphs. Moreover they yield a spectrum of parameters that essentially range from a vertex cover to a connected vertex cover (in the vertex case) and from an edge cover to a spanning tree (in the edge case). For various values of t, we present NP-completeness and approximability results (both upper and lower bounds) and FTP algorithms for problems concerned with finding the minimum size of a t-total vertex cover, t-total edge cover and connected vertex cover, in particular improving on a previous FTP algorithm for the latter problem
    corecore