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=0.2 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 10F24BB84 for ; Sat, 27 Sep 2008 00:05:16 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiYBAKf53EjRVcbslGdsb2JhbACSbj4BAQEBCQkMBxEDoSJrhxEBAg X-IronPort-AV: E=Sophos;i="4.33,316,1220220000"; d="scan'208";a="15399925" Received: from discorde.inria.fr ([192.93.2.38]) by mail2-smtp-roc.national.inria.fr with ESMTP; 27 Sep 2008 00:05:15 +0200 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id m8QM5FPP015487 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sat, 27 Sep 2008 00:05:15 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AiYBAKf53EjRVcbslGdsb2JhbACSbj4BAQEBCQkMBxEDoSJrhxEBAg X-IronPort-AV: E=Sophos;i="4.33,316,1220220000"; d="scan'208";a="15399924" Received: from rv-out-0506.google.com ([209.85.198.236]) by mail2-smtp-roc.national.inria.fr with ESMTP; 27 Sep 2008 00:05:14 +0200 Received: by rv-out-0506.google.com with SMTP id k40so1048625rvb.57 for ; Fri, 26 Sep 2008 15:05:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=0lFZY4mtzKRlIEl1c8gJoPRj2DeMHZ8yvrJibkJvbko=; b=l+hLCYoJGy/p1qmaBEc1zDJwZ37WXZEWlkEuZ+Lve6BFmmWYdRSnNLuJUKyz84TN94 GbDEwrpawZ8/RLfs9yPmsPtao91Vr0hc9jtCS1lvhagAwehrhzyVTASCSpz+dTYW4/56 9BQKdiRchGWxxxs6Ljh8Wy6WBVmgs0Yltnt0Y= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=ZdUwXR2xcrR88ca9oNQWkVzJVR0ew82foDsgIojZ3cM7TxNnlMQhsQ5WqJUFUPTeV3 uA+teEIAEIILE7Pq44UKgWbinRZFWWpLbZrvAsZ1px8vbK7KC3404NpYnX9aUDLjSmqC NYc4OuV50o04l0mvtDlPJTMQHBDDK/ztd/GsQ= Received: by 10.140.141.16 with SMTP id o16mr1015636rvd.209.1222466713831; Fri, 26 Sep 2008 15:05:13 -0700 (PDT) Received: by 10.141.123.21 with HTTP; Fri, 26 Sep 2008 15:05:13 -0700 (PDT) Message-ID: Date: Fri, 26 Sep 2008 15:05:13 -0700 From: "Nathaniel Gray" To: Andrej.Bauer@andrej.com Subject: Re: [Caml-list] Teaching ocaml programming Cc: Caml In-Reply-To: <48DCC7B8.4070700@fmf.uni-lj.si> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <48DCC7B8.4070700@fmf.uni-lj.si> X-Miltered: at discorde with ID 48DD5C9B.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 andrej:01 andrej:01 ocaml:01 nedit:01 syntax:01 sub-optimal:01 toplevel:01 bug:01 cheers:01 26,:98 wrote:01 caml-list:01 face:97 external:03 On Fri, Sep 26, 2008 at 4:30 AM, 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 used to use nedit + shell and it worked quite well. I've got a good syntax highlighting mode and some support scripts. These days I've switched to jEdit but I use much the same workflow. It *is* possible to use the "console" and "error list" plugins for jedit to build programs and get automatic error message highlighting, but the OCaml error format makes it a bit sub-optimal. If you want to try it I can tell you how to configure things. You would still need to run the toplevel in an external shell. The nice thing about jEdit is that it's cross-platform and not quite as bloated as Eclipse. Also, using omake for your build system has some nice advantages. The '-P' flag causes the project to automatically rebuild when any project file changes on disk. After you fix a bug the next error message is already waiting for you. Cheers, -n8 -- >>>-- Nathaniel Gray -- Caltech Computer Science ------> >>>-- Mojave Project -- http://mojave.cs.caltech.edu -->