On 8/29/07, <b class="gmail_sendername">Joel Reymont</b> <<a href="mailto:joelr1@gmail.com">joelr1@gmail.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Suppose I wanted to provide IntelliSense and similar functionality<br>for Erlang. I think this will require re-parsing the code buffer on<br>every keystroke or whenever "." (dot) is typed.<br><br>What is the most efficient way to implement the interface between the
<br>editor and the Erlang VM?<br></blockquote></div><br>While this is a valuable question to ask, I'd think it's a bit premature.  Are you sure that just using the erl_interface isn't going to be performant enough?  Have you profiled it? If the easy solution ends up being fast enough, why bang your head against trying to engineer a faster one?
<br><br>There are at least two other projects that are similar to what you seem to be doing, that I know of.<br><br>For Emacs: <a href="http://fresh.homeunix.net/~luke/distel/">http://fresh.homeunix.net/~luke/distel/</a><br>
For Eclipse: <a href="http://erlide.sourceforge.net/">http://erlide.sourceforge.net/</a><br><br>I know that Distel connects to any Erlang node, so it is using the TCP. I use distel myself and it does context sensitive parsing so that function signatures show up in my Emacs minibuffer and various other things, and I never even notice any performance penalty.  
<br><br>I haven't used Erlide myself, but I imagine it's pretty decent. I assume that it is using the JInterface, so it is doing the same thing.<br><br>-- Samuel<br>