Compiling the example

We now have a lot of source files--some in Haskell, some in C, and some in Eiffel, and the Makefile for this project gets slightly complex. The ghc Haskell compiler, though, can accommodate us; by using the SmallEiffel compile_to_c command, we can reduce the problem to a bunch of Haskell files and a bunch of C files--and traditional make suffix rules can reduce that to a bunch of Haskell files and a bunch of linkable object files.

The ghc command can do the rest, compiling the requisite Haskell files and linking the whole mess; the program works.