Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
To: Grant Rettke <grettke@acm.org>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Favorite OCaml editor?
Date: Tue, 5 Jan 2010 16:31:45 +0900	[thread overview]
Message-ID: <91a3da521001042331t6fa190a2h9398a3add8adb670@mail.gmail.com> (raw)
In-Reply-To: <756daca51001042203w3c6a397cx6a5d594c28855a4d@mail.gmail.com>

> "Your favorite" is key here here; I appreciate you human input as I
> can use a search engine to find any old OCaml editor easily.

Then I think a more interesting question is, what features do you
absolutely need to be productive ?

I'm rather low tech and not the "power user" type but still I couldn't
do it without (keyboard access to) :

1) Syntax highlighting and reasonably automatic identation following
ocaml's programming guidelines [1]

2) Ability to invoke a build tool so that reported errors allow me to
automatically jump to the offending lines.

3) Ability to invoke built programs so that reported stack traces
allow me to automatically jump to the offending lines.

4) Ability to read annot files so that I can query the type of the
symbol under my cursor.

5) Ability to switch rapidly between an ml file and its corresponding mli.

6) Ability to edit C sources.

I guess many people would add

7) Ability to access the documentation of the symbol under my cursor.

Now for 1-6, emacs and the distribution's ocaml mode work perfectly
for me (the latter doesn't support one or two of my identation
patterns but it's ok) and is the only sophisitication I need.

Regarding 7) I have a low tech approach which is to use gnome do (on
linux) or quicksilver (on osx) to index
the documentation generated by ocamldoc. Since the latter
intelligently produces an html file "Module.html" for a module named
"Module" I can quickly access its documentation by invoking gnome do
with its hot key, type an abbreviation of "Module" and hit return.
This opens the document in my browser where I scroll or search in the
page to get to the symbol.

Best,

Daniel

[1] http://caml.inria.fr/resources/doc/guides/guidelines.en.html


  parent reply	other threads:[~2010-01-05  7:31 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-05  6:03 Grant Rettke
2010-01-05  6:08 ` [Caml-list] " Mihamina Rakotomandimby
2010-01-05  6:22 ` Mike Lin
2010-01-05  6:36   ` Alexander Voinov
2010-01-05  7:01   ` Erik de Castro Lopo
2010-01-05  7:31 ` Daniel Bünzli [this message]
2010-01-05 11:28   ` Jon Harrop
2010-01-05 16:55     ` Laurent Le Brun
2010-01-05  8:13 ` Jon Harrop
2010-01-05 10:27   ` Alain Frisch
2010-01-05 10:44     ` Nicolas Pouillard
2010-01-05 13:00       ` Alain Frisch
2010-01-05 13:11         ` Nicolas Pouillard
2010-01-05 14:14     ` Hugo Ferreira
2010-01-05  8:45 ` Maxence Guesdon
2010-01-05 11:23   ` Jon Harrop
2010-01-05 10:50     ` Maxence Guesdon
2010-01-05 10:24 ` Vincent Aravantinos
2010-01-05 11:02   ` Richard Jones
2010-01-05 10:58 ` Richard Jones
2010-01-05 12:21 ` Florent Ouchet
2010-01-05 17:32   ` Tim Hanson
2010-01-05 13:09 ` Martin DeMello
2010-01-05  6:21 Gaius Hammond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=91a3da521001042331t6fa190a2h9398a3add8adb670@mail.gmail.com \
    --to=daniel.buenzli@erratique.ch \
    --cc=caml-list@yquem.inria.fr \
    --cc=grettke@acm.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox