Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Showing 1–20 of 20 results for author: Orchard, D

Searching in archive cs. Search in all archives.
.
  1. arXiv:2406.02174  [pdf, ps, other

    cs.PL

    Incremental units-of-measure verification

    Authors: Matthew Danish, Dominic Orchard, Andrew Rice

    Abstract: Despite an abundance of proposed systems, the verification of units-of-measure within programs remains rare in scientific computing. We attempt to address this issue by providing a lightweight static verification system for units-of-measure in Fortran programs which supports incremental annotation of large projects. We take the opposite approach to the most mainstream existing deployment of units-… ▽ More

    Submitted 4 June, 2024; originally announced June 2024.

    Comments: Please note that this article was written in 2018 and has been relocated to arXiv simply for archival purposes

  2. arXiv:2403.04403  [pdf, other

    cs.PL

    Conjugate operators for transparent, explorable research outputs

    Authors: Joseph Bond, Cristina David, Minh Nguyen, Dominic Orchard, Roly Perera

    Abstract: Charts, figures, and text derived from data play an important role in decision making, from data-driven policy development to day-to-day choices informed by online articles. Making sense of, or fact-checking, outputs means understanding how they relate to the underlying data. Even for domain experts with access to the source code and data sets, this poses a significant challenge. In this paper we… ▽ More

    Submitted 11 March, 2024; v1 submitted 7 March, 2024; originally announced March 2024.

  3. arXiv:2401.17199  [pdf, ps, other

    cs.LO cs.PL

    A Mixed Linear and Graded Logic: Proofs, Terms, and Models

    Authors: Victoria Vollmer, Daniel Marshall, Harley Eades III, Dominic Orchard

    Abstract: Graded modal logics generalise standard modal logics via families of modalities indexed by an algebraic structure whose operations mediate between the different modalities. The graded "of-course" modality $!_r$ captures how many times a proposition is used and has an analogous interpretation to the of-course modality from linear logic; the of-course modality from linear logic can be modelled by a… ▽ More

    Submitted 30 January, 2024; originally announced January 2024.

    Comments: Under review

  4. arXiv:2310.18166  [pdf, other

    cs.PL

    Functional Ownership through Fractional Uniqueness

    Authors: Daniel Marshall, Dominic Orchard

    Abstract: Ownership and borrowing systems, designed to enforce safe memory management without the need for garbage collection, have been brought to the fore by the Rust programming language. Rust also aims to bring some guarantees offered by functional programming into the realm of performant systems code, but the type system is largely separate from the ownership model, with type and borrow checking happen… ▽ More

    Submitted 15 February, 2024; v1 submitted 27 October, 2023; originally announced October 2023.

    Comments: 27 pages + references. In submission (minor revision)

  5. arXiv:2309.04324  [pdf, other

    cs.PL cs.CR

    Graded Modal Types for Integrity and Confidentiality

    Authors: Daniel Marshall, Dominic Orchard

    Abstract: Graded type systems, such as the one underlying the Granule programming language, allow various different properties of a program's behaviour to be tracked via annotating types with additional information, which we call grades. One example of such a property, often used as a case study in prior work on graded types, is information flow control, in which types are graded by a lattice of security le… ▽ More

    Submitted 8 September, 2023; originally announced September 2023.

    Comments: 3 pages. Originally presented as a short paper at PLAS 2022

  6. Communicating Actor Automata -- Modelling Erlang Processes as Communicating Machines

    Authors: Dominic Orchard, Mihail Munteanu, Paulo Torrens

    Abstract: Brand and Zafiropulo's notion of Communicating Finite-State Machines (CFSMs) provides a succinct and powerful model of message-passing concurrency, based around channels. However, a major variant of message-passing concurrency is not readily captured by CFSMs: the actor model. In this work, we define a variant of CFSMs, called Communicating Actor Automata, to capture the actor model of concurrency… ▽ More

    Submitted 13 April, 2023; originally announced April 2023.

    Comments: In Proceedings PLACES 2023, arXiv:2304.05439

    Journal ref: EPTCS 378, 2023, pp. 38-48

  7. Replicate, Reuse, Repeat: Capturing Non-Linear Communication via Session Types and Graded Modal Types

    Authors: Daniel Marshall, Dominic Orchard

    Abstract: Session types provide guarantees about concurrent behaviour and can be understood through their correspondence with linear logic, with propositions as sessions and proofs as processes. However, a strictly linear setting is somewhat limiting, since there exist various useful patterns of communication that rely on non-linear behaviours. For example, shared channels provide a way to repeatedly spawn… ▽ More

    Submitted 24 March, 2022; originally announced March 2022.

    Comments: In Proceedings PLACES 2022, arXiv:2203.12142

    ACM Class: F.3.3; D.3.2; F.3.2

    Journal ref: EPTCS 356, 2022, pp. 1-11

  8. A Theory of Composing Protocols

    Authors: Laura Bocchi, Dominic Orchard, A. Laura Voinea

    Abstract: In programming, protocols are everywhere. Protocols describe the pattern of interaction (or communication) between software systems, for example, between a user-space program and the kernel or between a local application and an online service. Ensuring conformance to protocols avoids a significant class of software errors. Subsequently, there has been a lot of work on verifying code against formal… ▽ More

    Submitted 7 November, 2022; v1 submitted 4 March, 2022; originally announced March 2022.

    Journal ref: The Art, Science, and Engineering of Programming, 2023, Vol. 7, Issue 2, Article 6

  9. Deriving Distributive Laws for Graded Linear Types

    Authors: Jack Hughes, Michael Vollmer, Dominic Orchard

    Abstract: The recent notion of graded modal types provides a framework for extending type theories with fine-grained data-flow reasoning. The Granule language explores this idea in the context of linear types. In this practical setting, we observe that the presence of graded modal types can introduce an additional impediment when programming: when composing programs, it is often necessary to 'distribute' da… ▽ More

    Submitted 30 December, 2021; originally announced December 2021.

    Comments: In Proceedings Linearity&TLLA 2020, arXiv:2112.14305

    Journal ref: EPTCS 353, 2021, pp. 109-131

  10. arXiv:2011.06094  [pdf, ps, other

    cs.PL

    Guiding user annotations for units-of-measure verification

    Authors: Dominic Orchard, Mistral Contrastin, Matthew Danish, Andrew Rice

    Abstract: This extended abstract reports on previous work of the CamFort project in which we developed an external units-of-measure type system for Fortran code, targeted at scientists. Our approach can guide the programmer in adding specifications (type annotations) to existing code, with the aim of easing adoption on legacy code. Pertinent to the topics of the HATRA workshop, we discuss the human-aspects… ▽ More

    Submitted 11 November, 2020; originally announced November 2020.

    Comments: Presented at HATRA 2020 (Workshop on Human Aspects of Types and Reasoning Assistants) colocated with SPLASH 2020

    ACM Class: D.2.4; F.3.1

  11. arXiv:2010.13163  [pdf, other

    cs.LO

    Graded Modal Dependent Type Theory

    Authors: Benjamin Moon, Harley Eades III, Dominic Orchard

    Abstract: Graded type theories are an emerging paradigm for augmenting the reasoning power of types with parameterizable, fine-grained analyses of program properties. There have been many such theories in recent years which equip a type theory with quantitative dataflow tracking, usually via a semiring-like structure which provides analysis on variables (often called `quantitative' or `coeffect' theories).… ▽ More

    Submitted 20 February, 2021; v1 submitted 25 October, 2020; originally announced October 2020.

  12. arXiv:2007.11235  [pdf, ps, other

    cs.LO

    Graded Hoare Logic and its Categorical Semantics

    Authors: Marco Gaboardi, Shin-ya Katsumata, Dominic Orchard, Tetsuya Sato

    Abstract: Deductive verification techniques based on program logics (i.e., the family of Floyd-Hoare logics) are a powerful approach for program reasoning. Recently, there has been a trend of increasing the expressive power of such logics by augmenting their rules with additional information to reason about program side-effects. For example, general program logics have been augmented with cost analyses, log… ▽ More

    Submitted 26 January, 2021; v1 submitted 22 July, 2020; originally announced July 2020.

  13. arXiv:2006.08854  [pdf, ps, other

    cs.LO cs.PL

    Grading Adjoint Logic

    Authors: Harley Eades III, Dominic Orchard

    Abstract: We introduce a new logic that combines Adjoint Logic with Graded Necessity Modalities. This results in a very expressive system capable of controlling when and how structural rules are used. We give a sequent calculus, natural deduction, and term assignment for Graded Adjoint Logic.

    Submitted 15 June, 2020; originally announced June 2020.

    Comments: Extended abstract of a talk presented at LINEARITY/TLLA 2020

  14. Unifying graded and parameterised monads

    Authors: Dominic Orchard, Philip Wadler, Harley Eades III

    Abstract: Monads are a useful tool for structuring effectful features of computation such as state, non-determinism, and continuations. In the last decade, several generalisations of monads have been suggested which provide a more fine-grained model of effects by replacing the single type constructor of a monad with an indexed family of constructors. Most notably, graded monads (indexed by a monoid) model e… ▽ More

    Submitted 30 April, 2020; v1 submitted 28 January, 2020; originally announced January 2020.

    Comments: In Proceedings MSFP 2020, arXiv:2004.14735

    Journal ref: EPTCS 317, 2020, pp. 18-38

  15. arXiv:1904.00396   

    cs.PL cs.DC

    Proceedings Programming Language Approaches to Concurrency- and Communication-cEntric Software

    Authors: Francisco Martins, Dominic Orchard

    Abstract: Modern hardware platforms, from the very small to the very large, increasingly provide parallel and distributed computing resources for applications to maximise performance. Many applications therefore need to make effective use of tens, hundreds, and even thousands of compute nodes. Computation in such systems is thus inherently concurrent and communication centric. Effectively programming such… ▽ More

    Submitted 31 March, 2019; originally announced April 2019.

    Journal ref: EPTCS 291, 2019

  16. arXiv:1902.06950  [pdf, ps, other

    cs.PL

    Composing bidirectional programs monadically (with appendices)

    Authors: Li-yao Xia, Dominic Orchard, Meng Wang

    Abstract: Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming techniques allow programs to be written which can be interpreted in both directions. However, these techniques often employ unfamiliar programming idioms via restricted,… ▽ More

    Submitted 19 February, 2019; originally announced February 2019.

    Comments: Provides the appendices of the paper, which appears in the proceedings of European Symposium on Programming (ESOP) 2019

  17. arXiv:1606.05403   

    cs.DC cs.PL

    Proceedings of the Ninth workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software

    Authors: Dominic Orchard, Nobuko Yoshida

    Abstract: PLACES 2016 (full title: Programming Language Approaches to Concurrency- and Communication-Centric Software) is the ninth edition of the PLACES workshop series. After the first PLACES, which was affiliated to DisCoTec in 2008, the workshop has been part of ETAPS every year since 2009 and is now an established part of the ETAPS satellite events. PLACES 2016 was held on 8th April in Eindhoven, The N… ▽ More

    Submitted 16 June, 2016; originally announced June 2016.

    Journal ref: EPTCS 211, 2016

  18. Using session types as an effect system

    Authors: Dominic Orchard, Nobuko Yoshida

    Abstract: Side effects are a core part of practical programming. However, they are often hard to reason about, particularly in a concurrent setting. We propose a foundation for reasoning about concurrent side effects using sessions. Primarily, we show that session types are expressive enough to encode an effect system for stateful processes. This is formalised via an effect-preserving encoding of a simple i… ▽ More

    Submitted 10 February, 2016; originally announced February 2016.

    Comments: In Proceedings PLACES 2015, arXiv:1602.03254

    ACM Class: F.3.3; D.3.2; F.3.2

    Journal ref: EPTCS 203, 2016, pp. 1-13

  19. arXiv:1401.5391  [pdf, ps, other

    cs.PL

    The semantic marriage of monads and effects

    Authors: Dominic Orchard, Tomas Petricek, Alan Mycroft

    Abstract: Wadler and Thiemann unified type-and-effect systems with monadic semantics via a syntactic correspondence and soundness results with respect to an operational semantics. They conjecture that a general, "coherent" denotational semantics can be given to unify effect systems with a monadic-style semantics. We provide such a semantics based on the novel structure of an indexed monad, which we introduc… ▽ More

    Submitted 21 January, 2014; originally announced January 2014.

    Comments: extended abstract

  20. Efficient and Correct Stencil Computation via Pattern Matching and Static Typing

    Authors: Dominic Orchard, Alan Mycroft

    Abstract: Stencil computations, involving operations over the elements of an array, are a common programming pattern in scientific computing, games, and image processing. As a programming pattern, stencil computations are highly regular and amenable to optimisation and parallelisation. However, general-purpose languages obscure this regular pattern from the compiler, and even the programmer, preventing opti… ▽ More

    Submitted 4 September, 2011; originally announced September 2011.

    Comments: In Proceedings DSL 2011, arXiv:1109.0323

    Journal ref: EPTCS 66, 2011, pp. 68-92