The definition of Standard ML
A parallel Lisp language PaiLisp and its kernel specification
Proceedings of the US/Japan workshop on Parallel Lisp on Parallel Lisp: languages and systems
M-structures: extending a parallel, non-strict, functional language with state
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
A semantics for imprecise exceptions
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Concurrent programming in ML
Queue-based multi-processing LISP
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Asynchronous Signals is Standard ML
Asynchronous Signals is Standard ML
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
A Higher-Level Language for Hardware Synthesis
CHARME '01 Proceedings of the 11th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
Error Scope on a Computational Grid: Theory and Practice
HPDC '02 Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing
Optimistic evaluation: an adaptive evaluation strategy for non-strict programs
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Developing a high-performance web server in Concurrent Haskell
Journal of Functional Programming
Kill-safe synchronization abstractions
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Composable memory transactions
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
The KaffeOS Java runtime system
ACM Transactions on Programming Languages and Systems (TOPLAS)
Haskell on a shared-memory multiprocessor
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
Dynamic state restoration using versioning exceptions
Higher-Order and Symbolic Computation
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
An extensible dynamically-typed hierarchy of exceptions
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Manticore: a heterogeneous parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Lightweight concurrency primitives for GHC
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Asynchronous Exceptions as an Effect
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
Structured Interactional Exceptions in Session Types
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
Comparing the performance of concurrent linked-list implementations in Haskell
Proceedings of the 4th workshop on Declarative aspects of multicore programming
Modeling Communication with Synchronized Environments
Fundamenta Informaticae - Application of Concurrency to System Design (ACSD'06)
Journal of Functional Programming
Failboxes: Provably Safe Exception Handling
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Comparing the performance of concurrent linked-list implementations in Haskell
ACM SIGPLAN Notices
Implementation of an Orchestration Language as a Haskell Domain Specific Language
Electronic Notes in Theoretical Computer Science (ENTCS)
Bulk synchronous parallel ML with exceptions
Future Generation Computer Systems
Satin: A high-level and efficient grid programming model
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards a strongly typed functional operating system
IFL'02 Proceedings of the 14th international conference on Implementation of functional languages
Type-based analysis of deadlock for a concurrent calculus with interrupts
ESOP'07 Proceedings of the 16th European conference on Programming
Concurrent orchestration in Haskell
Proceedings of the third ACM Haskell symposium on Haskell
Composable asynchronous events
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Conservative Concurrency in Haskell
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Parallel and concurrent programming in Haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
Modeling Communication with Synchronized Environments
Fundamenta Informaticae - Application of Concurrency to System Design (ACSD'06)
Hi-index | 0.00 |
Asynchronous exceptions, such as timeouts are important for robust, modular programs, but are extremely difficult to program with — so much so that most programming languages either heavily restrict them or ban them altogether. We extend our earlier work, in which we added synchronous exceptions to Haskell, to support asynchronous exceptions too. Our design introduces scoped combinators for blocking and unblocking asynchronous interrupts, along with a somewhat surprising semantics for operations that can suspend. Uniquely, we also give a formal semantics for our system.