Question: I'd like to take an existing application (written in OCaml) and create an Emacs "interface" for it (like, for example, the Emacs GDB mode). I would prefer to do this without writing a ton of Lisp code. In MVC terms, I'd like for the View to be Emacs, but for the Model and Controller to remain (primarily) OCaml.

Does anybody know of a way to write Emacs extensions in a language other than Lisp? This could either take the form of bindings to the Emacs extension API in some other language (e.g., making OCaml a first-class Emacs extension language) or an Emacs interaction mode where, for example, the extension has a pipe into which it can write Emacs Lisp expressions and read out result values.

Answer: 
<http://www.emacswiki.org/cgi-bin/emacs-en?CategoryExtensionLanguage> is a list of all non-Elisp extension languages you can use.

It does appear to be dynamic language centric.

<http://common-lisp.net/project/slime/> is missing from that list, as it is not quite an extension language, but an Elisp-Common Lisp bridge. Its source code would show how to communicate back and forth over sockets.

A similar IDE for Erlang is Distel, at <http://fresh.homeunix.net/~luke/distel/> (currently down) and <https://github.com/massemanet/distel>.

Good luck!
Try [PyMacs](https://github.com/pinard/Pymacs), which allows extending Emacs in Python.

*edit*: updated link.