[Haskell-cafe] Remove redundancy with Template Haskell

Corentin Dupont corentin.dupont at gmail.com
Thu Mar 28 22:40:28 CET 2013


Thanks Daniel, that's very simple!

Realizing this in TH seems be impossible, is it right?



On Wed, Mar 27, 2013 at 10:33 PM, Daniel Trstenjak <
daniel.trstenjak at gmail.com> wrote:

>
> Hi Corentin,
>
> On Wed, Mar 27, 2013 at 09:13:41PM +0100, Corentin Dupont wrote:
> > I have a function that looks like this:
> > call :: SomeFunction -> String -> SomeState
> >
> > The string is actually the representation of the function passed in
> > parameter. It is stored in the state for documentation.
> > So a call looks like that:
> > call (\a -> putStrLn a)   "\a -> putStrLn a"
> >
> > There is a clear redundancy here, how could I remove it with Template
> > Haskell?
> > I cannot figure out...
>
> You can even use cpp to get something like:
>
> #define CALL(func) call (func) #func
>
> CALL(\a -> a + 1) => call (\a -> a + 1) "\a -> a + 1"
>
>
> Greetings,
> Daniel
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130328/8fc9f24e/attachment.htm>


More information about the Haskell-Cafe mailing list