February 01, 2005
@#$%ing trailing white space
I cannot believe this error I just encountered using GNU make. Can you spot it? SPECIAL_PACKAGE=YES ifeq "$(SPECIAL_PACKAGE)" "YES" ... then part ... else ... else part ... endif For some reason the else part was continually invoked. Can you spot the reason? No. Don't even try. You can't spot...
January 05, 2005
Loading GHC into GHCi
I managed to get something quite spectacular happening today. I managed to load package ghc into ghci. I'm pretty sure I'm the first to do this. The first time I tried I got the following error message from ghci: GHCi runtime linker: fatal error: I found a duplicate definition for...
January 04, 2005
Experiences using package ghc
package ghc seems, at first glance, like a great way to save a whole bunch of programming effort, but it's not as simple as that. I'll illustrate this through the use of an example. I wanted to write a tool that would, for a given Haskell module, output a call-graph....
December 31, 2004
Copying a GHC build directory requires a little bit more
My previous entry "Making a copy of a complete build of GHC" was missing some very important steps. In turns out that the various "inplace" scripts e.g. ghc-inplace, ghc-pkg-inplace contained the old paths of the build tree. I suggest just deleting them as they are recreated by the build system...
December 19, 2004
Making a copy of a complete build of GHC
This is probably my most useful post so far. It answers the question, "Okay, so I've built GHC. I want to make a copy of the build but I don't want to suffer another three plus hours of productivity destroying build watching." Being a savvy reader, you're probably aware that...
The many dependencies of GHC's build system
GHC continues to amaze me with the number of dependencies it has. I have been building the HEAD nightly (using a set of automated scripts which I wrote) for some time. Mysteriously they started failing on 9 December. Upon inspection it turned out that make was either going into an...
Creating a branch in CVS
When you create a branch in a CVS tree it is a good idea to keep in mind that you may want to merge the branch back into the main trunk at some point. Now how would you go about this? What would be the best way? Many would say,...
December 18, 2004
Branching the CVS tree of GHC
This is my first entry in a series on my work on Pluggable GHC, a new version of GHC that will allow users to write plugins which may be loaded at GHC run-time to do things such as parse language extensions, provide better error messages, and perform custom optimisation passes....