[Haskell-cafe] Code that writes code
andrewcoppin at btinternet.com
Fri Aug 20 14:21:04 EDT 2010
Graham Klyne wrote:
> Maybe not helpful to you at this stage, but...
> An alternative to generating source code is to factor out the common
> "boilerplate" elements into separate functions, suitably
> parameterized, and to use higher order functions to stitch these
Well, yeah, if you've got so much boiler plate that you have to automate
generating the boilerplate, you're probably doing it wrong. ;-)
All I'm actually using it to do is generate a set of fixed-size
containers (each of which has a bazillion class instances). I've got a
variable-sized container, but sometimes it's useful to statically
guarantee that a container is a specific size. In addition, by being
fixed-size you can get a few small performance gains. That's really all
I'm using autogeneration for.
I suppose instead of building an ADT for each container size, I could
just write a newtype over the variable-size container and put a phantom
type on it representing the size... That would give me the static
guarantees but not the efficiency.
More information about the Haskell-Cafe