On 16 April 2012 15:57, Charles Smith <[email protected]> wrote: > Shap et al: > > 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. 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. This is especially useful considering the target audience, where bitc could be considered a 'better C'. And yet, if it is a better C, then it would be preferable if the type rules didn't break down at DLL boundaries - if a DLL can't provide a parametric function, the DLL boundary requires some special significance in the type system, and parametricity is much less useful. -- William Leslie _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
