Version française
Home     About     Download     Resources     Contact us    
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: -- (:)
From: Hugo Ferreira <hmf@i...>
Subject: Re: [Caml-list] Teaching ocaml programming
Hello,

Andrej Bauer wrote:
> Once again I am teaching a course on theory of programming languages in 
> which we will use ocaml to implement mini-languages. And once again I 
> face the question: which programming environment should we use?
> 
> I have so far tried to use (under Windows)
> 1. cygwin + ocaml + XEmacs
> 2. Eclipse + OcaIDE
> 
> The second solution worked better than the first, for the simple reason 
> that XEmacs is a complete mystery to students. They really, really hate 
> it. But even with the second soltion we had a lot of trouble, because 
> Eclipse is really complicated, and OcaIDE is sort of experimental and 
> not so good under Windows, so the whole setup was confusing and fragile.
> 

I am a satisfied user of Eclipse + OcaIDE on Ubuntu (64bit).
Considering I am (still) a "newbie" in regards to Ocaml and functional 
programming in general, and have a allergy towards emacs, vi and
friends, I would urge you to reconsider OcaIDE + Ubuntu.

To make things simpler you may:
0. Use ocamlbuild projects only.
1. Prepare ocamlbuild files (tags and myocamlbuild) if necessary.
2. Provide a workspace with an example project ready for compilation.
3. Let the students use only one project with various source files.

Point (0) will significantly ease the students experience if they
need not configure any build files. Points (1) and (2) allow you to
add references to used modules, libraries, etc. All the students
do is create a new file, compile and execute.

Point (3) is easy because students need only add a single entry in
the project properties dialogue box (Project targets). They need
only then point and click on the executable to execute and/or debug.

My 2 cents.

HTHs,
Hugo F.