Quasiquoting without bloating
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
Trac metadata
Trac field | Value |
---|---|
Version | 6.13 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |