non recursive types are simple ones, simple is better, also consistent with let rec
so that
type t = int list
type rec t = Nil | Cons of t * t list
Why add this is OCaml does not require it?
@tekknolagi OCaml has rec by default for types and you have to specify nonrec to make it non-recursive. It's kind of confusing because it's different convention than value let bindings which have nonrec by default and make you specify rec to achieve recursive bindings.
I would rather them be consistent, and I don't care which (either both types and values recursive by default or not as long as they match).
Merging into #394. Let's do it!
Most helpful comment
@tekknolagi OCaml has
recby default for types and you have to specifynonrecto make it non-recursive. It's kind of confusing because it's different convention than value let bindings which havenonrecby default and make you specifyrecto achieve recursive bindings.I would rather them be consistent, and I don't care which (either both types and values recursive by default or not as long as they match).