typeclass - Haskell typeclasses with algebraic data types -



typeclass - Haskell typeclasses with algebraic data types -

i have algebraic info types a, b, , c each implements class:

class dog dog :: -> bool

if create new algebraic info type:

data d = | b | c

is there easy way have d implement dog without having redefine each instance a, b , c again?

thanks

before answering, should point out may falling mutual beginner's misconception adt's. remember, haskell has 2 separate namespaces type , term levels. if write:

data = foo info b = bar info c = baz info d = | b | c

...then there's no connection between type a , constructor a of type d. hence suspect (but not totally sure!) question meant inquire had next format type d, instead:

data d = a | b b | c c

in case, short reply "no". might wish tack on deriving dog or such thing , done, facility not provided language. said, there packages generic programming help: check hackage packages list , search "deriv" , you'll 10 hits.

haskell typeclass algebraic-data-types

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

intellij idea - Update external libraries with intelij and java -

javascript - send data from a new window to previous window in php -