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.0 required=5.0 tests=AWL,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 mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id A590DBBAF for ; Mon, 20 Oct 2008 16:55:21 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArsDACw4/EjAXQImgWdsb2JhbACTbwEBFiKuY4Nsgyc X-IronPort-AV: E=Sophos;i="4.33,452,1220220000"; d="scan'208";a="30542172" Received: from discorde.inria.fr ([192.93.2.38]) by mail4-smtp-sop.national.inria.fr with ESMTP; 20 Oct 2008 16:55:21 +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 m9KEtJ4i015308 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 20 Oct 2008 16:55:20 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApkAAGc4/EhCbwQbi2dsb2JhbACTbwEBAQoLCgcPBq5mg2yDJw X-IronPort-AV: E=Sophos;i="4.33,452,1220220000"; d="scan'208";a="16286161" Received: from out3.smtp.messagingengine.com ([66.111.4.27]) by mail2-smtp-roc.national.inria.fr with ESMTP; 20 Oct 2008 16:55:20 +0200 Received: from compute2.internal (compute2.internal [10.202.2.42]) by out1.messagingengine.com (Postfix) with ESMTP id 0E959181A9A; Mon, 20 Oct 2008 10:55:18 -0400 (EDT) Received: from heartbeat2.messagingengine.com ([10.202.2.161]) by compute2.internal (MEProxy); Mon, 20 Oct 2008 10:55:18 -0400 X-Sasl-enc: JS4rFJRGNQKjnql/l9vwMYqYMmsMSGZIlNRsRLsCZvlW 1224514517 Received: from [192.168.1.10] (ALyon-157-1-107-4.w90-41.abo.wanadoo.fr [90.41.98.4]) by mail.messagingengine.com (Postfix) with ESMTPSA id 2910A2481E; Mon, 20 Oct 2008 10:55:17 -0400 (EDT) Message-ID: <48FC9A1E.70505@ens-lyon.org> Date: Mon, 20 Oct 2008 16:47:58 +0200 From: Martin Jambon User-Agent: Thunderbird 2.0.0.17 (X11/20081008) MIME-Version: 1.0 To: Kuba Ober Cc: 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> In-Reply-To: <200810200919.41561.ober.14@osu.edu> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Miltered: at discorde with ID 48FC9BD7.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ens-lyon:01 ocaml:01 emacs:01 ocaml:01 compilation:01 emacs:01 c-c:01 c-c:01 makefile:01 c-e:01 caml-mode:01 toplevel:01 c-e:01 toplevel:01 ledit:01 Kuba Ober wrote: > I have questions to the kind folks at Jane Street, > and others who use OCaml for commercial/non-research > development: what do you guys use for your development > environment? What would be the minimal set of functionality > that would make you happy for an IDE? What are killer features > you dream of? I'm working for wink.com (people search engine) and speaking on my own behalf. I use 16 (4x4) virtual Fvwm desktops with free mouse movement between them and a small map of the desktops in the lower-right corner (+ xosview). The majority of the population finds this disturbing, I'm not really sure why. I hate clicking or typing to switch from a window to another so I just move my arm in order to place the mouse cursor over the right window in the right virtual desktop as shown on the map. That's the feature I was dreaming of until I discovered its existence, quite a long time ago. There are no icons or toolbar. A left-click anywhere on the background displays a menu with the applications I commonly use, and that's enough. Here are graphical applications I use: * standard 80x25 xterm for filesystem navigation, commands and remote logins. * 80xN emacs * wider xterm for reading log files with less, grep, etc. * ocamlbrowser * web browser * IM client * email client Build tools: * omake for large OCaml projects (which represents now more than 95% of my time) * whatever-works for small or public projects Compilation: * from within emacs with tuareg-mode (C-c C-c) or from an (O)Makefile (C-x C-e) * middle-click on the error message or warning brings me directly to the error location (killer feature) * compiling now always with -dtypes; C-c C-t shows the type under the cursor (killer feature; requires caml-mode installed if I remember correctly) Editor: * emacs + tuareg-mode for OCaml * still emacs for any other text format Testing: * ocaml toplevel within emacs (C-x C-e to evaluate a phrase in tuareg-mode) * or ocaml toplevel + xterm + ledit * programs are run from an xterm * I'm close to totally ignorant about ocamldebug. Maybe a graphical interface would help (is there any?). All of this is the best combination for me because I chose it myself from the largest choice available. I must say I don't understand the meaning or the need for the I in IDE. What I use is accessible using a single monitor, a keyboard and a mouse + a desk + paper and pen. Technically it is integrated on my desk, I have full control over it, it is safe, it does what I want and never does what I don't want. Now I hope someone will react and tell me the benefits of "Integrated" but so far it looks to me that the close interaction between the build system, the file system and the text editor is taken care of nicely by emacs+tuareg-mode. > I'm trying to come up with a longer time plan for Camelia -- > this so far relegated, to the dismay of my wife and daughter > -- to prolonging my morning showers, so I may as well ask > around. None of those plans/feedback would have immediate > effect, but I wouldn't mind it simmering for a bit. > > The reason I got into camelia is not only OCaml, but it > seems like a small and manageable enough IDE to base > other tools that I'm working on for various embedded > architectures. In the long run, for Windows platform > I will statically link it and literally have it be > a single executable, so that it can be trivially > shared, it would also make it easier to consume > by people on locked-down computers where software > installations are disallowed. Of course OCaml is another > deal here, but you have to start with something :) I would already be unhappy and underproductive with KDE, so don't even mention Windows and its single virtual desktop. (How do people manage 20+ windows without using several virtual desktops? I can't because I need to switch between them all the time) The great thing about an all-in-one-app solution is that it makes it possible to get started quickly, which is great for teaching a programming language to inexperienced students. For a daily use it seems to me like a source of frustration and waste of productivity. Martin -- http://mjambon.com/