<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 3, 2023, at 4:32 AM, Simon Marlow <<a href="mailto:marlowsd@gmail.com" class="">marlowsd@gmail.com</a>> wrote:</div><div class=""><div dir="ltr" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><div class="gmail_quote"><div class=""><br class=""></div><div class="">I think of cross-compilation as just a tooling issue that affects how you actually *implement* TH, but not something that changes what it means. Or perhaps I'm wrong? Is there a way in which enabling TH will change the meaning of a program that doesn't use any TH?</div><div class=""><br class=""></div></div></div></div></blockquote><br class=""></div><div>It means you have to be able to compile code that targets the host, not just the target. I suppose this property is also required by GHCi, but it's otherwise unrequired (I think). TH also affects recompilation-avoidance computations. Maybe it makes sense to use the existence of an actual splice to control this all, though, so we could plausibly put TH in the "just allows new syntax" category.</div><div><br class=""></div><div>Richard</div><br class=""></body></html>