What are row types? Are they algebraic data types?
问题 I often hear that F# lacks support for OCaml row types, that makes the language more powerful than F#. What are they? Are they algebraic data types, such as sum types (discriminated unions) or product types (tuples, records)? And is it possible to write row types in other dialects, such as F#? 回答1: First of all, we need to fix the terminology. There is no such thing as "row type" † , at least in type theory and especially in the type system of OCaml. There exists "row polymorphism" and we