statebox / cql

CQL: Categorical Query Language implementation in Haskell
GNU Affero General Public License v3.0
163 stars 15 forks source link

Overloaded record names #117

Open wisnesky opened 6 years ago

wisnesky commented 6 years ago

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.

wisnesky commented 6 years ago

Adding -XDisambiguateRecordFields doesn't help.

marcosh commented 6 years ago

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