[Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

Joachim Durchholz jo at durchholz.org
Sat Feb 13 07:03:37 UTC 2016

Am 13.02.2016 um 07:11 schrieb Rustom Mody:
> I would have thought that SML would be the one which had the most
> sophisticated module-sublanguage.  Would be interested to know how SML and
> Java stack up against each other in that respect.

I never understood SML's module system. The explanations I found were 
focused on the "what", and very intricate, but I never found an 
explanation "why" they were doing it. My impression was that it was 
quite sophisticated in its possibilities to adapt a module during 
import, but I was never sure whether SML's notion of module was even 
similar to that in other languages.

The Java module system isn't spectactular, essentially an import 
establishes visibility and nothing more (adaptation is separate, and 
limited to type parameters), and you have a hierarchical namespace.
The only thing that sets Java apart is that the DNS namespace is used as 
the basis, and that's not even a language rule, just a recommendation; 
the fascinating thing is that a mere recommendation was enough to make 
clear who's responsible for fixing a name conflict, and virtually 
eliminate name conflicts from the Java world.

[Please don't mail directly and CC to Haskell-cafe, this defeats my 
mailer's "reply to list" function.]

More information about the Haskell-Cafe mailing list