Out of curiosity: why not opt for F#?

On Jun 24, 2013 12:11 PM, "Jonathan Protzenko" <jonathan.protzenko@gmail.com> wrote:
On Mon 24 Jun 2013 12:01:06 PM CEST, Bikal Gurung wrote:
> Hi David,
>
> Thank you for your response. I have installed the official windows
> port of ocaml at http://protz.github.io/ocaml-installer/ . However, it
> mentions that MinGW/Msys is no longer supported. I rather use
> Mingw/Msys as well.
There are quite a few things that make working with msys painful, which
is the reason why I switched the installer to cygwin. The installer
still is a 32-bit native windows program, and still generates 32-bit
native windows programs. It's just that cygwin is an easy way to get a
toolchain and a unix-like development environment, which ocaml kind of
needs in order to work right (without it, you only get bytecode
compilation).
- The main problem is that OCaml is, by default, configured to search
executables from the toolchain with the i686-pc-mingw-whatever prefix,
that is, the one that the mingw-w64 compilers have, when installed
through cygwin.
- The second biggest problem is with flexdll which, IIRC, hardcodes the
use of the mingw-w64 compilers (32-bit compilers from the mingw-w64
project). Msys, on the other hand, uses the mingw compilers (the
original mingw project), and the location of the libraries /
executables is slightly different, or maybe flexdll doesn't auto-detect
the right locations for crt2.o and friends, meaning it's painful as you
have to manually export FLEXLINKFLAGS. At some point, it became almost
impossible to have that combination working. I think flexdll started to
hardcode the i686-pc-mingw prefix at some point, and there's no
ready-made, easy to install mingw-w64/msys bundle available, as far as
I know.
- OCamlbuild relies on bash being available in the path to run its
external commands ; an easy way to have this is to have a cygwin
development environment. This is a know issue that no one has stepped
up to fix on windows.
- Finally, the quoting conventions, IIRC, are subtly different between
mingw/msys and cygwin, and OCaml is tailored to cygwin.

For all these reasons, cygwin sounds like a better choice for you
working environment on windows. But I believe msys is still possible.
If there's something that prevents you from having it work properly, I
think we (the team) would be happy to know about it.

Cheers,

jonathan
>
> It seems ocamlbuild requires cygwin to work, has this been your
> experience too? If I build the latest ocaml from trunk - 4.02dev+fp
> will ocaml and other tools/utilities still work on pure MingWg/Msys
> environment?
>
> With regards to ocaml libraries, have you tried the Jane Street
> packages? Core, core_kernel ?
>
> Bikal Gurung
>
>
> On 24 June 2013 10:27, David Allsopp <dra-news@metastack.com
> <mailto:dra-news@metastack.com>> wrote:
>
>     Bikal Gurung wrote:
>     > I am looking to use ocaml to implement a project for my
>     employer. However,
>     > the environment is Windows OS. I am using cygwin and so far it
>     seems to
>     > work but curious on experiences others have on using ocaml on
>     windows -
>     > both as a development and deployment platform. Also has anyone
>     tried using
>     > opam on windows? Does it work?
>
>     I've used the MinGW Windows port of OCaml for nearly a decade.
>     Deployment of programs is the same as deploying anything else on
>     Windows - deploying using executables built with ocamlopt is of
>     course trivial as they have no dependencies beyond any libraries
>     you choose to use.
>
>     Partly because of how long I've used OCaml, I still build it from
>     sources - but there are now several options including the packaged
>     Windows installer, GODI/WODI, etc. Although Windows OCaml users
>     are a minority, there are quite a few developers actively
>     contributing (the recent 64-bit MinGW port was
>     community-initiated, I think).
>
>     Last time I looked, Windows support for opam appeared to be a todo
>     list item, but I haven't looked in a while (laziness... I already
>     have parallel build scripts of my own, so a package manager is
>     lower down my priority list)
>
>     HTH,
>
>
>     David
>
>

--
Caml-list mailing list.  Subscription management and archives:
https://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs