Defining new keywords in F#'s computation expression

computation-expression, f#, f#-3.0, monads

Solution

In F# 3.0, you can use CustomOperationAttribute for this purpose.

The new attribute is not very well-documented, the only examples I find are this great answer by @Tomas and this interesting blog post.

Problem

The F# 3.0 beta contains a query {} computation expression with tons of new keywords. How can I define my own keywords in a computation builder?

Original source

Related problems