>> >> To what ends, is the ability to do separate compilation NECESSARY? >> Please also construct and deconstruct the possible counter-arguments. > > This is really another topic. > > It is /useful/ because: > > 0. having to recompile all your dependencies for every change you make > is a pain in the neck. Also see arguments on the currently active > threads around tree shaking. > > 1. I work on a reasonably sized (600ksloc) codebase written in an > (ugly and uncommon) statically-typed language with HM type inference, > and it takes nearly an hour to compile. It doesn't support separate > compilation, so you need to recompile it to add plug-in modules. This > is a disaster for end users, who want to install plug-ins without > recompiling the application, and it is a disaster for developers who > want to do interactive testing on their changes.
Speaking of which 2 of my friends were working on large C++ projects with were very templates heavy and had a lot of issues with partial compilations and incremental builds . In the end they gave up and do a full daily build ( which takes an hour) . > > 2. It is useful to be able to provide and consume existing C-style > shared object interfaces - examples like replacing existing C > libraries for SSL have been mentioned, the additional safety provided > by the language would increase confidence in the code. Only for providing , non modular compilation can consume C libs .Providing C libs calling conventions is doable but a royal pain especially if you have references going from native to GC so your code needs to be aware of the 2 memory stacks . Ben _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
