Gopcaml mode

#projects #ocaml #tool

This is a project that implements structural OCaml editing in emacs, and I actually use this almost every single day.

The motivation for this project is my realization that the key benefits of the emacs keybindings and movement operations over Vi/Vim's ones, is that Emacs prioritizes semantic based movement, while Vi acts at a dumb textual level. While this means that Vi is more adaptable to arbitrary formats, it also means that there are operations that you can do in emacs that you could never dream of doing in Vim (structural transpositions etc.).

Unfortunately, outside of Lisp, not many people have invested in implementing these structural bindings for emacs, leading to Vi being a better choice.

To rectify this issue, I concieved GopCaml mode - an emacs mode that integrates with the default Emacs bindings to allow for structural transformations:

gopcaml_move_expression_example.gif

I can not express how useful this feature is, and I'm suprised more people aren't using it - this plugin makes OCaml editing a complete breeze.

You can find this project here: gopcaml-mode