Hi Daniel, A more functional approach might be:
type Substitution = String -> Maybe Value single :: String -> Value -> Substitution table :: Table -> Substitution substitute :: Substitution -> Tree -> Tree For better performance and a lot more features, you could switch to type Substitution = Data.Map String Value - Conal On Fri, Feb 13, 2009 at 2:40 AM, Daniel Kraft <d...@domob.eu> wrote: > Colin Adams wrote: > >> If you have two functions that do two different things, then they >> certainly OUGHT to have different names. >> > > Well, they do "the same thing" but for different arguments; it's like this: > > Table is a table of name-value pairs I want to substitute in a tree-like > structure using: > > substitute :: Table -> Tree -> Tree > > For substituting a single name-value pair I want to define this utitlity > routine so I don't have to construct a Table all the time in the user code: > > substitute :: String -> Value -> Tree -> Tree > > In the case I believe it would certainly be good to be able to name both > functions the same, but I fear I can not do so? There are languages where > this is explicitelly allowed (e.g. C++ or Java), so I don't think it is such > an unuseful or evil thing. > > > Daniel > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe