Getting started with Yi, the haskell editor (2008)

What’s Yi?

Yi is an emacs-like editor written in haskell.

It is, as they say, made of awesome.

I first heard of Yi in early 2007 when Ben Moseley mentioned it at the pub during MGS 2007. It took me nearly a year to get around to looking at it. But now that I have, I think it’s really cool. It’s a text editor, with a GUI and lots of state – which is exactly the kind of app that most people think haskell is bad for. But actually, that all works out very nicely thankyouverymuch. And because yi is a text editor, and text editors just aren’t that complicated, it makes for a great educational application.

It’s not ready for mainstream use though. It needs a fairly bleeding edge configuration, and lots of functionality is missing. But if you’re looking to hack on a meaty haskell app, it’s a great start.

What’s here

I’ve written a sequence of tutorial examples covering installation and basic extension programming to get you up to speed with Yi. Enjoy!

More random programming stuff and metal-melting fun on my home page and blog.

Help, I don’t know haskell!

Haskell is the new scala, which is the new erlang, which is the new ruby. It’s what all the cool kids are using. The fact that it’s a beautiful and elegant language is irrelevant. Succum to peer pressure!

I first learned Haskell back in 2001 from the excellent book The Haskell School of Expression by Paul Hudak. Unlike many other book, it’s full of useful examples involving graphics and animations. Highly recommended.

The book doesn’t spend very much time explaining monads, which are heavily used in Yi. But over the last few years there have been a billion monad tutorials written on the web.