[Template-haskell] RE: Template Haskell...

Simon Peyton-Jones simonpj at microsoft.com
Fri Oct 31 17:45:23 EST 2003


Not so. We split at top-level declaration splices.  What about this,
though?  NO splitting involved.

f :: Int -> Q Exp
f n = [| n+2 |]

g x = x + $(f 3)


Furthermore, we don't want to *always* compile-to-byte-code all the
preceding code in a module.  usually none of it'll b needed

S

| -----Original Message-----
| From: template-haskell-bounces at haskell.org
[mailto:template-haskell-bounces at haskell.org] On
| Behalf Of Alastair Reid
| Sent: 31 October 2003 17:35
| To: Simon Peyton-Jones; MR K P SCHUPKE; template-haskell at haskell.org
| Subject: Re: [Template-haskell] RE: Template Haskell...
| 
| On Friday 31 October 2003 5:24 pm, Simon Peyton-Jones wrote:
| > Trouble is, that's thoroughly awkward one to implement, because it
means
| > compiling the transitive closure of all the things in this module
| > referred to by the bit you are running.  I'm sure it's doable, but
I'm
| > not looking fwd to it.
| 
| I can see that compiling a module one set of declaration groups at a
time
| won't be much fun but given the way you split modules into lists of
| declaration groups separated by top-level splices, it seems easy
enough to
| know what to compile:
| 
|   You have to compile all the code above the current top-level
|   splice or declaration group.
| 
| --
| Alastair Reid
| 
| 
| 
| _______________________________________________
| template-haskell mailing list
| template-haskell at haskell.org
| http://www.haskell.org/mailman/listinfo/template-haskell




More information about the template-haskell mailing list