Re: Constructing Cases

2002-05-24 Thread Mark Carroll
If you can live with f's domain being ordered, I'd probably use something like f = lookupWithDefaultFM (listToFM list) (-1) importing FiniteMap from ghc's libraries. HTH. -- Mark ___ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/ma

Re: Constructing Cases

2002-05-24 Thread David Feuer
Use an array. Don't remember for sure, but I think something like q = array (0, max (map fst list)) list f = (q!!) will probably work. On Fri, May 24, 2002, Carl McTague wrote: > Hi there, > > is there a simple way to carry out the following type of conversion? > Suppose I have a list (finit

Re: Constructing Casestructing Cases Carl McTague

2002-05-24 Thread Carl McTague
> Is there a way to do this? Note, I don't want to define a function > that searches through the list each time it is invoked, I want to > generate the function once and have it be as fast as the > pattern-matcher can make it. Actually, would the pattern-matcher be doing little more than a linea

Constructing Cases

2002-05-24 Thread Carl McTague
Hi there, is there a simple way to carry out the following type of conversion? Suppose I have a list (finite) of (value,image) pairs such as: list = [(0,1),(1,0)] >From this I want to generate a function f 0 = 1 f 1 = 0 Is there a way to do this? Note, I don't want to define a function that