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

Reply via email to