Out of curiosity: why not opt for F#?
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