Version française
Home     About     Download     Resources     Contact us    
Browse thread
Postulates for OCaml Development Environment (under Emacs)
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Lukasz Stafiniak <lukstafi@g...>
Subject: Postulates for OCaml Development Environment (under Emacs)
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