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 together.

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.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to