On Friday, 4. June 2010 18:02:15 Daniel Fischer wrote: > On Friday 04 June 2010 17:37:16, Martin Drautzburg wrote: > > Dear all, > > > > If I have a problem where I have to select from a set of operations, how > > would I print the result? > > > > Example: If I can chose from (x+y), (x*y), (x^2+y)... > > and I feed them all into my problem solver > > and it finds that "(x*y) is right", how can I print that string? > > You'd have to pass the description string to the problem solver too. > If it was previously > > solver :: Num a => Whatever -> [a -> a -> a] -> Result > > it would become for example > > solver :: Num a => Whatever -> [(a -> a -> a, String)] -> Result
Thanks to Ozgur Akgun for his suggestion. However I really wanted a "human readable" name, but admittedly I haven't said so. About this one: The only thing I miss in this solution, is that the name is identified by its position in the Pair. In this case this is certainly not a problem. But anyways, I tried to give it a name, using record syntax. This worked well until I wanted to define a different set of operations, which should also be named. It turned out that the "name" function, which was implicitly created (using record syntax) cannot be used again. How should I work around that. I could use two different "name" function, but I don't like this. Would I have to define a typeclass "namedFunction" which all have a "name" function? I guess my mind is still a bit stuck in the OO world. -- Martin _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe