Skip to main content

Showing 1–10 of 10 results for author: Morris, J G

Searching in archive cs. Search in all archives.
.
  1. Soundly Handling Linearity

    Authors: Wenhao Tang, Daniel Hillerström, Sam Lindley, J. Garrett Morris

    Abstract: We propose a novel approach to soundly combining linear types with effect handlers. Linear type systems statically ensure that resources such as file handles are used exactly once. Effect handlers provide a modular programming abstraction for implementing features ranging from exceptions to concurrency. Whereas linear type systems bake in the assumption that continuations are invoked exactly once,… ▽ More

    Submitted 2 January, 2024; v1 submitted 18 July, 2023; originally announced July 2023.

    Comments: 51 pages, accepted for POPL 2024

  2. arXiv:2307.08759  [pdf, ps, other

    cs.PL

    Generic Programming with Extensible Data Types; Or, Making Ad Hoc Extensible Data Types Less Ad Hoc

    Authors: Alex Hubers, J. Garrett Morris

    Abstract: We present a novel approach to generic programming over extensible data types. Row types capture the structure of records and variants, and can be used to express record and variant subty**, record extension, and modular composition of case branches. We extend row ty** to capture generic programming over rows themselves, capturing patterns including lifting operations to records and variations… ▽ More

    Submitted 19 July, 2023; v1 submitted 17 July, 2023; originally announced July 2023.

    Comments: To appear at: International Conference on Functional Programming 2023 Corrected citations from previous version

  3. arXiv:2207.07458  [pdf

    stat.ML cs.LG

    Joint Application of the Target Trial Causal Framework and Machine Learning Modeling to Optimize Antibiotic Therapy: Use Case on Acute Bacterial Skin and Skin Structure Infections due to Methicillin-resistant Staphylococcus aureus

    Authors: Inyoung Jun, Simone Marini, Christina A. Boucher, J. Glenn Morris, Jiang Bian, Mattia Prosperi

    Abstract: Bacterial infections are responsible for high mortality worldwide. Antimicrobial resistance underlying the infection, and multifaceted patient's clinical status can hamper the correct choice of antibiotic treatment. Randomized clinical trials provide average treatment effect estimates but are not ideal for risk stratification and optimization of therapeutic choice, i.e., individualized treatment e… ▽ More

    Submitted 15 July, 2022; originally announced July 2022.

    Comments: This is the Proceedings of the KDD workshop on Applied Data Science for Healthcare (DSHealth 2022), which was held on Washington D.C, August 14 2022

  4. Separating Sessions Smoothly

    Authors: Simon Fowler, Wen Kokke, Ornela Dardha, Sam Lindley, J. Garrett Morris

    Abstract: This paper introduces Hypersequent GV (HGV), a modular and extensible core calculus for functional programming with session types that enjoys deadlock freedom, confluence, and strong normalisation. HGV exploits hyper-environments, which are collections of type environments, to ensure that structural congruence is type preserving. As a consequence we obtain an operational correspondence between HGV… ▽ More

    Submitted 11 July, 2023; v1 submitted 19 May, 2021; originally announced May 2021.

    Journal ref: Logical Methods in Computer Science, Volume 19, Issue 3 (July 12, 2023) lmcs:9361

  5. Towards Races in Linear Logic

    Authors: Wen Kokke, J. Garrett Morris, Philip Wadler

    Abstract: Process calculi based in logic, such as $π$DILL and CP, provide a foundation for deadlock-free concurrent programming, but exclude non-determinism and races. HCP is a reformulation of CP which addresses a fundamental shortcoming: the fundamental operator for parallel composition from the $π$-calculus does not correspond to any rule of linear logic, and therefore not to any term construct in CP.… ▽ More

    Submitted 12 December, 2020; v1 submitted 29 September, 2019; originally announced September 2019.

    Journal ref: Logical Methods in Computer Science, Volume 16, Issue 4 (December 15, 2020) lmcs:5821

  6. Constrained Type Families

    Authors: J. Garrett Morris, Richard Eisenberg

    Abstract: We present an approach to support partiality in type-level computation without compromising expressiveness or type safety. Existing frameworks for type-level computation either require totality or implicitly assume it. For example, type families in Haskell provide a powerful, modular means of defining type-level computation. However, their current design implicitly assumes that type families are t… ▽ More

    Submitted 29 June, 2017; originally announced June 2017.

    Comments: Originally presented at ICFP 2017; extended edition

    ACM Class: F.3.3; D.3.3

  7. Variations on Variants

    Authors: J. Garrett Morris

    Abstract: Extensible variants improve the modularity and expressiveness of programming languages: they allow program functionality to be decomposed into independent blocks, and allow seamless extension of existing code with both new cases of existing data types and new operations over those data types. This paper considers three approaches to providing extensible variants in Haskell. Row ty** is a long… ▽ More

    Submitted 24 December, 2016; originally announced December 2016.

    Comments: Originally presented at Haskell 2014

    ACM Class: D.3.3

  8. A Simple Semantics for Haskell Overloading

    Authors: J. Garrett Morris

    Abstract: As originally proposed, type classes provide overloading and ad-hoc definition, but can still be understood (and implemented) in terms of strictly parametric calculi. This is not true of subsequent extensions of type classes. Functional dependencies and equality constraints allow the satisfiability of predicates to refine ty**; this means that the interpretations of equivalent qualified types ma… ▽ More

    Submitted 24 December, 2016; originally announced December 2016.

    Comments: Originally presented at Haskell 2014

    ACM Class: D.3.1; F.3.2

  9. The Best of Both Worlds: Linear Functional Programming without Compromise

    Authors: J. Garrett Morris

    Abstract: We present a linear functional calculus with both the safety guarantees expressible with linear types and the rich language of combinators and composition provided by functional programming. Unlike previous combinations of linear ty** and functional programming, we compromise neither the linear side (for example, our linear values are first-class citizens of the language) nor the functional side… ▽ More

    Submitted 16 March, 2017; v1 submitted 20 December, 2016; originally announced December 2016.

    Comments: Extended version

    ACM Class: D.3.2; D.3.3

  10. arXiv:1406.3479  [pdf, ps, other

    cs.PL cs.DC cs.LO

    Sessions as Propositions

    Authors: Sam Lindley, J. Garrett Morris

    Abstract: Recently, Wadler presented a continuation-passing translation from a session-typed functional language, GV, to a process calculus based on classical linear logic, CP. However, this translation is one-way: CP is more expressive than GV. We propose an extension of GV, called HGV, and give translations showing that it is as expressive as CP. The new translations shed light both on the original transl… ▽ More

    Submitted 13 June, 2014; originally announced June 2014.

    Comments: In Proceedings PLACES 2014, arXiv:1406.3313

    ACM Class: D.3.2; F.3.2

    Journal ref: EPTCS 155, 2014, pp. 9-16