[Haskell-cafe] Re: Versioning

Bulat Ziganshin bulat.ziganshin at gmail.com
Thu Dec 21 08:02:47 EST 2006


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 at gmail.com



More information about the Haskell-Cafe mailing list