Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Teaching ocaml programming
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2008-10-11 (16:19)
From: Kuba Ober <kuba@m...>
Subject: Re: [Caml-list] Teaching ocaml programming
On Saturday 11 October 2008, Kuba Ober wrote:

> OK, I'm off to work on tonight and tomorrow. My minimal goals are:
> 1. Editor with at least skeleton syntax highligting
> 2. Output window so that you can see results of your program running
> 3. Toplevel window so that you can run interactive sessions.
> The thing will be written in C++, as getting the necessary Ocaml bindings
> generated for Qt would take too much time initially. Maybe later I'd port
> it to Ocaml, as long as I can get the bindings to work well on Windows.
> In the long run I'd need to patch mingw as appropriate so that Ocaml could
> use it without subjecting people to Cygwin, and so that the whole thing
> could be actually easily built once you install Ocaml, Mingw and Qt's
> sources. Mingw toolchain needs relatively few files to run, and is rather
> trivial to set up (just copy a bunch of files into a directory, and set up
> the path).

Hmm, replying to myself: Camelia already does a lot of this, but I don't know
how well it works with native (non-Cygwin) OCaml. I will try it out, it seems
to be a great starting point, and it may actually get me to tweak things out
so that OCaml can do its thing without any Cygwin support at all.

My revised goals are thus:

1. Get Camelia compiled using VS/Qt4. See how it works with native
(mingw-compiled) Ocaml, tweak as necessary. Make an installer. This
is the path of least resistance, as VS is my primary development

2. Addressing some usability issues. Refactor/port to Qt4 only 
as there's no GPL'd Qt3 for Windows. This means drop any Qt3
support code, and refactor the code to use Qt4 features - this
should reduce source size somewhat.

3. Install mingw compilers and compile Qt so that there's a free
platform for compiling Camelia.

4. Try compiling Camelia using those, tweak as necessary, rebuild
the installer to provide Camelia with GPL'd Qt.

5. See if it's possible to get OCaml to build natively using mingw,
without Cygwin present. Likely patch mingw to provide @responsefile
and whatever other functionality OCaml depends on.

Cheers, Kuba