[Haskell-cafe] Having trouble with instance context
Kurt Stutsman
kstutsman at gmail.com
Wed Feb 23 17:12:30 CET 2011
Stephen Tetley wrote:
> On 23 February 2011 15:40, Kurt Stutsman <kstutsman at gmail.com> wrote:
>
>
>> instance Enum e => Serializable e where
>> get mask = {- convert mask to Int and then to a BitSet -}
>> put bitset = {- convert BitSet to Int and then to String -}
>>
>>
>
> I looks like all you need is for objects to be enumerable, i.e have
> instances of Enum. So instead of the above class, can you manage with
> these two functions?
>
> get :: Enum e => e -> Int
>
> put :: BitSet -> String
>
> Type classes give you type-based dispatch - *but* they are overkill if
> you don't actually need type-base dispatch.
>
>
I need to support non-enumerable data types as well. That's why I wanted
the Serializable class. For those non-enumerable types, I can create a
custom instance of the Serializable class. But for Enums, I will always
do the same thing, so implementing Serializable for all Enum types is
really overkill.
More information about the Haskell-Cafe
mailing list