Lets see what we can do! with F# Computation Expressions
All F# developers will be familiar with:
- seq expressions that allow imperative looking code to compute lazy sequences of data on demand.
- async blocks that enable asynchronous operations to be composed together.
Rather than build constructs like seq and async into the language F# has built them on top of a more general feature: computation expressions. This decision enables developers to build their own expression languages for composable abstractions using familiar syntax. This talk will explore the power of computation expressions to deal with a range of real-world problem domains. Examples will include:
- Composing computations that fail
- Asynchronous paged data sources
- Building typesafe domain specific languages that be can interpreted at runtime
By writing programs this way we can separate the pure problem domain from the underlying details of the computations.