caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* Postulates for OCaml Development Environment (under Emacs)
@ 2007-03-14 17:10 Lukasz Stafiniak
  0 siblings, 0 replies; only message in thread
From: Lukasz Stafiniak @ 2007-03-14 17:10 UTC (permalink / raw)
  To: caml

I propose some brain-storming on IDE issues.

1. Parse with Camlp4 for all functionality: indentation and Emacs Code
Browser-like features. Augmented with information from .annot files.

2. Use heuristics to repair unfinished code, like here (example should
be better, I'm sorry):

replace in the background (not in the buffer)

  let rec fib n = if  then 1 else fib(n-1) +
  ;;

with

  let x01 = ref None;;
  let x02 = ref None;;
  let f01() = match !x01 with Some x -> x | None -> failwith "x01";;
  let f02() = match !x02 with Some x -> x | None -> failwith "x02";;
  let rec fib n = if (f01()) then 1 else fib(n-1) + (f02());;

Report types for unfinished code as well with C-c C-t.

3. Follow-to-definition and show-where-used for identifiers.

4. Customize `allout-mode' to use ocamldoc syntax.

5. Did I mention context-aware complete? Based on the AST returned by
Camlp4 together with .annot files. Perhaps unifying types to get a
clean list of candidates.

Best Regards,
Lukasz


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-03-14 17:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-14 17:10 Postulates for OCaml Development Environment (under Emacs) Lukasz Stafiniak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).