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

Bardur Arantsson spam at scientician.net
Sat Feb 13 11:42:48 UTC 2016


(This is getting waaaaayyy off-topic, so I'll stop after this post.)

On 02/13/2016 12:31 PM, Joachim Durchholz wrote:
>> Unfortunately, the Scala people seem to be tiring of the long names and
>> are regressing towards just using top-level names like "play" and
>> "argonaut" and such... :/
> 
> I think that's mostly exceptions for the really-well-known frameworks.
> Similar to the "java.*" and "javax.*" namespaces.
> I can understand why they prefer "play.*" over "com.playframework.*",
> but I don't really get why they say "argonaut.*" instead of
> "io.argonaut.*". Weird.

Unfortunately it's not only famous/popular frameworks... but upon
reconsideration, actually, I think the problem may be imports being
"scoped" in a good-in-theory-but-bad-in-practice way. The issue usually
is an inability to refer to things with short names because you have
clashing imports.

(I won't expand in the interest of brevity. This is off-topic enough
already :).)

> 
> OT3H it's not a really serious problem. The DNS as namespace means you
> have a spot that's guaranteed to be free for your code, and as long as
> nobody uses a TLD for his package root, it's all fine.
> Things could become ugly for the Play framework is somebody registers
> "play" as a new TLD. It would be a clearly a problem for the Play
> framework, not for the DNS, so at least the responsibilities for fixing
> the problem will be easy to assign. Or maybe the Playframework guys will
> get a chance at reserving whatever .play domains would collide with
> their package names, it's quite possible they'd get heard during the
> sunrise period of a hypothetical new .play TLD.

Well, reserving a name is kind of precondition, but *expiry* of domains
could also be bad -- arguably *worse*. I think the main benefit isn't
really tied to domain names per se, but that fact that people/companies
*tend to* pick names that are slightly different as
top-level/next-level/next-level so conflicts would be rare *in practice*
even if there wasn't a "have-a-domain-name" requirement -- which in fact
there *isn't*; it's still just a convention in Java, but it *is*
pervasively followed.

Regards,



More information about the Haskell-Cafe mailing list