About
Contact
Leksah forum | Google group | This is a Google group dedictaed to Leksah discussions. |
#leksah IRC channel | Chat | Talk to other users and developers |
info@leksah.org | Contact us for further questions | |
Call for help
If you are a user or just test Leksah, we would appreciate to hear from you and your problems and wishes for Leksah.
The development of an IDE is a big issue, so Leksah is intended to become a community project and everyone is invited to contribute.
Help is needed not only with developing new features and advance the implementation but also with:
- Care for packages and installation on different platforms (Windows, Mac, Linux(Debian/Ubuntu,RedHat,Suse,Gentoo,...))
- Spread the word with telling about your experience in Forums, Blogs, ...
- Make meaningful and beautiful icons and enhance the toolbar
- Provide keymaps for users coming from vi, Emacs or whatever
- Provide source candy files
- Help with testing and report errors
- Help with documentation
- Report wishes and ideas for enhancements
- Report bugs and problems
Haskell Background
Haskell is an advanced purely functional programming language. Haskell is based on a community effort which started 1987. The current language definition is the Revised Report of Haskell 98. Work started in late 2005 on the next revision of the Haskell language under the working-title Haskell' (Haskell-prime). Haskell has a wide set of libraries available (See the Standard Libraries and the Hackage library database) and an active and growing community. Haskell is ready to produce flexible, maintainable and high-quality software. Industry adoption is in the very beginning but may grow quickly. Last but not least Haskell is a beautiful language and it is really fun to use.
There are a number of compilers and interpreters available. All are free. GHC is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell. It is the "flagship" Haskell compiler with features like a wide variety of language extensions, generation of fast code, it works on several platforms including Windows,Linux and Mac and it supports profiling, interpreted code and debugging.
Why Leksah
Until Leksah, there was no dedicated Haskell IDE available. Most developers used Editors like Emacs or Vim, which have Haskell modes available together with a shell and several special tools like
- Cabal for Haskell package management
- Haddock for Haskell source documentation
- Darcs for Revision control (which is very popular in the Haskell community, because it is written in Haskell
- And maybe several other tools like HaRe for refactoring, lhs2tex for publication, …
This may work very well but it makes it difficult for a beginner to start developing and is not what is considered today's state of the art of software development, where IDEs like Eclipse and VisualStudio are in widespread use. There are now efforts to develop plugins for Eclipse (EclipseFP) and VisualStudio (Visual Haskell) which may be better alternatives to Leksah.
There are compelling reasons for a Haskell IDE written in Haskell. First and most important Haskell is different from mainstream imperative and object oriented languages and a dedicated IDE may exploit this specialness. Second the integration with an existing tool written in a different language has to solve the problem of integration of different programming languages/paradigm's. Visual Haskell solved it via a Haskell/COM interface, while EclispeFP recently switched from developing everything in Java to the the so called Cohatoe Framework for integrating Haskell Code in Eclipse. There were earlier efforts to write a dedicated Haskell IDE, namely HIDE and Haste, which seems to be orphaned. The 2005 GHC survey showed lots of requests for an IDE, and the theme comes up from time to time on the Haskell Cafe mailing list.
Another project is Yi, which is an Editor written from scratch in Haskell. When I started Leksah I considered to build it on top of Yi, but at that time Yi was difficult to install and was not working under Windows.
We have started to integrate Yi as editor component in Yi with the 0.8 release, but it is not yet usable. Help from the Yi developers would be great.