Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
"heterogeneous" vs. "heterogenous" in HList and HMap documentation #233
I guess this might be nitpicking, and rather minor, but a friend was telling me about the HList in shapeless, and it launched into a discussion of "heterogenous" versus "heterogeneous". While "heterogenous" is an accepted common alternate spelling of "heterogeneous", it's also a separate word in its own right, referring to something originating from outside an organism or system (literally "other (hetero-) in origin (-genous)"). While shapeless is heterogenous to Scala, its HList seems better described by "heterogeneous", which basically means nonuniform in composition.
I came from Twitter, hoped for more bikeshedding :-(. This seems relatively easy. Assuming others buy the evidence below, would you submit a pull request?
My trusted "Garner's Modern American Usage" (if you want to read why it's so authoritative, David Foster Wallace wrote an essay about what's cool about it) has an entry on the topic, which strongly agrees with you — except that it is more strongly against "heterogenous". Of course this is not exactly hard sciences, and different authors might have different opinions, but this is about as certain as it can get. He also quotes the Oxford English Dictionary (2nd. ed. 1989), which has somewhat similar conclusions and some variant of which seems your source (I've looked up in the edition included in OS X).
To quote what I find most relevant:
(If you wonder, I'm no native speaker, but I have to care about good writing to write papers. These are of course minor issues).
I wasn't aware of the possible pun, but if I had been I would have chosen the current spelling deliberately rather than accidentally: as well as being non-uniform, shapeless's HLists are, metaphorically, "foreign tissue".
And look at that foreign tissue! Look at the spelling in the description!