Computation Expression

Namespace: FsToolkit.ErrorHandling

Examples

Example 1

The example from Result.map3 can be solved using the result computation expression as below:

// Result<int, string>
let addResult = result {
  let! x = tryParseInt "35"
  let! y = tryParseInt "5"
  let! z = tryParseInt "2"
  return add x y z
}

Example 2

The example from Result.map3 can be solved using the result computation expression as below:

// Result<CreatePostRequest,string>
let createPostRequestResult = result {
  let! lat = Latitude.TryCreate 13.067439
  let! lng = Longitude.TryCreate 80.237617
  let! tweet = Tweet.TryCreate "Hello, World!"
  return createPostRequest userId lat lng tweet
}

Example 3

Given the following functions:

Here's how a simple login use-case can be written (using some helpers from the Result module):

Last updated