On 12/16/2011 02:14 PM, Gerd Stolpmann wrote:
Simple answer: There is a bootstrap problem: The existing Ocaml users
are almost Unix-only. They do not care about Windows. In order to
establish "Windows-typical problem solving" you need definitely more
Windows users, but they will only come if you have a Windows-typical way
of distribution.
My thinking is that you can break this circle only if you go forward and
try to make as many Unix-style solutions available under Windows as
possible.
Honestly, I think this is the wrong approach. The Windows-style of
packaging (i.e. lack of packaging system) is very simple to implement:
just ship zip files or Windows installers. It's less comfortable than
powerful package systems as we're used to in the Unix world, but it is
not an issue for Windows users.
By the way, your plan includes Unix emulation, too, under point 3. It's
only more hidden.
Yes, but Unix emulation exists and works not too badly. You can use
Cygwin, or msys, etc. I can see two reasons for reimplementing
Unix-like tools, and none of them are good:
- We want to control everything in order to have better options for
creating nice packages for OCaml related stuff. This is a bad reason,
because Windows users except binary package anyway, so the external
tools needed during the build process don't have to be redistributed.
The only external tools which are currently mandatory to use ocaml
are an assembler and a linker, and some native libraries. Not
a Unix shell, a "find" or a "ls" command.
- Existing solutions are not build on strong technical foundations,
and one thinks one can do better. Ok, but this has nothing to do
with OCaml; this will necessarily represent a huge amount of
work; and I don't see why people who don't really care about Windows
would do a better job in a few months than people who've spent years
of work on cygwin/msys/etc.
Can you explain what's wrong with my approach:
* OCaml users have access to binary packages which can be trivially
installed (zip files or installers) and are self-contained.
* People in charge of creating these packages use existing Unix-like
environment (cygwin/msys/...); and progressively, they
publish "best practices" for the whole community in order to
simplify their job (e.g. try to rely on ocamlbuild or omake instead
of Makefiles; avoid relying on symbolic links; etc).
Alain
--
Caml-list mailing list. Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs