How to declare an imperative

P Wadler - ACM Computing Surveys (CSUR), 1997 - dl.acm.org
How can we integrate interaction into a purely declarative language? This tutorial describes
a solution to this problem based on a monad. The solution has been implemented in the …

Futhark: purely functional GPU-programming with nested parallelism and in-place array updates

T Henriksen, NGW Serup, M Elsman… - Proceedings of the 38th …, 2017 - dl.acm.org
Futhark is a purely functional data-parallel array language that offers a machine-neutral
programming model and an optimising compiler that generates OpenCL code for GPUs …

A mixed linear and non-linear logic: Proofs, terms and models

PN Benton - International Workshop on Computer Science Logic, 1994 - Springer
Intuitionistic linear logic regains the expressive power of intuitionistic logic through the!('of
course') modality. Benton, Bierman, Hyland and de Paiva have given a term assignment …

[图书][B] Advanced topics in types and programming languages

BC Pierce - 2024 - books.google.com
A thorough and accessible introduction to a range of key ideas in type systems for
programming language. The study of type systems for programming languages now touches …

Enforcing high-level protocols in low-level software

R DeLine, M Fähndrich - Proceedings of the ACM SIGPLAN 2001 …, 2001 - dl.acm.org
The reliability of infrastructure software, such as operating systems and web servers, is often
hampered by the mismanagement of resources, such as memory and network connections …

Lazy functional state threads

J Launchbury, SL Peyton Jones - ACM SIGPLAN Notices, 1994 - dl.acm.org
Some algorithms make critical internal use of updatable state, even though their external
specification is purely functional. Based on earlier work on monads, we present a way of …

Automatic differentiation in ML: Where we are and where we should be going

B Van Merriënboer, O Breuleux… - Advances in neural …, 2018 - proceedings.neurips.cc
We review the current state of automatic differentiation (AD) for array programming in
machine learning (ML), including the different approaches such as operator overloading …

A lambda calculus for quantum computation

A Van Tonder - SIAM Journal on Computing, 2004 - SIAM
The classical lambda calculus may be regarded both as a programming language and as a
formal algebraic system for reasoning about computation. It provides a computational model …

Alias types

F Smith, D Walker, G Morrisett - European Symposium on Programming, 2000 - Springer
Linear type systems allow destructive operations such as object deallocation and imperative
updates of functional data structures. These operations and others, such as the ability to …

State in haskell

J Launchbury, SL Peyton Jones - Lisp and symbolic computation, 1995 - Springer
Some algorithms make critical internal use of updatable state, even though their external
specification is purely functional. Based on earlier work on monads, we present a way of …