Have you tried dataToPatQ and dataToExpQ? http://hackage.haskell.org/packages/archive/template-haskell/latest/doc/html/Language-Haskell-TH-Quote.html
Geoff On 06/19/2013 11:23 PM, Brian Lewis wrote: > I want to use TH to generate functions like > foo :: c -> h > foo ... = ... > foo ... = ... > ... > from lists of pairs :: [(c, h)] > > For example, $(genFoo ''Int ''Bool [(0,False), (1,True)]) > would generate > foo 0 = False > foo 1 = True > > The problem is, I don't know how to generate the function's clauses. > "foo 0 = ..." seems to be a LitP pattern. But "foo True = ..." seems to > be a ConP pattern. The appropriate pattern depends on type c. > > Here's code with more explanation and examples: > http://hpaste.org/90163 > > _______________________________________________ > 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