Quasiquoting without bloating
|Reported by:||rrnewton||Owned by:|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Rev(s):|
Quasiquoting is a compile-time feature, and sometimes can be useful for purposes as modest as multiline strings (see Hackage packages such as interpolatedstring-perl6).
However, I found that using quasiquoting would add about twelve megabytes to final executable size (on 6.12.1 and 6.13.20090607). It seems GHC links all of the libraries used at compile time into the final executable as well. Could GHC prune these?
Note: you can reproduce this effect with a simple hello world program like below:
import Text.InterpolatedString.Perl6 (q) foo :: String foo = [$q| Well here is a multi-line string! |] main = putStrLn foo