[Haskell-cafe] handling multiple versions of a data structure
Jeremy Shaw
jeremy at n-heptane.com
Sat Dec 18 19:11:09 CET 2010
Nice.
Do you think there is any reason we would not be able to / want to use
it with happstack ? I would love happstack-data to 'go away' and just
use some library from hackage which does the same thing.
- jeremy
On Dec 17, 2010, at 3:57 AM, Erik Hesselink wrote:
> I've recently been playing with code for versioning data types. It's
> based on happstacks implementation, but uses type families to make it
> more modular. I've got some proof of concept code on github [1]. We're
> also writing a small library based on this at typLAB, which we'll
> probably release as well.
>
> Erik
>
> [1] https://gist.github.com/704109
>
> On Thu, Dec 16, 2010 at 19:26, Dmitry V'yal <akamaus at gmail.com> wrote:
>> Greetings,
>>
>> while developing my neural net simulator I stumbled upon a problem.
>>
>> I have a data type NeuralNet and use Show and Read instances for
>> saving and
>> loading configurations. As time passed, I changed the data type, so
>> the
>> program can no longer load files saved in previous versions.
>>
>> I want fix it. My current idea looks as follows. I'm going to
>> create a bunch
>> of types NN1, NN2, NN3..NNn for different versions and write
>> converters c12
>> :: N1 -> N2, c23 :: N2 -> N3 and so on.
>>
>> But how to organize the whole process of parsing String into NNn so
>> it's
>> easy to change formats?
>> Something based on using a list of parsers
>> [read, c43 . read, c43 . c23 . read, c43, c23 . c12 . read, c43 .
>> c32 . c21
>> . read]
>>
>> looks rather verbose and grows quadratically with N.
>>
>> I'm sure there must be a more elegant way. Any ideas?
>>
>> Dmitry
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
More information about the Haskell-Cafe
mailing list