a diagram editor in Haskell

Blobs editor with FPTC Dazzle

What is Blobs?
How do I use it?
How can I contribute?

What is Blobs?

Blobs is a diagram editor for directed graphs. It is written in Haskell, using the platform-independent GUI toolkit wxHaskell. It is a community project at a fairly early stage of development - you are encouraged to get involved and improve it!

Blobs is a front-end for drawing and editing graph diagrams. You must add your own back-end engine if you want it to do some analysis or processing of the graph. There are various analysis engines that use Blobs as a front-end, e.g.

but these are not currently available as open source. We do supply a couple of very simple engines, just to demonstrate how to connect the engine up to Blobs.

What can Blobs do?


Because Blobs does not do anything much useful on its own, there is no released version of Blobs. Individual projects which share Blobs as a component have their own separate releases.

To use Blobs in your own project, you must collect a copy of the darcs repository.

    darcs get
The source tree and version history can be browsed on-line through darcsweb.

Copyright: © 2005 the authors and contributors.

Blobs was originally written by Arjan van IJzendoorn and Martijn Schrage of the Universiteit Utrecht. Other contributors include Malcolm Wallace. Full details are in the COPYRIGHT file.

License: This software is distributed under the terms of the LGPL (see file LICENCE-LGPL for more details), but there is a special exception clause detailed in file COPYRIGHT.

This software comes with no warranty. Use at your own risk.

How do I use it?

Building instructions

To build Blobs, you need:

On Windows you may also need to install mingw in order to have the GNU make utility etc.

In the toplevel Blobs directory, there is a Makefile. You may need to edit it slightly, e.g. for a different version of ghc, or to enable/disable building a MacOS application bundle (symbol MAC=yes).

Just type 'make' and Blobs should build. If you change or add any imports in the code itself, you may need to 'make depend' to update the Makefile.

Usage instructions

How can I contribute to Blobs?

Step one: join the Blobs mailing list.

Step two: darcs send your patches to the list.

Discussion about features is encouraged before you implement them. Patches to create or improve documentation (including this webpage) are just as welcome as actual code.

To Do list