caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Alain Frisch <alain@frisch.fr>
To: Adrien <camaradetux@gmail.com>
Cc: Martin DeMello <martindemello@gmail.com>,
	Gerd Stolpmann <info@gerd-stolpmann.de>,
	Jonathan Protzenko <jonathan.protzenko@gmail.com>,
	caml-list@inria.fr
Subject: Re: [Caml-list] Some comments on recent discussions
Date: Wed, 14 Dec 2011 07:03:18 +0100	[thread overview]
Message-ID: <4EE83C26.7090108@frisch.fr> (raw)
In-Reply-To: <CAP5QFJnsannf42j+jzS4xTsc5HYKa9xXtcfyYOTZ4LYNHWedPw@mail.gmail.com>

On 12/13/2011 10:53 AM, Adrien wrote:
> On 13/12/2011, Alain Frisch<alain@frisch.fr>  wrote:
>> As Xavier said, it would be great to find someone who'd like to join the
>> core dev team in order to improve support for Windows. Anyone interested?
>
> In my experience, OCaml is working mostly fine on Windows. I can see
> some issues but nothing huge. Do you have some examples?

It is very good to hear about some successful experiences with OCaml 
under Windows!

Needless to say, but at LexiFi we are also very happy with OCaml under 
Windows.


That said, the situation probably needs to be improved in order to 
attract a larger audience. Many users complain about not being able to 
install and use OCaml under Windows in reasonable amount of time.  And 
the binary packages for Windows tend to lack behind official releases of 
OCaml.

As a concrete problem, until a few days ago, the mingw port could not be 
used with recent versions of Cygwin without some small hacks (like 
copying manually /bin/gcc-3.exe into gcc.exe, and passing more 
directories to flexlink).  No big deal, but it can discourage beginners.

A more serious issue is the lack of support for ocamlfind, GODI, and 
many libraries around for Windows.  Also, ocamlbuild does not play very 
nicely with Windows. A related point: the assumption is generally made 
that OCaml developpers under Windows need to have a running Cygwin 
installation. This is a huge barrier to entry. It would take some time 
to address this, but there is really no reason why ocamlbuild, for 
instance, should rely on an external Unix-like shell
(I believe the only reason today is to rely on bash for quoting 
arguments!).  And it is not difficult to adapt the build system for most 
libraries to avoid any dependency on Unix-like tools (using either 
ocamlbuild or omake). It just takes time to do so (and to maintain the 
result).

For the native compiler, we need an external toolchain, but this is not 
a huge issue.  With some little amount of work, one could support a 
standalone msys/mingw (as opposed to mingw compilers packaged in 
Cygwin), and it would be interesting to come up with a minimal mingw 
distribution (only with a C compiler, assembler, etc, as required by 
ocamlopt) that could be packaged together with OCaml. On the MSVC side, 
everything needed for the MSVC port (C compiler, linker, assembler, 
supporting headers and libraries) is found in a single free download 
from Microsoft.

I can also mention that with some work, one could come up with a 
standalone version of ocamlopt that does not require any external tool 
to produce .cmxs plugins  (we have done that at LexiFi, by replacing the 
assembler code emitter with a direct binary code generator; and by 
extending flexdll to produce dlls without an external linker).  Getting 
rid of the external toolchain to produce standalone programs is more 
difficult: to create the .exe, one needs some libraries and object 
files; a solution could be to do the same as for bytecode, that is, 
having a generic driver which loads user code concatenated to it. But 
being able to generate .cmxs without any external tool already make it 
possible to distribute OCaml native applications (packaged with 
ocamlopt) that the users can extend with OCaml plugins.


 > I guess most
> of the work would be to move forward instead of being stuck in the
> current situation.

Can you elaborate?  What are the most important issues in the current 
situation?


