Yi in GTK mode
0.14 / July 25, 2017
latest Git revision
|Operating system||POSIX-compatible (minimal Microsoft Windows support)|
|Platform||Cross-platform; requires GHC 6.10.x|
Yi used to be a Haskell interpreter, very much like Emacs is an Emacs Lisp interpreter; however, the current version of Yi recompiles the code that describes its settings (including editing modes and extensions). Specifically, Yi is implemented as a small executable program which compiles through GHC the larger body of code which actually constitutes a useful editor; this small 'kernel' can repeatedly recompile (and thus type-check) the extensions. This makes it easy to dynamically hack, experiment and modify Yi despite it being written in a strongly statically typed language. Using Haskell as a first-class extension language means that other libraries and tools written in Haskell are also readily usable in editor code.
The long-term goal of the project is in essence to make Yi the editor of choice for Haskell hackers in much the same way that Emacs is the editor of choice for Lisp programmers.
Meaning of the name
The traditional Chinese character could mean "Righteous", "Justice" or "to bring under control".
- Stewart, Don; Chakravarty, Manuel (September 2005). "Dynamic Applications From the Ground Up" (PDF). Haskell '05: Proceedings of the ACM SIGPLAN workshop on Haskell workshop: 27–38. doi:10.1145/1088348.1088352. ISBN 1-59593-071-X. Retrieved 2007-11-25.
- Yi Homepage on the Haskell wiki