[Template-haskell] Defining a function and using it in a splice
within the same module
alfonso.acosta at gmail.com
Mon Oct 22 21:51:04 EDT 2007
The user guide from latest GHC release makes clear that doing what I
wrote in the subject of this message is not possible:
"You can only run a function at compile time if it is imported from
another module. That is, you can't define a function in a module, and
call it from within a splice in the same module."
Unfortunately I have encountered this problem more times than I'd like
while using TH to implement a DSL. My usual solution is to generate a
function to process the extra arguments which cannot be passed to the
splice (i.e. push the arguments out of the splice so that I can use
functions defined in the same module).
Nevertheless, I'd like to know if there are any chances of seeing this
problem solved anytime soon.
More information about the template-haskell