Saturday, May 16, 2009

EclipseFP is going to be reloaded

Great news: Thomas ten Cate has started a Google Summer of Code project to extend EclipseFP functionality. So there will be some activity on the Haskell IDE front again :-) Of course I'm thrilled that EclipseFP will get some overhaul, but Thomas plans also to integrate GHC via scion, an IDE support library. This is an important step towards an IDE core, written in Haskell, that can be used in other development environments (apart from Eclipse/EclipseFP), and so make it easier to spread good Haskell support in a variety of tools.

Thomas has created a blog about this project at

Good luck Thomas, and thanks for this initiative :-)

Friday, April 24, 2009

Clash of cultures at the Karlsruher Entwicklertag

For those of you who live in the Karlsruhe area, or happen to be there end-June, this might be interesting: there will be a panel discussion on Wed, June 24th, on the 'Clash of Cultures' between agile and traditional approaches.

Podiumsdiskussion: "Clash of Cultures – Agilität und hergebrachte Arbeitsmodelle – Beobachtungen aus USA, Europa, Naher Osten und Asien – Unterschiede und Gemeinsamkeiten."

PD Dr. Andreas Boes (ISF, München); Joe Krebs (AOL, New York), Prof. Dr. Khaled Nagy (Universität Alexandria, POET Egypt), Christian Schmidkonz (SAP, Walldorf), Joseph Pelrine (metaprog, Basel); Simon Roberts (Scrum Center, München)

Moderation: Matthias Grund (andrena objects ag, Karlsruhe)

This particular discussion is free of charge, but seating is limited, so you have to register. (Hint: do so early, this will be fully booked soon :-)

I'll be at the Entwicklertag also and give a talk about agile multi-project management (this will be on the second day, i.e. June 23th). For more info, go here:

Saturday, April 26, 2008

Cohatoe 0.12 preview

With this preview version of Cohatoe, we're actually very close to a release candidate for Cohatoe 1.0.

The most important news is that Cohatoe now supports Windows again. This, and a number of other stability fixes are one of the results of our recent EclipseFP Hackathon at the third Haskell in Leipzig meeting (HaL 3). (Special thanks to Milan Straka for helping us with this complicated low-level work :-)

The new preview version is available from the SourceForge download site and from the Cohatoe website. Have fun :-)

Sharing object code between plugins

Almost all other changes in Cohatoe since the 0.9 preview are robustness improvements and small fixes. In addition, it is now possible for a Cohatoe extension to depend on object code contributed in another (Eclipse) plugin. For example, there is some common code for marshalling data types, which is located in the EclipseFP core plugin, which is needed also for the EclipseFP UI plugin. Cohatoe now allows to refer to this shared code via a new attribute in the declaration of an object code folder:

<haskellFunction codeFile="$os$/obj/EclipseFP/Haskell/UI/Hover/EditorTextHover.o"
<objectCodeFolder plugin="net.sf.eclipsefp.haskell.core">

(An obvious possible improvement would be to have this inferred from the dependency relationship that exists anyway between the UI and Core plugin, and is known on the Eclipse side. However, this is not in scope for the 1.0 release. For the moment, the dependency must be declared manually.)

Saturday, March 22, 2008

Updated HaL 3 program

A short update on the program for HaL 3 (Haskell in Leipzig), which I mentioned earlier: there are two more interesting talks on the agenda now - one about using Haskell in the software industry, the other on program verification for big software projects :-)

You can find the full updated announcement on the HaL3 website.

Sunday, March 16, 2008

EclipseDarcs 0.4.1 available

A new build of EclipseDarcs is now available: version 0.4.1. You can get it as zipped update site from the SourceForge downloads area or directly using this update site location:

Thanks to Neil Bartlett's contribution, you can now directly select a Darcs executable from the Darcs preference page (Preferences > Team > Darcs). The plugin uses that executable then and doesn't rely on Darcs being on the PATH. There are also some minor robustness fixes in this build; mostly they smooth out things in situations where the plugin previously had written ugly messages to the workspace log. Have fun :-)

Monday, March 10, 2008

HaL 3 and EclipseFP Hackathon

There will be another Haskell in Leipzig (HaL) meeting on April 18th (a Friday) - this is the third already, so it seems to be developing into a nice tradition :-)

As at previous HaL events, Haskell IDEs are of some interest. Among other things, we'll hear a talk about Leksah, the new Haskell IDE which was recently announced in its first preview version. (For more info and the full program have a look at the HaL 3 website:

This time, there will also be a Hackathon weekend (April 19 and 20) with focus on EclipseFP and Cohatoe development :-) So if you don't have plans yet for that weekend (and are reasonably close to Leipzig ;-), why not drop by and have some fun?

The kick-off for the Hackathon will be on Friday evening as part of the HaL meeting. I've also set up a wiki at with an idea pool for possible features and some directions on getting started with EclipseFP development. Of course I'll keep you posted on what happened at the Hackathon :-)

Friday, February 15, 2008

Cohatoe 0.9 preview

This is another preview version of Cohatoe. Since the last one, I have switched from PC to Mac (and thus from Windows to MacOS X as my primary working OS), and I have also started the transition to GHC 6.8.2 for Cohatoe. So there is now a Cohatoe version for MacOS X, and one for Linux. Both require GHC 6.8.2.

The transition is not yet complete: Cohatoe is broken on Windows so far (doesn't work yet for GHC 6.8.2, and does no longer work for older versions, so if you are on Windows, you don't want to update Cohatoe ;-); and there are still some issues on both Linux and Mac OS X (details are in the changelog file). But those latter ones can be worked around, and I wanted to make some progress on EclipseFP as well, so I decided to get this out in the current state and switch my attention to EclipseFP for the moment.

Have fun :-)

Finding the right path

Cohatoe calls some external programs (external, that is, to the Eclipse process), namely ghc-pkg and runghc, and of course ghc itself (e.g. to ask it for its version and the libraries folder). To do so, it initiates a new process from within Java code, and this process inherits the environment from its parent process (the JVM that runs Eclipse).

The standard GHC installation is in /usr/local/bin/, and this path is added to the PATH environment variable all right; but that happens in the shell's startup file .profile. Normally one starts Eclipse by double-clicking the in the eclipse/ folder. In this case, .profile is not read and thus PATH is not updated. Therefore, as far as Cohatoe is concerned, GHC cannot be assumed to be on the PATH.

So I have introduced a system property where the path to a GHC installation can be configured: it is named cohatoe.ghc.

This also helps with multiple GHC installations (a user could have several GHC versions on the system and might want to put a different one on the PATH than the one Cohatoe needs).

You can pass cohatoe.ghc either on the command line or in the eclipse.ini file (on Macs, the latter is hidden in It must point to the folder which contains the GHC executable, e.g. -Dcohatoe.ghc=/usr/local/bin. (Make sure you put this into the command line after the -vmargs; else Eclipse will take it as an option for Eclipse, not as one that it has to pass to the JVM.)

If the cohatoe.ghc property is not set, Cohatoe falls back to assuming GHC to be on the PATH; if it isn't there either, the only thing we can do is to write a message to the error log.

Tuesday, November 20, 2007

Cohatoe 0.8 preview

This is an even smaller bugfix build. I mostly did it to have some fixes in for using Cohatoe in the new EclipseFP 2 development branch which is based on Cohatoe. (I'll post about that new development in EclipseFP shortly.)

Have fun :-)