
Hello Joachim, Wednesday, December 20, 2006, 9:30:02 PM, you wrote:
One thing that might become a problem is that the "Scrap your boilerplate" approach seems to work only in GHC. There's nothing wrong with GHC, but it sounds like I'm committing to a specific compiler right from the start. I'd like to keep the number of choices as high as possible...
there are really no choices for real development. many libraries, language extensions and techniques are for ghc only
and besides, if the compiler gives me an error message, or the generated code does unexpected things, I'd like to have the possibility to cross-check with a different compiler.
you can use Hugs to develop programs - it has much faster compile times, slightly better error messages and good level of language (extensions) compatibility with ghc. parts of programs that are not compatible with Hugs may be conditionally compiled using #ifdef GHC
So have other compilers picked up SYB support yet?
SYB and Template Haskell are just examples of techniques that make GHC obvious choice. although. SYB may be supported by Hugs too, i'm not sure
That said, serialisation is still a hard problem - think long and hard before picking a data format.
What would be the problems of choosing the wrong one?
With Yhc.Core I used Drift to derve Binary instances, keep a version tag, and if the version tags mismatch refuse to load the data.
unless you need specific data format (say for compatibility with existing data sources) you may easily derive Binary instances either with Drift or with TH using libraries i mentioned in previous letter. http://repetae.net/john/computer/haskell/DrIFT/drop/DrIFT-2.1.1.tar.gz http://repetae.net/john/computer/haskell/DrIFT/drift.ps -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com