Data and Typeable instances

Lennart Augustsson lennart at augustsson.net
Sun Apr 19 11:16:13 EDT 2009


I agree.  I'm not a great fan of Data, but I use it for various kinds
of serializations.
If a library doesn't support data, well that just means I'll try to
avoid that library.

  -- Lennart

On Sun, Apr 19, 2009 at 4:39 PM, Sterling Clover <s.clover at gmail.com> wrote:
> Am I to take it that you will not be providing Data instances because you
> find them "unhaskellish"? The time package is a core part of Haskell
> functionality, and those Data instances are sorely missed by a wide range of
> libraries. As the maintainer of a key part of the Haskell ecosystem, I think
> you are obligated to take into account not only what you find to be the
> "good bits," but also to provide instances such as Data that, even if you
> find them "unhaskellish" allow the library to better integrate into the
> Haskell package ecosystem as it now stands. Furthermore, if such instances
> are not provided, they will be created with standalone deriving. The
> instances created by standalone deriving, unlike instances which can be
> partially hand-written, will provide even less in the way of preservation of
> the abstract nature of certain data types. In the end, you may only be
> cutting off your nose to spite your face.
>
> Cheers,
> Sterl.
>
>
> On Apr 18, 2009, at 8:26 PM, Ashley Yakeley wrote:
>
>> Jeremy Shaw wrote:
>>>
>>> At Fri, 17 Apr 2009 11:55:51 -0700,
>>> Ashley Yakeley wrote:
>>>>
>>>> Instances of Typeable have been requested for various types. I'll add
>>>> these for 1.1.3.
>>>
>>> Sweet! Data as well? Happstack uses Data and Typeable for
>>> serialization. It would be nice to be able to use Data.Time instead of
>>> System.Time.
>>
>> I'm not sure. I find the whole SYB approach unhaskellish, as it treats
>> values based on their internal structure rather than their types. But
>> perhaps serialisation is a harmless use of the Data class.
>>
>> Typeable is also rather unhaskellish. A haskellish approach would be to
>> use type witnesses, but it requires open witness declarations as a language
>> extension. So, Typeable it is.
>>
>> --
>> Ashley Yakeley
>> Seattle, WA
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://www.haskell.org/mailman/listinfo/libraries
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
>


More information about the Libraries mailing list