Proposal: liftData for Template Haskell

Petr Pudlák petr.mvd at gmail.com
Fri May 1 17:00:55 UTC 2015


+1

Dne pá 17. 4. 2015 13:21 uživatel Edward Z. Yang <ezyang at mit.edu> napsal:

> I propose adding the following function to Language.Haskell.TH:
>
>     -- | 'liftData' is a variant of 'lift' in the 'Lift' type class which
>     -- works for any type with a 'Data' instance.
>     liftData :: Data a => a -> Q Exp
>     liftData = dataToExpQ (const Nothing)
>
> I don't really know which submodule this should come from;
> since it uses 'dataToExpQ', you might put it in Language.Haskell.TH.Quote
> but arguably 'dataToExpQ' doesn't belong in this module either,
> and it only lives there because it is a useful function for defining
> quasiquoters and it was described in the quasiquoting paper.
>
> I might propose getting rid of the 'Lift' class entirely, but you
> might prefer that class since it doesn't go through SYB (and have
> the attendant slowdown).
>
> This mode of use of 'dataToExpQ' deserves more attention.
>
> Discussion period: 1 month
>
> Cheers,
> Edward
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20150501/0bf47f21/attachment.html>


More information about the Libraries mailing list