[Haskell-cafe] TH clause Pat selection

Geoffrey Mainland mainland at apeiron.net
Thu Jun 20 16:23:17 CEST 2013


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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe





More information about the Haskell-Cafe mailing list