Sunday, March 29, 2009

Haddock is back

Thanks to the work of David Waern, and the Haskell community in general, Haddock can produce documentation for Yi again!

I uploaded the API docs corresponding to the current version to the community server:

They can be regenerated on your repository by using the latest and greatest versions packages of Cabal, cabal-install and haddock.

cabal update
cabal install Cabal
cabal install cabal-install
cabal install haddock
cd yi
cabal configure
cabal haddock

The documentation will also soon be found on Hackage, as soon as it upgrades to these versions, and then the API will be searchable via Hayoo! A nice example of leveraging the Haskell toolchain.

Another example: using Hoogle, you can search the API right now (if you have the darcs repo).

cabal install hoogle
make yi.hoo
hoogle --data=yi.hoo "your query"

Friday, March 13, 2009

Yi 0.6.0 Release Notes

Yi 0.6.0 Release Notes


Yi is a text editor written in Haskell and extensible in Haskell. The long-term goal of the Yi project is to provide the editor of choice for Haskell programmers.

Yi is now a fully usable editor for the unix console. The community is growing: the #yi irc channel on freenode has about 20 people. They might be able to help with your first steps!


Using cabal install:

cabal update
cabal install yi-0.6.0 -fvty


  • A purely functional editor core
  • Key-bindings written as parsers of the input
  • Emacs, Vim and (partial) Cua emulations provided by default
  • Console front-end (Gtk2Hs and Cocoa front-ends in development)
  • Static configuration (XMonad style) for fast load
  • Haskell support:
    • Lexical highlighting and (unicode-based) beautification.
    • Layout-aware parenthesis-matching
    • Auto-indentation
    • cabal-build within the editor
  • Syntax highlighting for a number of other languages (latex, python, perl, …)


This release is brought to you by:

  • Aleksandar Dimitrov (vim patches)
  • Anders Karlsson (parser testing)
  • Corey O’Connor (vty maintainer)
  • Daniel Schoepe
  • Deniz Dogan (javascript lexer)
  • Dennis Griffith
  • Gustav Munkby (cocoa frontend maintainter)
  • Gwern Branwen (article reader mode)
  • Jean-Philippe Bernardy (general maintainer)
  • Jeff Wheeler (UI work)
  • Kalman Noel
  • Kevin Ballard
  • Krzysztof Goj (vim patches)
  • Michael Dagitses
  • Nicolas Pouillard (vim keymap maintainter)
  • Sasha Rush
  • Stanisław Pitucha

and all the contributors to the previous versions.

Also, Yi would not exist without all the work put into the Haskell platform. It depends on many packages: Cabal, Diff, array, containers, directory, process, old-locale, base, binary, bytestring, derive, data-accessor, data-accessor-monads-fd, data-accessor-template, filepath, fingertree, ghc, ghc-paths, monads-fd, pointedlist, pureMD5, random, regex-base, regex-tdfa, rosezipper, split, time, transformers, utf8-string, uniplate, unix-compat, vty

Thursday, March 5, 2009

Lazy and Incremental Parsing: the paper

It is ICFP submission season! My contribution is about the incremental parsing techniques used in Yi.