
Sven Panne wrote:
You can see that every little detail is exported here. This is extremely important for good performance and I happily trade separate compilation (in the traditional sense) for this. Note that 'ghc --make' easily handles the recompilation issue for your own programs.
Libraries where you want some kind of binary backwards compatibility are another story. Here you have to trade (just like C!) efficiency against flexibility, e.g. by writing some kind of facade compiled without -O.
Seems like a reasonable trade, presumably you can use noinline to stop this happening (even with -O2) if you want to produce a stable binary interface (like you want for plug-ins). I assume this does not affect the ability to replace Storable when compiling from source though? Keean.