Skip to content

Instantly share code, notes, and snippets.

@blair55
Created November 29, 2022 13:44
Show Gist options
  • Save blair55/1d7eafcfb12eb6987cadec614ebef206 to your computer and use it in GitHub Desktop.
Save blair55/1d7eafcfb12eb6987cadec614ebef206 to your computer and use it in GitHub Desktop.
Writer computation expression
type WriterBuilder() =
member __.Return(x) = retn x
member __.Bind(m, f) =
let (a, logs1) = run m
let (b, logs2) = run (f a)
Writer(fun () -> b, logs1 @ logs2)
let writer = WriterBuilder()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment