Hi Robin, On Fri, Mar 27, 2009 at 16:13, Robin Green wrote:
> 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? > I don't know, but... 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? > I would love to see Haskell SPLs developed with feature-oriented programming concepts [1,2]. Only it would be much better if compositions were type-safe. I don't want aspects as they are presented in AspectJ (i.e. dynamic, hazardous). But everybody has their own definition of aspect these days. Regards, Sean [1] http://en.wikipedia.org/wiki/Feature_Oriented_Programming [2] http://www.cs.utexas.edu/users/schwartz/search.cgi
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe