statebox/cql

Overloaded record names

wisnesky opened this issue · 2 comments

Initially I thought that Haskell's overloaded record extension meant I could e.g., put a field called "eqs" in many records, as is customary in AQL Java. And it can, but the actual call sites of these overloaded projection functions appeared not to use type information to resolve which package/namespace to use, and so I started giving them ad hoc names rather than write prefixes (e.g., Instance, Schema) to disambiguate. Anyway, the goal of this issue is to normalize the naming scheme for the record components.

Adding -XDisambiguateRecordFields doesn't help.

It looks like DisambiguateRecordFields can't do too much (https://downloads.haskell.org/~ghc/8.2.2/docs/html/users_guide/glasgow_exts.html#record-field-disambiguation)

anyway, I'd reckon that using prefixed names really could help the reader of the code to understand which record field is actually been used