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 …

Sessions and session types: An overview

M Dezani-Ciancaglini, U De'Liguoro - … 2009, Bologna, Italy, September 4-5 …, 2010 - Springer
We illustrate the concepts of sessions and session types as they have been developed in
the setting of the π-calculus. Motivated by the goal of obtaining a formalisation closer to …

Language primitives and type discipline for structured communication-based programming

K Honda, VT Vasconcelos, M Kubo - European Symposium on …, 1998 - Springer
We introduce basic language constructs and a type discipline as a foundation of structured
communication-based concurrent programming. The constructs, which are easily …

Functional reactive animation

C Elliott, P Hudak - Proceedings of the second ACM SIGPLAN …, 1997 - dl.acm.org
Fran (Functional Reactive Animation) is a collection of data types and functions for
composing richly interactive, multimedia animations. The key ideas in Fran are its notions of …

[图书][B] Introduction to functional programming using Haskell

R Bird - 1998 - books.google.com
After the success of the first edition, Introduction to Functional Programming using Haskell
has been thoroughly updated and revised to provide a complete grounding in the principles …

Composable memory transactions

T Harris, S Marlow, S Peyton-Jones… - Proceedings of the tenth …, 2005 - dl.acm.org
Writing concurrent programs is notoriously difficult, and is of increasing practical importance.
A particular source of concern is that even correctly-implemented concurrency abstractions …

A history of Haskell: being lazy with class

P Hudak, J Hughes, S Peyton Jones… - Proceedings of the third …, 2007 - dl.acm.org
A history of Haskell Page 1 A History of Haskell: Being Lazy With Class Paul Hudak Yale
University paul.hudak@yale.edu John Hughes Chalmers University rjmh@cs.chalmers.se …

[图书][B] Transactional memory

JR Larus, R Rajwar - 2022 - books.google.com
The advent of multicore processors has renewed interest in the idea of incorporating
transactions into the programming model used to write parallel programs. This approach …

Cayenne—a language with dependent types

L Augustsson - ACM SIGPLAN Notices, 1998 - dl.acm.org
Cayenne is a Haskell-like language. The main difference between Haskell and Cayenne is
that Cayenne has dependent types, ie, the result type of a function may depend on the …

Functional reactive programming from first principles

Z Wan, P Hudak - Proceedings of the ACM SIGPLAN 2000 conference …, 2000 - dl.acm.org
Functional Reactive Programming, or FRP, is a general framework for programming hybrid
systems in a high-level, declarative manner. The key ideas in FRP are its notions of …