@@ -207,27 +207,6 @@ an implementation of language integrated SQL queries using the LINQ/SQLMetal lib
207
207
sketch two other applications: the execution of data-parallel quoted F# programs on a GPU via the
208
208
Accelerator libraries, and dynamic native-code compilation via LINQ.
209
209
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
-
231
210
--------------
232
211
233
212
## Parallel and Distributed programming
0 commit comments