Skip to content

Commit 57d9f06

Browse files
authored
Merge pull request #999 from IanWitham/RemoveDupePaper
Remove duplicate entry for F# Computation Expression Zoo paper
2 parents 75f2300 + f647c9a commit 57d9f06

File tree

1 file changed

+0
-21
lines changed

1 file changed

+0
-21
lines changed

teaching/research.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -207,27 +207,6 @@ an implementation of language integrated SQL queries using the LINQ/SQLMetal lib
207207
sketch two other applications: the execution of data-parallel quoted F# programs on a GPU via the
208208
Accelerator libraries, and dynamic native-code compilation via LINQ.
209209

210-
### [The F# Computation Expression Zoo](http://tomasp.net/academic/papers/computation-zoo/)
211-
212-
Tomas Petricek and Don Syme
213-
_In proceedings of PADL 2014_
214-
215-
Many computations can be structured using abstract computation types such as monoids, monad
216-
transformers or applicative functors. Functional programmers use those abstractions directly while
217-
main-stream languages often integrate concrete instances as language features - e.g. generators in
218-
Python or asynchronous computations in C# 5.0. The question is, is there a sweet spot between
219-
convenient, hardwired language features, and an inconvenient but flexible libraries?
220-
221-
F# computation expressions answer this question in the affirmative. Unlike the do notation in Haskell,
222-
computation expressions are not tied to a single kind of abstraction. They support a wide range of
223-
computations, depending on what operations are available. They also provide greater syntactic
224-
flexibility leading to a more intuitive syntax, without resorting to full macro-based meta-programming.
225-
226-
We show that computation expressions can structure well-known computations including monoidal list
227-
comprehensions, monadic parsers, applicative formlets and asynchronous sequences based on the list
228-
monad transformer. We also present typing rules for computation expressions that are capable of
229-
capturing all these applications.
230-
231210
--------------
232211

233212
## Parallel and Distributed programming

0 commit comments

Comments
 (0)