Yi is a text editor written in Haskell and extensible in Haskell. The goal of Yi is to provide a flexible, powerful and correct editor core scriptable in Haskell.


  • a purely functional editor core;
  • keybindings written as parsers of the input;
  • Emacs, Vim and Cua (subset) emulations provided by default;
  • Vty (terminal) and Gtk-based Pango UIs


The long term goal of the project is to make Yi the editor of choice for the haskell hacker. The main short term goal is to maximize Yi’s Fun Factor. This means that we want to

  • improve hackability (and therefore architecture) and
  • add cool features.

We also want to simplify the core Yi package to make it more accessible, splitting some parts into several packages.

Other information (much of it old) is available on the Haskell wiki.