On Thu, 11 May 2017 11:34:47 +0200, Cl?ment Bera <bera.clem...@gmail.com> wrote:
> On Wed, May 10, 2017 at 8:12 PM, Esteban A. Maringolo > <emaring...@gmail.com> wrote: > > > 2017-05-10 13:38 GMT-03:00 Cl?ment Bera <bera.clem...@gmail.com>: > > > On Wed, May 10, 2017 at 5:28 PM, Esteban A. Maringolo < > > emaring...@gmail.com> wrote: > > > > >> If it is a plug-in, why does it need VM recompilation? > > > Internal plugins require VM recompilation. Only external plugins > > > do not. > > It was more of a semantic question, I'd expect a plug-in to be > > that, pluggable, as you say external plugins are. Or what is the > > "pluggability" of such plugins? > > > I would say there is 3 levels of pluggability: 1 non optional > internal plugin, pluggable because it can be replaced by another > internal plugin implementing the same API at VM compilation time. > Used for modularity of specific aspects of the VM. 2 optional > internal plugin, pluggable because it can be removed / added / > replaced at VM compilation time. Used to improve performance over > external plugin or to access VM functions not exposed to external > plugins. 3 external plugin, pluggable because it can be removed / > added / replaced after the VM is compiled. Used for all other > plugins. > So they're all pluggable in some way. > I'm on this vital industry for 45+ years and I already learned that words and names have usages and except when standarized via certains bodies aimed specifically the meaning can vary even within the same realm of the art. That written, and without attempting to start a semantic discussion, however feeling a contribution may be useful, I would say that the 'levels' one and two described above would better called "modules" instead of plugins. In my way of understanding this non mother tongue "compile time plugins" seem to be more a figure of speech than the offering of 'plugability' which plugins offer, or perhaps, in my humble perception ought to offer. Also, I think it would be less surprising for most people when exposed to the subject (module == compiling, plugin == run time). Just my 0,0199999.... -- Cesar Rabak