Ticket #4417 (closed feature request: fixed)
Quasiquoting without bloating
| Reported by: | rrnewton | Owned by: | simonmar |
|---|---|---|---|
| Priority: | high | Milestone: | 7.4.1 |
| Component: | Compiler | Version: | 6.13 |
| Keywords: | executable size | Cc: | rrnewton@…, gideon@…, michal.terepeta@…, bos@… |
| Operating System: | Unknown/Multiple | Architecture: | Unknown/Multiple |
| Type of failure: | None/Unknown | Difficulty: | |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
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
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

