[Haskell-cafe] Conditional compilation

Robin Green greenrd at greenrd.org
Fri Mar 27 11:13:28 EDT 2009

I am writing some code for citation support in gitit, and all the
#ifdefs I'm using to do conditional compilation are a bit tiresome.

Suppose you have the requirement that a certain feature of your
software be disable-able at compile time, to avoid having to pull in
certain dependencies (which may not be available on all platforms).
Disabling a feature may entail removing certain fields from certain
constructors (again, to avoid pulling in certain dependencies), and/or
removing certain functions from certain modules. What is the best way to
do this in Haskell?

This problem description suggests that perhaps insights from
Aspect-Oriented Programming and/or Software Product Lines may be
relevant. However, I haven't heard of much work that relates these
concepts to Haskell. Maybe this would be a good topic for an
enterprising student?


More information about the Haskell-Cafe mailing list