From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id E2FF77F20B for ; Wed, 13 Feb 2013 16:42:04 +0100 (CET) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of wojciech.meyer@gmail.com) identity=pra; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="wojciech.meyer@gmail.com"; x-sender="wojciech.meyer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of wojciech.meyer@gmail.com designates 209.85.212.178 as permitted sender) identity=mailfrom; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="wojciech.meyer@gmail.com"; x-sender="wojciech.meyer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wi0-f178.google.com) identity=helo; client-ip=209.85.212.178; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="wojciech.meyer@gmail.com"; x-sender="postmaster@mail-wi0-f178.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnMCACOzG1HRVdSyk2dsb2JhbABEhk6nLZJvFg4BAQEBCQkLCRQEI4IfAQEEASMdARsRAQsBAwELBgULAwQGAgIFBB0CAg8BBA8RAQUBCgQBExMJCQILh2ABAwkGBAigVItlT4J7hD8KGScDClmIbAEFDIEXjBUSgyaBEwOWJIEdjVQ/hCmBaSQ X-IPAS-Result: AnMCACOzG1HRVdSyk2dsb2JhbABEhk6nLZJvFg4BAQEBCQkLCRQEI4IfAQEEASMdARsRAQsBAwELBgULAwQGAgIFBB0CAg8BBA8RAQUBCgQBExMJCQILh2ABAwkGBAigVItlT4J7hD8KGScDClmIbAEFDIEXjBUSgyaBEwOWJIEdjVQ/hCmBaSQ X-IronPort-AV: E=Sophos;i="4.84,658,1355094000"; d="scan'208";a="2098763" Received: from mail-wi0-f178.google.com ([209.85.212.178]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 13 Feb 2013 16:30:29 +0100 Received: by mail-wi0-f178.google.com with SMTP id o1so1565492wic.11 for ; Wed, 13 Feb 2013 07:42:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-type :content-transfer-encoding; bh=aoXMVqWBhXam7Qtg3cuLINXwUQAieKMwpgI28VIPoe8=; b=CwnBPooz10SXZyZSs5SF7288i15F7NA+t4HEaGm7aVdYUAPBq6qx+nOMiiToZSv/pb ZRCw2tKGt4eFE2vjMHBs2BbBFi92KhtxJbxvuxH95MolUNFps5cM0jbvHQXuhQ/3Wkcr YBKroigv909ixLEdyKSIX4CN6nV2FKGwIEUHZoICrHsBPe/WwIyAkB77B+wXswPUg7Tq qc9chTnQfeLxZlXSxtv9CyldPo3x9yfs7waModC/XZUvPJy6kbbMotxugL0rWI62c/EF 3TixRMAs8V44xZnv1dGGdGaEAoA6sBQbkszlYfbF6Q++nAkySCHPemglhKgLc+ypKr7s nksA== X-Received: by 10.194.92.65 with SMTP id ck1mr39135706wjb.54.1360770115419; Wed, 13 Feb 2013 07:41:55 -0800 (PST) Received: from spec-desktop.danmey.org (cpc1-cmbg12-0-0-cust201.5-4.cable.virginmedia.com. [86.9.116.202]) by mx.google.com with ESMTPS id fx5sm46852011wib.11.2013.02.13.07.41.52 (version=TLSv1.1 cipher=RC4-SHA bits=128/128); Wed, 13 Feb 2013 07:41:53 -0800 (PST) From: Wojciech Meyer To: Gerd Stolpmann Cc: Louis Gesbert , Martin DeMello , "caml-list\@inria.fr" References: <1360764756.2379.7@samsung> Date: Wed, 13 Feb 2013 15:41:57 +0000 In-Reply-To: <1360764756.2379.7@samsung> (Gerd Stolpmann's message of "Wed, 13 Feb 2013 15:12:36 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.94 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: AW: [Caml-list] geany as an ocaml ide Hi, I think we should stick into two of these options: - provide a exhaustive framework for supporting editors, with possible bindings everywhere, and let the community to write needed plugs for the existing editors. It's already happened with OCaIDE. Looking at projects like Slime for Common Lisp, our Typerex, it probably requires to act as a client-server application. It's not necessary though, Eclipse for Java is a primary example how excellent can be support from the IDE without listening to a socket. However, the architecture needs to be well thought and it must work across different APIs, Eclipse, VIM, Emacs and other editors I don't know much about. So in summary there are few things to consider: -- syntax highlighting and indentation - best if that worked across lines of code. This is basic feature most people just need to have to wo= rk on Caml code; -- navigation and refactoring - with an interactive support of the editor - so refactor one bit and continue to the next or abandon last change, etc; -- tooling integration - invocation of the compiler, integration with the toplevel, navigation to auto-generated docs etc; -- completion mechanism and decent error recovery - that means we probably can't use OCaml parser as it does not re-cover very well from errors. What we need is to run exact OCaml parser and when it fails fallback to approximate context parser, which will do the error recovery then. -- debugging the code with help of IDE. - the second important idea, is to introduce people that are not (yet) familiar with software engineering as such, and they it's their first encounter with the programming. TryOCaml website does partial job of dragging these people to OCaml world, however it solves very well slightly different problem, it introduces people to OCaml regardless previous exposure to writing code. Here, I'm talking mostly here about kids that want to write and see games in OCaml, students that are interested in genuine programming but never happen to be interested in tooling or they don't have time for it (or not required because they are not developers) and people that chosen that their first ever programming language would be OCaml. Now in my measures minimal cost would be to provide something like WinOCaml were, in terms of minimal editor that just does very well few things: editing and interaction with toplevel, compilation with one keystroke, basic syntax highlighting and clever enough indentation scheme that does not go on the way. Just forget about fancy features, if somebody wants them, then go for the "real editor" like before mentioned ones. Just discourage people for being efficient in such environment and they will seamlessly consider better environment. I also concur idea that we could support cloud editors which boomed these days over the web. So the basic editor -- should be just activation energy for people interested in learning OCaml, heard that's brilliant language but don't feel yet to get into maze of tooling. The first aspect - providing enough libraries and context for developing the future IDEs in OCaml is also the important one -- that's the community who should do it, not anybody else - even the community who are not directly related to OCaml -- that's it, think about Eclipse written in Java have some very nice C++ support in form of CDT. Think about Emacs written in Elisp which has a nice generic support for C++ and Java in form of CEDET or JDE. So I understand the confusion here, but I think we should clearly draw the line between providing a framework for others to support editing, and very simple and domain specific editor for the beginners. -- Wojciech Meyer http://danmey.org PS: tramp is also one of the must have features to me in Emacs. Gerd Stolpmann writes: > Just to make an example: Personally, I'm still sticking to emacs > (although latest tuareg-mode is error-prone), mainly because it has one > killer feature: Tramp. You need to know that I'm often not building my > programs on the machine I'm sitting at, but I'm remotely logging in to > another machine (often over continents). Tramp is an emacs module to > edit files remotely via ssh/sftp. Yes, I also require tramp. > > My guess is that there are many other users who would profit from such > a feature. Nevertheless, it is not popping up anywhere else - strange > enough, since we left the "PC" era long ago where everything had to > happen locally on your own computer. The IDEs seem not to have left > this era, and in a time where everything moves to the cloud this is > really anachronistic. > > It is clear to me that many features of IDEs are more difficult to > implement with such a requirement, as the latency to open files is way > higher. But on my side there is nothing to discuss, as remotely editing > files is more important than anything else. > > Another point from the perspective of a professional: There is > absolutely no need to integrate build support into the IDE (like > OCamlEditor tries to do). We have already utilities for this, and these > are scriptable - which is a MUST-HAVE for all professional use (think > of continuous integration, for instance). > > Gerd > > > Am 12.02.2013 12:29:41 schrieb(en) Louis Gesbert: >> Hi, >> >> No offence taken :). OCamlEditor indeed looks like a very interesting >> project, >> with lots of features already present. But the scope and project >> goals are not >> the same though, so I think ocp-editor still has a place on its own ; >> >> One of our main goals is to make IDE bricks available publicly, so I >> think the >> projects can benefit to one another. I would be glad to borrow some >> widgets from >> OCamlEditor, and it could use automatic indentation or better >> toplevel process >> interaction. >> >> If the author -- Francesco Tovagliari -- is around here, I would be >> glad to know >> how he feels about this ? >> >> -- >> Louis Gesbert, OCamlPro >> >> Le mardi 12 f=C3=A9vrier 2013 00:24:36, Martin DeMello a =C3=A9crit : >> > Hi Louis, >> > >> > That looks very interesting. Sorry if this seems like a rude >> question; >> > I truly don't mean it that way, but if your editor needs a few >> months >> > of work, why not work on a stripped-down interface for OCamlEditor >> > [http://ocamleditor.forge.ocamlcore.org/] instead? I remember when I >> > was learning web development I enjoyed using Evrsoft's "1st Page" >> IDE, >> > which had modes that would add or remove bits from the interface as >> > you progressed from beginner to power user, and something like that >> > would be very nice to have for OCaml. >> > >> > martin >> > >> > On Mon, Feb 11, 2013 at 3:40 AM, Louis Gesbert >> > >> > wrote: >> > > OCaml is definitely lacking in this area; I am at the moment >> working >> > > precisely on solving this issue, with a dedicated Gtk editor that >> runs >> > > on Linux, OSX and Windows. It is pretty basic at the moment but >> already >> > > has code edition and working toplevel interaction (no compilation >> or >> > > project yet). >> > > >> > > Release is intended in a few months from now, with sufficient >> features >> > > for beginners and students. If successful, it will then be >> extended to >> > > handle bigger projects (multi-file, build system integration, >> etc.). >> > > >> > > Until then, you may see the project's github page at >> > > https://github.com/OCamlPro/ocp-edit-simple (name temporary) >> > > >> > > -- >> > > Louis Gesbert, OCamlPro >> > > >> > > Le Monday 11 February 2013 01:49:41, Martin DeMello a =C3=A9crit : >> > >> I spent some time last night going through all the "what is a >> good >> > >> (beginner's) ide for ocaml?" threads I could find online, and >> trying >> > >> out the various options suggested. I ruled out the following: >> > >> >> > >> * vim, emacs and eclipse (not beginner-friendly; people who want >> to >> > >> use them will know how to do it) >> > >> * anything that did not provide a binary install for Windows and >> OSX, >> > >> and wasn't a simple configure/make/make install on linux >> > >> * anything that needed fiddling with config files just to >> install it >> > >> * anything that needed the OCaml sources to be independently >> present >> > >> and configured (!) >> > >> * anything that was abandoned, or didn't seem to support OCaml 4 >> > >> >> > >> I was left with Geany and Komodo Edit as possibilities, and >> Geany won >> > >> out by letting me open up a test.ml file and immediately being >> able to >> > >> find and run the OCaml compiler. At least on Linux, it was a >> perfect >> > >> beginner-friendly experience. >> > >> >> > >> So what do people think about ocaml.org officially promoting >> Geany as >> > >> the answer to "I'm learning OCaml; what is a good IDE?"? I'd be >> happy >> > >> to write up a page on it and contribute it. >> > >> >> > >> martin >> > > >> > > -- >> > > Caml-list mailing list. Subscription management and archives: >> > > https://sympa.inria.fr/sympa/arc/caml-list >> > > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> > > Bug reports: http://caml.inria.fr/bin/caml-bugs >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/arc/caml-list >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs >> > > > > -- > ------------------------------------------------------------ > Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de > Creator of GODI and camlcity.org. > Contact details: http://www.camlcity.org/contact.html > Company homepage: http://www.gerd-stolpmann.de > ------------------------------------------------------------