
27 Mar
2013
27 Mar
'13
5:33 p.m.
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