From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 9A2A7BB84 for ; Fri, 26 Sep 2008 15:12:05 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap8DAH983EjAXQImiGdsb2JhbACTHwEBARUiqR+BZA X-IronPort-AV: E=Sophos;i="4.33,314,1220220000"; d="scan'208";a="17381861" Received: from discorde.inria.fr ([192.93.2.38]) by mail3-smtp-sop.national.inria.fr with ESMTP; 26 Sep 2008 15:12:05 +0200 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m8QDC4cs029241 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Fri, 26 Sep 2008 15:12:05 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsoBAEJ83EjVhjEYo2dsb2JhbACTHwEBAQEBAQcLCgcRqSCBZA X-IronPort-AV: E=Sophos;i="4.33,314,1220220000"; d="scan'208";a="29619767" Received: from ihsmtp02voda.lis.interhost.com (HELO ihsmtp02cons.lis.interhost.com) ([213.134.49.24]) by mail4-smtp-sop.national.inria.fr with ESMTP; 26 Sep 2008 15:12:04 +0200 Received: from [192.168.1.64] ([77.54.249.136]) by ihsmtp02cons.lis.interhost.com with Microsoft SMTPSVC(6.0.3790.3959); Fri, 26 Sep 2008 14:09:57 +0100 Message-ID: <48DCDF9D.6040401@inescporto.pt> Date: Fri, 26 Sep 2008 14:11:57 +0100 From: Hugo Ferreira User-Agent: Thunderbird 2.0.0.17 (X11/20080925) MIME-Version: 1.0 To: Andrej.Bauer@andrej.com Cc: Caml Subject: Re: [Caml-list] Teaching ocaml programming References: <48DCC7B8.4070700@fmf.uni-lj.si> In-Reply-To: <48DCC7B8.4070700@fmf.uni-lj.si> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 26 Sep 2008 13:09:57.0583 (UTC) FILETIME=[2CBEB5F0:01C91FD9] X-Miltered: at discorde with ID 48DCDFA4.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 andrej:01 ocaml:01 cygwin:01 emacs:01 compilation:01 ubuntu:98 ubuntu:98 wrote:01 compile:01 experimental:01 caml-list:01 modules:02 newbie:02 functional:02 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.