Alain

  parent reply	other threads:[~2011-12-14  6:03 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-06 15:24 Jonathan Protzenko
2011-12-06 15:31 ` Joel Reymont
2011-12-06 23:03   ` Martin Jambon
2011-12-06 16:01 ` Mihamina Rakotomandimby
2011-12-06 16:03 ` Benedikt Meurer
2011-12-06 16:56   ` Ashish Agarwal
2011-12-06 17:12 ` Gerd Stolpmann
2011-12-06 17:33 ` Alex Rubinsteyn
2011-12-06 17:53 ` Alain Frisch
2011-12-07  0:18   ` Paolo Donadeo
2011-12-07  1:00     ` oliver
2011-12-07  6:33       ` Mihamina Rakotomandimby
2011-12-07  1:48     ` Ashish Agarwal
2011-12-07  9:53       ` Goswin von Brederlow
2011-12-07 10:33     ` Pierre-Alexandre Voye
2011-12-07 11:18       ` Gabriel Scherer
2011-12-07 13:15         ` David MENTRE
2011-12-07 13:48           ` Alan Schmitt
2011-12-07 14:56           ` Ashish Agarwal
2011-12-07 15:52         ` oliver
2011-12-10 14:58         ` Xavier Leroy
2011-12-08  7:59       ` rixed
2011-12-08 10:37         ` oliver
2011-12-08 13:15         ` [Caml-list] Wanted book (Re: Some comments on recent discussions) Mihamina Rakotomandimby
2011-12-09 21:22           ` oliver
2011-12-09  7:13   ` [Caml-list] Some comments on recent discussions Martin Jambon
2011-12-10 20:32 ` Andrei Formiga
2011-12-10 21:01   ` Edgar Friendly
2011-12-10 21:12     ` rixed
2011-12-10 21:24       ` Edgar Friendly
2011-12-10 21:49         ` rixed
2011-12-10 22:45           ` Edgar Friendly
2011-12-10 23:58       ` Hans Ole Rafaelsen
2011-12-11 10:25       ` Gerd Stolpmann
2011-12-11 10:06   ` Gerd Stolpmann
2011-12-13 17:41   ` oliver
2011-12-13  5:54 ` Martin DeMello
2011-12-13  7:15   ` Gerd Stolpmann
2011-12-13  8:21     ` Martin DeMello
2011-12-13  8:51       ` Alain Frisch
2011-12-13  9:15         ` Gaius Hammond
2011-12-13 14:08           ` Gerd Stolpmann
2011-12-14  5:28           ` Alain Frisch
2011-12-13  9:51         ` Martin DeMello
2011-12-13  9:53         ` Adrien
2011-12-13 20:52           ` Jon Harrop
2011-12-14  6:03           ` Alain Frisch [this message]
2011-12-14  9:34             ` Jonathan Protzenko
2011-12-14 10:24               ` Alain Frisch
2011-12-14 13:37                 ` Adrien
2011-12-14 14:24                   ` Gabriel Scherer
2011-12-14 15:27                   ` Gerd Stolpmann
2011-12-14 15:46                     ` Gaius Hammond
2011-12-14 15:49                     ` Adrien
2011-12-14 16:42                       ` Fabrice Le Fessant
2011-12-14 17:04                       ` Alain Frisch
2011-12-15 21:38                         ` Adrien
2011-12-14 16:55                   ` Alain Frisch
2011-12-14 21:35                     ` Benedikt Meurer
2011-12-15 11:14                     ` Adrien
2011-12-14 12:52             ` Gerd Stolpmann
2011-12-14 13:25               ` Jonathan Protzenko
2011-12-14 17:27               ` Aleksey Nogin
2011-12-14 17:36                 ` Gerd Stolpmann
2011-12-14 19:41                   ` David Allsopp
2011-12-15 10:29                     ` Adrien
2011-12-15 17:41                       ` Martin DeMello
2011-12-15 20:47                         ` Adrien
2011-12-15 21:20                           ` Martin DeMello
2011-12-15 11:25                     ` Gerd Stolpmann
2011-12-16 12:39                   ` Alain Frisch
2011-12-16 12:44                     ` Jonathan Protzenko
2011-12-16 13:14                     ` Gerd Stolpmann
2011-12-16 14:11                       ` Alain Frisch
2011-12-16 14:50                         ` Gerd Stolpmann
2011-12-16 13:58                     ` Stéphane Glondu
2011-12-16 17:29                     ` Edgar Friendly
2011-12-14 18:41                 ` Dmitry Grebeniuk
2011-12-14 23:54               ` Martin DeMello
2011-12-15 10:03                 ` Adrien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EE83C26.7090108@frisch.fr \
    --to=alain@frisch.fr \
    --cc=camaradetux@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=info@gerd-stolpmann.de \
    --cc=jonathan.protzenko@gmail.com \
    --cc=martindemello@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).