On Tue, Dec 17, 2013 at 11:57 AM, Ashish Agarwal wrote: > On Tue, Dec 17, 2013 at 12:47 PM, Daniel Bünzli < > daniel.buenzli@erratique.ch> wrote: > >> I could have used Sdl but I don't like to take ownership of toplevel >> names that are used in other settings. >> > > Admirable, but if you're defining a library that binds to a C library, I > think it is reasonable to take that name. We rarely have multiple OCaml > libraries that bind to the same C library. In this case, the library name > could be sdl or ocaml-sdl (or sdl2 or ocaml-sdl2). I usually don't like > adding "ocaml-" to library names because it is silly; of course it is an > ocaml library. However, when binding to a C library, it makes some sense to > distinguish between the OCaml and original C libraries. > > There are multiple sdl and opengl bindings. I think there was another ocamlsdl aside from the current OCamlSDL, and there's sdlcaml which is packed with glcaml. For OpenGL, there's LablGL, glMLite, and glcaml. And these are the package names, rather than the module names. It's ripe territory for naming clashes. :) I've taken an initial stab at my own SDL2 bindings and I've been using Sdl2 as the module name (sdlcaml uses Sdl as it's module name), but expected that I might change that to something more distinct if I were to share it. This does raise a question though... should we be concerned about module-name clashes for libraries which should be used "one or the other"? I don't know if some build tool might find libraries by module name now or in future -- if so, unique module names are important. If not, then I guess using the same module name is fine, but with a distinct package name. >> > I don't like random single letters in names, which is also a problem in >> your Vg and Gg project names. >> >> It's not random ! It's short cryptic acronyms. Vector graphics, geometry >> and graphics… >> > > I misspoke. What I meant is: I don't like short cryptic acronyms. They > appear random to me because I don't know what they mean. > > Sdl, Glut, Qt, Gtk, Xml... it's only cryptic at first, and what would you really use which is less cryptic? I can understand the desire to have a library name which at least gives a hint of it's utility, but this isn't possible in the general case without getting some cumbersome names!