Skip to content

Instantly share code, notes, and snippets.

@Szer
Szer / printdu.fs
Last active December 17, 2019 17:16
Pretty printing DU recursively
open System.Text
open Microsoft.FSharp.Reflection
let printDu du =
let rec inner (builder: StringBuilder, duValue: obj, duType: Type) =
if not (FSharpType.IsUnion duType) then failwith "FU!"
let case, values = FSharpValue.GetUnionFields(duValue, duType)