Redesign Quasi
I'm hoping we can avoid exporting the Quasi
class from the public API, so we can later make a few changes to it. In particular:
- The name
Quasi
doesn't really give any idea what it does. - Maybe we could have a distinction between methods that cause issues for cross-compilation (e.g. arbitrary IO) vs safer operations that merely inspect/modify the program being compiled, so that we can later expose a less-powerful version of
Q
? Cf. https://github.com/ghc-proposals/ghc-proposals/pull/655 - Can we get rid of the
Quasi IO
instance that throws errors if you do anything with it?