Bear in mind you can just create functions at the top level that operate on your data structure. You only need the function to be a member of the record if the function itself changes, which is relatively rare. Say you need a Foo and a Bar, and they both have labels, implemented in different ways, then you can use a typeclass to achieve your goals. On Wednesday, September 10, 2014, David McBride <toad3k@gmail.com> wrote:
Is this what you are looking for?
data Foo pl = Foo { label :: pl -> String, payload :: pl }
On Wed, Sep 10, 2014 at 2:06 PM, martin <martin.drautzburg@web.de <javascript:_e(%7B%7D,'cvml','martin.drautzburg@web.de');>> wrote:
Hello all
if I have a record like
data Foo pl = Foo { label :: String, payload :: pl }
how can I create a similar type where I can populate label so it is not a plain string, but a function which operates on payload? Something like
label (Foo pl) = show pl
_______________________________________________ Beginners mailing list Beginners@haskell.org <javascript:_e(%7B%7D,'cvml','Beginners@haskell.org');> http://www.haskell.org/mailman/listinfo/beginners
-- Sent from an iPhone, please excuse brevity and typos.