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=2.0 required=5.0 tests=DNS_FROM_SECURITYSAGE autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 D3F24BBAF for ; Mon, 20 Oct 2008 17:45:39 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArsDAB9E/EjAXQIngWdsb2JhbACTbwEBFiKob4UdX4Ns X-IronPort-AV: E=Sophos;i="4.33,452,1220220000"; d="scan'208";a="16288354" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 20 Oct 2008 17:45:39 +0200 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m9KFjYl7006249 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 20 Oct 2008 17:45:39 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AmgBAK5E/EhMYB4gimdsb2JhbACTbwEBAQoJDAcPqHyFHl+DbA X-IronPort-AV: E=Sophos;i="4.33,452,1220220000"; d="scan'208";a="18962417" Received: from qmta03.emeryville.ca.mail.comcast.net ([76.96.30.32]) by mail1-smtp-roc.national.inria.fr with ESMTP; 20 Oct 2008 17:45:37 +0200 Received: from OMTA04.emeryville.ca.mail.comcast.net ([76.96.30.35]) by QMTA03.emeryville.ca.mail.comcast.net with comcast id UyB11a0040lTkoCA33lcwL; Mon, 20 Oct 2008 15:45:36 +0000 Received: from marco.local ([67.186.254.232]) by OMTA04.emeryville.ca.mail.comcast.net with comcast id V3la1a00N51dFYK8Q3lbNX; Mon, 20 Oct 2008 15:45:35 +0000 X-Authority-Analysis: v=1.0 c=1 a=wbvPL8zYWWEA:10 a=FD5j4xppBqwA:10 a=lhjPcToc38lQXeLEZCAA:9 a=RRzy0fdTPCobfTIL3cwA:7 a=z_nKwCY-iXAi-oQzSYi8ZdKMfxsA:4 a=XF7b4UCPwd8A:10 Message-ID: <48FCA79E.7090607@flux.utah.edu> Date: Mon, 20 Oct 2008 09:45:34 -0600 From: Robert Morelli User-Agent: Thunderbird 2.0.0.17 (Macintosh/20080914) MIME-Version: 1.0 To: Thomas Gazagnaire Cc: Mark Shinwell , caml-list@inria.fr Subject: Re: [Caml-list] What does Jane Street use/want for an IDE? What about you? References: <200810200919.41561.ober.14@osu.edu> <20081020133711.GP14123@janestcapital.com> <9722eaea0810200705x50c51160p91f740a806f7ab15@mail.gmail.com> In-Reply-To: <9722eaea0810200705x50c51160p91f740a806f7ab15@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 48FCA79E.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; morelli:01 morelli:01 emacs:01 emacs:01 ocaml:01 ocaml:01 wrote:01 unix:01 caml-list:01 tex:01 lisp:02 lisp:02 organized:02 defined:02 philosophy:02 Thomas Gazagnaire wrote: > > What are killer features you dream of? > > Clearly, the ability to click on a function to go to the place where > it is defined is the only reason why I switched from emacs to Eclipse > ... And I would be very happy to switch to a faster IDE because > Eclipse is so slow on big project. The emacs tags system didn't work for you? I'm surprised that's the only thing you found useful in Eclipse, considering how primitive Emacs is. Which brings me to my suggestion ... Part of the reason Emacs is still so limited after nearly 30 years of development is that it is largely based on emacs lisp, a very poorly designed lisp dialect that makes large scale development very difficult and unreliable. Emacs lisp has all of the flaws that make large scale, loosely organized, collaborative development a disaster. It's in fact rather astonishing how little progress Emacs has made over the years and I think it's a great case study in how dramatic an effect poor up front design choices can have on long term development. Unfortunately, most of the foundational "unix-think" technologies I use suffer from the same fatal flaw: very poor programming language design built on top of very poor underlying architecture. That's certainly the case with Emacs (along with bash, TeX, X, and pretty much every other unix technology). What Emacs lisp does wrong is virtually a checklist of bad programming language design. On the other hand, these are all of the things languages like OCaml do right. So, my dream would be for someone to build a text editor with the same basic philosophy as Emacs, cloning a good bit of its core functionality, but built on a sound architecture, and capable of dealing with the demands of modern complex software systems, like IDEs. Roughly speaking, Emacs built on top of a "real" language like OCaml, and with the capabilities of modern gui systems, networks, work flows, etc. in mind. It would of course be a total waste of time to start writing the 5000th text editor that goes nowhere. But I think this would be a very worthwhile project if it is built with the goal of overcoming the failures of Emacs through sound technology, appropriate design, and a mind to extensibility. The goal of building a text editor that could serve as an IDE for OCaml would be a very good challenge to keep these goals tested from an early stage.