Comment by grumpyprole
Comment by grumpyprole 3 hours ago
Most languages have poor support for structural types though. If you try and join two records together (like a SQL join), what will your favourite language infer then?
Comment by grumpyprole 3 hours ago
Most languages have poor support for structural types though. If you try and join two records together (like a SQL join), what will your favourite language infer then?
I certainly don't mean to knock nominal types. But I think structural types are more fundamental. A language would only need a single "newtype" or "nominal" keyword to create nominal types from structural types.
C# has anonymous types which is pretty much the same thing. Though I prefer to declare actual types for most usecases, I'll only use anonymous types for intermediate results and such.