mirage / ocaml-cohttp

An OCaml library for HTTP clients and servers using Lwt or Async
Other
696 stars 172 forks source link

http library name #1022

Closed mseri closed 3 days ago

mseri commented 5 months ago

@dinosaure makes a very valid point concerning http in https://github.com/ocaml/opam-repository/pull/25068#issuecomment-1933685831.

While the idea of the library is to have agreeable basic building blocks to share across http-related lower level packages, the name is very generic and maybe we should keep that free in general. I know that we don't yet have a strict policy on this on the opam repo but I think we are still well in time to rename it.

Some options could be e.g. cohttp-base, cohttp-common, http-common (kind of still generic but maybe more precise). I am not happy about any of those for now and I don't have a strong opinion about the renaming yet, for http I think the library is probably generic enough to warrant the generic name. But it is worth having a discussion about this. Even more so since as opam-repository maintainer I have an unfair advantage here.

rgrinberg commented 4 months ago

I've read the point and I think it's only faintly applicable for a package like Config, and is even less relevant for this package. I've maintained a bunch of packages with generic names (such as Re) and have used equally many (Base, Core, Async). It's never been a problem in practice. Should it ever become a problem, reasonable devs just rename whatever needs to be renamed to avoid collisions (just like in your ocamlscript example).

In general, namespaces are a problem in OCaml that needs to be solved at the language level. Adding useless prefixes/suffixes everywhere is making the life everyone a little more miserable for the 0.0001% of case where it matters. I don't like that trade-off.

mseri commented 4 months ago

Thanks for sharing your opinion. In the meantime I had reached a similar conclusion. I'll leave the issue open a bit longer in case there are new thoughts from other people