Software
Home Ordering Info Software Lecture Slides Demos Bugs/Errata

The code used in The Haskell School of Expression relies on a specific graphics module called SOEGraphics, which in turn depends on the Haskell Graphics Library (HGL).  The source code also depends on a small library of MIDI code to support computer music.  The following packages describe how to get all of this working on various platforms.

Binary Installations:

bullet

Win32

This is a CVS current version of Hugs.  (Hugs Nov2003 does not work with the GraphicsLib and SOE sources provided here.)  You will notice the immediate size difference to previous Hugs versions because it now contains packages other than just GraphicsLib and SOE.  The GraphicsLib and SOE source are installed under hugs\lib\.

Here is an automatic installer version of the above -- the preferred way to install everything on a Windows platform.
 

bullet

Linux

Using root user, if your linux has BSD-style installation scripts (i.e., installpkg, removepkg), you can install it via:

    installpkg hugs_SOE-Nov2003-i386-1.tgz

and later remove it by

    removepkg hugs_SOE-Nov2003-i386-1

This will install hugs binaries into /usr/local/bin and hugs libs into /usr/local/lib/hugs.  GraphicsLib and SOE source are installed under /usr/local/lib/hugs/lib.

For non-root installations, you can just untar the package somewhere, add the bin directory to your PATH environment, and use:

    HUGSDIR=/your/path/to/lib/hugs hugs

to run hugs.
 

bullet

OS X

This installation will require Admin privileges and install hugs binaries into /usr/local/bin and hugs libs into /usr/local/lib/hugs.  The GraphicsLib and SOE source are installed under /usr/local/lib/hugs/lib.

You need to start X11 before you run any GraphicsLib or SOE code.  Apple's X11 can be downloaded from (Apple's X11 site).

Source Installation for GraphicsLib:

The GraphicsLib library can be installed as follows:

bullet

Win32:  The source package of GraphicsLib and SOE do not work with the Hugs Nov2003 release.  You are advised to use the binary package provided above as it is the latest CVS version.
 

bullet

Linux:  Install Hugs Nov2003 first and then follow the Install file in GraphicsLib above to install and use it.
 

bullet

OS X:  Install Hugs Nov2003 (or CVS version) first and then follow the Install file in GraphicsLib to install and use it.  Note: to properly install Hugs Nov2003, you need to change a line in src/config.h after the usual configure.sh routine.  Find the line that says:                                                                       
                                                                           
       #undef HAVE_LIBM                                                    
                                                                           
and change it to                                                            
                                                                           
       #define HAVE_LIBM 1                                                 
                                                                     
Minor hiccups might still occur for some Posix libraries such as environment and signal, but you can ignore them for now, as they do not affect the Hugs installation (dig into the Hugs mailing list if you really want to have them fixed!).

Also, you will need to have both Apple's X11 package and X11 developer package installed prior to compiling GraphicsLib sources. The latter can be found in the Xcode developer kit that usually comes with OS X installation CD/DVD.

Source Installation for SOE code:

SOESource

The SOE source code above needs no installation, and you can put it anywhere you like. It is also included in all binary packages provided above, but you still need to type the path to each individual source file in order to load it.