Skip to main content

Showing 1–29 of 29 results for author: Lindley, S

  1. arXiv:2407.11816  [pdf, other

    cs.PL

    Modal Effect Types

    Authors: Wenhao Tang, Leo White, Stephen Dolan, Daniel Hillerström, Sam Lindley, Anton Lorenzen

    Abstract: We propose a novel type system for effects and handlers using modal types. Conventional effect systems attach effects to function types, which can lead to verbose effect-polymorphic types, especially for higher-order functions. Our modal effect system provides succinct types for higher-order first-class functions without losing modularity and reusability. The core idea is to decouple effects from… ▽ More

    Submitted 16 July, 2024; originally announced July 2024.

    Comments: 76 pages

  2. Behavioural Types for Heterogeneous Systems (Position Paper)

    Authors: Simon Fowler, Philipp Haller, Roland Kuhn, Sam Lindley, Alceste Scalas, Vasco T. Vasconcelos

    Abstract: Behavioural types provide a promising way to achieve lightweight, language-integrated verification for communication-centric software. However, a large barrier to the adoption of behavioural types is that the current state of the art expects software to be written using the same tools and typing discipline throughout a system, and has little support for components over which a developer has no con… ▽ More

    Submitted 8 April, 2024; originally announced April 2024.

    Comments: In Proceedings PLACES 2024, arXiv:2404.03712

    Journal ref: EPTCS 401, 2024, pp. 37-48

  3. arXiv:2402.03103  [pdf, ps, other

    cs.PL cs.LO math.CT

    Scoped Effects as Parameterized Algebraic Theories

    Authors: Cristina Matache, Sam Lindley, Sean Moss, Sam Staton, Nicolas Wu, Zhixuan Yang

    Abstract: Notions of computation can be modelled by monads. Algebraic effects offer a characterization of monads in terms of algebraic operations and equational axioms, where operations are basic programming features, such as reading or updating the state, and axioms specify observably equivalent expressions. However, many useful programming features depend on additional mechanisms such as delimited scopes… ▽ More

    Submitted 20 May, 2024; v1 submitted 5 February, 2024; originally announced February 2024.

    Comments: Extended version of the ESOP 2024 paper with the same title

  4. arXiv:2401.09410  [pdf, other

    cs.CY cs.AI cs.HC

    Through the Looking-Glass: Transparency Implications and Challenges in Enterprise AI Knowledge Systems

    Authors: Karina Cortiñas-Lorenzo, Siân Lindley, Ida Larsen-Ledet, Bhaskar Mitra

    Abstract: Knowledge can't be disentangled from people. As AI knowledge systems mine vast volumes of work-related data, the knowledge that's being extracted and surfaced is intrinsically linked to the people who create and use it. When these systems get embedded in organizational settings, the information that is brought to the foreground and the information that's pushed to the periphery can influence how i… ▽ More

    Submitted 17 January, 2024; originally announced January 2024.

  5. arXiv:2312.10076  [pdf, ps, other

    cs.CY

    A Framework for Exploring the Consequences of AI-Mediated Enterprise Knowledge Access and Identifying Risks to Workers

    Authors: Anna Gausen, Bhaskar Mitra, Siân Lindley

    Abstract: Organisations generate vast amounts of information, which has resulted in a long-term research effort into knowledge access systems for enterprise settings. Recent developments in artificial intelligence, in relation to large language models, are poised to have significant impact on knowledge access. This has the potential to shape the workplace and knowledge in new and unanticipated ways. Many ri… ▽ More

    Submitted 30 April, 2024; v1 submitted 8 December, 2023; originally announced December 2023.

    Comments: 19 pages, 1 table

  6. arXiv:2311.07223  [pdf, other

    cs.PL

    Wasm SpecTec: Engineering a Formal Language Standard

    Authors: Joachim Breitner, Philippa Gardner, Jaehyun Lee, Sam Lindley, Matija Pretnar, Xiaojia Rao, Andreas Rossberg, Sukyoung Ryu, Wonho Shin, Conrad Watt, Dongjun Youn

    Abstract: WebAssembly (Wasm) is a low-level bytecode language and virtual machine, intended as a compilation target for a wide range of programming languages, which is seeing increasing adoption across diverse ecosystems. As a young technology, Wasm continues to evolve -- it reached version 2.0 last year and another major update is expected soon. For a new feature to be standardised in Wasm, four key arte… ▽ More

    Submitted 13 November, 2023; originally announced November 2023.

    Comments: 5 pages, 7 figures

  7. arXiv:2308.08347  [pdf, ps, other

    cs.PL

    Continuing WebAssembly with Effect Handlers

    Authors: Luna Phipps-Costin, Andreas Rossberg, Arjun Guha, Daan Leijen, Daniel Hillerström, KC Sivaramakrishnan, Matija Pretnar, Sam Lindley

    Abstract: WebAssembly (Wasm) is a low-level portable code format offering near native performance. It is intended as a compilation target for a wide variety of source languages. However, Wasm provides no direct support for non-local control flow features such as async/await, generators/iterators, lightweight threads, first-class continuations, etc. This means that compilers for source languages with such fe… ▽ More

    Submitted 13 September, 2023; v1 submitted 16 August, 2023; originally announced August 2023.

  8. 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

  9. Structural Subtyping as Parametric Polymorphism

    Authors: Wenhao Tang, Daniel Hillerström, James McKinna, Michel Steuwer, Ornela Dardha, Rongxiao Fu, Sam Lindley

    Abstract: Structural subtyping and parametric polymorphism provide similar flexibility and reusability to programmers. For example, both features enable the programmer to provide a wider record as an argument to a function that expects a narrower one. However, the means by which they do so differs substantially, and the precise details of the relationship between them exists, at best, as folklore in literat… ▽ More

    Submitted 11 September, 2023; v1 submitted 17 April, 2023; originally announced April 2023.

    Comments: 47 pages, accepted by OOPSLA 2023

  10. arXiv:2304.03441  [pdf, other

    cs.SI physics.soc-ph

    Large-Scale Analysis of New Employee Network Dynamics

    Authors: Yulin Yu, Longqi Yang, Siân Lindley, Mengting Wan

    Abstract: The COVID-19 pandemic has accelerated digital transformations across industries, but also introduced new challenges into workplaces, including the difficulties of effectively socializing with colleagues when working remotely. This challenge is exacerbated for new employees who need to develop workplace networks from the outset. In this paper, by analyzing a large-scale telemetry dataset of more th… ▽ More

    Submitted 6 April, 2023; originally announced April 2023.

    Comments: Accepted at the International World Wide Web Conference (WWW,2023)

  11. arXiv:2209.03819  [pdf, other

    cs.HC cs.AI cs.IR

    Ethical and Social Considerations in Automatic Expert Identification and People Recommendation in Organizational Knowledge Management Systems

    Authors: Ida Larsen-Ledet, Bhaskar Mitra, Siân Lindley

    Abstract: Organizational knowledge bases are moving from passive archives to active entities in the flow of people's work. We are seeing machine learning used to enable systems that both collect and surface information as people are working, making it possible to bring out connections between people and content that were previously much less visible in order to automatically identify and highlight experts o… ▽ More

    Submitted 8 September, 2022; originally announced September 2022.

  12. arXiv:2207.09914  [pdf, ps, other

    cs.PL

    Constraint-based type inference for FreezeML

    Authors: Frank Emrich, Jan Stolarek, James Cheney, Sam Lindley

    Abstract: FreezeML is a new approach to first-class polymorphic type inference that employs term annotations to control when and how polymorphic types are instantiated and generalised. It conservatively extends Hindley-Milner type inference and was first presented as an extension to Algorithm W. More modern type inference techniques such as HM(X) and OutsideIn($X$) employ constraints to support features suc… ▽ More

    Submitted 20 July, 2022; originally announced July 2022.

  13. arXiv:2107.10793  [pdf, other

    cs.PL

    A Typed Slicing Compilation of the Polymorphic RPC Calculus

    Authors: Kwanghoon Choi, James Cheney, Sam Lindley, Bob Reynders

    Abstract: The polymorphic RPC calculus allows programmers to write succinct multitier programs using polymorphic location constructs. However, until now it lacked an implementation. We develop an experimental programming language based on the polymorphic RPC calculus. We introduce a polymorphic Client-Server (CS) calculus with the client and server parts separated. In contrast to existing untyped CS calculi… ▽ More

    Submitted 27 July, 2021; v1 submitted 22 July, 2021; originally announced July 2021.

    Comments: A long version of PPDP 2021 (23rd International Symposium on Principles and Practice of Declarative Programming)

  14. 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

  15. Effects for Efficiency: Asymptotic Speedup with First-Class Control

    Authors: Daniel Hillerström, Sam Lindley, John Longley

    Abstract: We study the fundamental efficiency of delimited control. Specifically, we show that effect handlers enable an asymptotic improvement in runtime complexity for a certain class of functions. We consider the generic count problem using a pure PCF-like base language $λ_b$ and its extension with effect handlers $λ_h$. We show that $λ_h$ admits an asymptotically more efficient implementation of generic… ▽ More

    Submitted 13 July, 2020; v1 submitted 1 July, 2020; originally announced July 2020.

    Journal ref: Proc. ACM Program. Lang., Vol. 4, No. ICFP, Article 100, August 2020

  16. Proceedings Eighth Workshop on Mathematically Structured Functional Programming

    Authors: Max S. New, Sam Lindley

    Abstract: This volume contains the proceedings of the Eighth Workshop on Mathematically Structured Functional Programming (MSFP 2020). The meeting was originally scheduled to take place in Dublin, Ireland on the 25th of April as a satellite event of the European Joint Conferences on Theory & Practice of Software (ETAPS 2020). Due to the COVID-19 pandemic, ETAPS 2020, and consequently MSFP 2020, has been p… ▽ More

    Submitted 30 April, 2020; originally announced April 2020.

    Journal ref: EPTCS 317, 2020

  17. FreezeML: Complete and Easy Type Inference for First-Class Polymorphism

    Authors: Frank Emrich, Sam Lindley, Jan Stolarek, James Cheney, Jonathan Coates

    Abstract: ML is remarkable in providing statically typed polymorphism without the programmer ever having to write any type annotations. The cost of this parsimony is that the programmer is limited to a form of polymorphism in which quantifiers can occur only at the outermost level of a type and type variables can be instantiated only with monomorphic types. Type inference for unrestricted System F-style p… ▽ More

    Submitted 1 April, 2020; originally announced April 2020.

    Comments: 48 pages, 23 Figures. Accepted for PLDI 2020

  18. arXiv:1910.10988  [pdf, other

    cs.PL

    A Polymorphic RPC Calculus

    Authors: Kwanghoon Choi, James Cheney, Simon Fowler, Sam Lindley

    Abstract: The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for the client-server model. Subsequently, the typed RPC calculus is designed to capture the location information of functions by types and to drive location type-directed slicing compilations. However, the use of locations is currently limited to monomorphi… ▽ More

    Submitted 25 May, 2020; v1 submitted 24 October, 2019; originally announced October 2019.

    Comments: SBMF-Brazilian Symposium on Formal Methods 2019

  19. Proceedings ML Family / OCaml Users and Developers workshops

    Authors: Sam Lindley, Gabriel Scherer

    Abstract: This volume contains the joint post-proceedings of the 2017 editions of the ML Family Workshop and the OCaml Users and Developers Workshop which took place in Oxford, UK, September 2017, and which were colocated with the ICFP 2017 conference.

    Submitted 14 May, 2019; originally announced May 2019.

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

    Journal ref: EPTCS 294, 2019

  20. arXiv:1807.03732   

    cs.PL cs.LO

    Proceedings of the 7th Workshop on Mathematically Structured Functional Programming

    Authors: Robert Atkey, Sam Lindley

    Abstract: The seventh workshop on Mathematically Structured Functional Programming is devoted to the derivation of functionality from structure. It is a celebration of the direct impact of Theoretical Computer Science on programs as we write them today. Modern programming languages, and in particular functional languages, support the direct expression of mathematical structures, equipping programmers with t… ▽ More

    Submitted 10 July, 2018; originally announced July 2018.

    Journal ref: EPTCS 275, 2018

  21. arXiv:1710.08332  [pdf, other

    cs.DC cs.PL

    Strategy Preserving Compilation for Parallel Functional Code

    Authors: Robert Atkey, Michel Steuwer, Sam Lindley, Christophe Dubach

    Abstract: Graphics Processing Units (GPUs) and other parallel devices are widely available and have the potential for accelerating a wide class of algorithms. However, expert programming skills are required to achieving maximum performance. hese devices expose low-level hardware details through imperative programming interfaces where programmers explicity encode device-specific optimisation strategies. This… ▽ More

    Submitted 23 October, 2017; originally announced October 2017.

  22. arXiv:1611.09259  [pdf, other

    cs.PL

    Do be do be do

    Authors: Sam Lindley, Conor McBride, Craig McLaughlin

    Abstract: We explore the design and implementation of Frank, a strict functional programming language with a bidirectional effect type system designed from the ground up around a novel variant of Plotkin and Pretnar's effect handler abstraction. Effect handlers provide an abstraction for modular effectful programming: a handler acts as an interpreter for a collection of commands whose interfaces are stati… ▽ More

    Submitted 3 October, 2017; v1 submitted 28 November, 2016; originally announced November 2016.

    Comments: 15 pages, 6 figures, fixing typos and an error in the pattern matching elaboration algorithm

  23. arXiv:1611.06276  [pdf, other

    cs.PL

    Mixing Metaphors: Actors as Channels and Channels as Actors (Extended Version)

    Authors: Simon Fowler, Sam Lindley, Philip Wadler

    Abstract: Channel- and actor-based programming languages are both used in practice, but the two are often confused. Languages such as Go provide anonymous processes which communicate using buffers or rendezvous points---known as channels---while languages such as Erlang provide addressable processes---known as actors---each with a single incoming message queue. The lack of a common representation makes it d… ▽ More

    Submitted 10 May, 2017; v1 submitted 18 November, 2016; originally announced November 2016.

    Comments: Extended version of paper appearing at ECOOP'17

    ACM Class: D.1.3

  24. arXiv:1610.09161  [pdf, ps, other

    cs.LO cs.PL

    On the Expressive Power of User-Defined Effects: Effect Handlers, Monadic Reflection, Delimited Control

    Authors: Yannick Forster, Ohad Kammar, Sam Lindley, Matija Pretnar

    Abstract: We compare the expressive power of three programming abstractions for user-defined computational effects: Bauer and Pretnar's effect handlers, Filinski's monadic reflection, and delimited control without answer-type-modification. This comparison allows a precise discussion about the relative expressiveness of each programming abstraction. It also demonstrates the sensitivity of the relative expres… ▽ More

    Submitted 28 February, 2017; v1 submitted 28 October, 2016; originally announced October 2016.

  25. arXiv:1603.05197  [pdf, ps, other

    cs.PL

    Embedding by Normalisation

    Authors: Shayan Najd, Sam Lindley, Josef Svenningsson, Philip Wadler

    Abstract: This paper presents the insight that practical embedding techniques, commonly used for implementing Domain-Specific Languages, correspond to theoretical Normalisation-By-Evaluation (NBE) techniques, commonly used for deriving canonical form of terms with respect to an equational theory. NBE constitutes of four components: a syntactic domain, a semantic domain, and a pair of translations between… ▽ More

    Submitted 16 March, 2016; originally announced March 2016.

  26. arXiv:1507.07264  [pdf, other

    cs.PL

    Everything old is new again: Quoted Domain Specific Languages

    Authors: Shayan Najd, Sam Lindley, Josef Svenningsson, Philip Wadler

    Abstract: We describe a new approach to domain specific languages (DSLs), called Quoted DSLs (QDSLs), that resurrects two old ideas: quotation, from McCarthy's Lisp of 1960, and the subformula property, from Gentzen's natural deduction of 1935. Quoted terms allow the DSL to share the syntax and type system of the host language. Normalising quoted terms ensures the subformula property, which guarantees that… ▽ More

    Submitted 4 August, 2015; v1 submitted 26 July, 2015; originally announced July 2015.

    ACM Class: D.1.1; D.3.1; D.3.2

  27. 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

  28. Query shredding: Efficient relational evaluation of queries over nested multisets (extended version)

    Authors: James Cheney, Sam Lindley, Philip Wadler

    Abstract: Nested relational query languages have been explored extensively, and underlie industrial language-integrated query systems such as Microsoft's LINQ. However, relational databases do not natively support nested collections in query results. This can lead to major performance problems: if programmers write queries that yield nested results, then such systems typically either fail or generate a larg… ▽ More

    Submitted 2 May, 2014; v1 submitted 28 April, 2014; originally announced April 2014.

    Comments: Extended version of SIGMOD 2014 conference paper

    ACM Class: H.2.4

  29. Effective Quotation: relating approaches to language-integrated query

    Authors: James Cheney, Sam Lindley, Gabriel Radanne, Philip Wadler

    Abstract: Language-integrated query techniques have been explored in a number of different language designs. We consider two different, type-safe approaches employed by Links and F#. Both approaches provide rich dynamic query generation capabilities, and thus amount to a form of heterogeneous staged computation, but to date there has been no formal investigation of their relative expressiveness. We present… ▽ More

    Submitted 11 April, 2014; v1 submitted 17 October, 2013; originally announced October 2013.

    Comments: Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation, January 20-21, 2014, San Diego, CA, USA. Copyright is held by the owner/author(s). Publication rights licensed to ACM

    ACM Class: D.3.1; D.3.2; H.2.3