Hi All. For CMake I need the proper term to refer to things like the following: ^#( 'vm-display-Quartz' 'vm-display-X11' 'vm-display-custom' 'vm-display-fbdev' 'vm-display-null' 'vm-sound-ALSA' 'vm-sound-MacOSX' 'vm-sound-NAS' 'vm-sound-OSS' 'vm-sound-Sun' 'vm-sound-custom' 'vm-sound-null' ) currently the term VMDriver is used. Is this correct? Reason for asking is I want the wrapper class for these things to reflect the correct terminology. thx. tty |
Hi Timothy,
On Thu, Jul 17, 2014 at 10:19 AM, gettimothy <[hidden email]> wrote:
Looking at platforms/unix/vm/SqModule.h, which declares the metaprotocol of these things, arg parsing, help, launch, etc, it's clear these things are VM modules, which is different from plugins. But you might ask Ian Piumarta directly.
HTH Eliot
|
Hi Eliot. thx for the reply. The goal I am pursing is a consistent mapping of terms from the metal to the smalltalk level. If something is 'turtles' then I want it to be 'turtles' all the way down the chain.
Ian handles them in his CMake script with the term plugins_vm per this code in trunk/platforms/unix/cmake/Plugins.cmake
I prefer the term VMModules as that reflects the heuristics you use; I am ok with pluginsVM too as that mimics Ian's code. I will be replacing the term vmDrivers tomorrow when I can pry my eyes back open. thx again. t. |
On 17.07.2014, at 22:52, gettimothy <[hidden email]> wrote:
Formally we call the VM extensions "modules" (e.g. listLoadedModules). Informally they are known as VM plugins. And that informal use has spread, so by now we use the terms interchangeably. Internal and external modules are supported by pretty much all VMs, providing named primitives and getting loaded on-demand when a named primitive is invoked. Ian's drivers are unique and use the module mechanism mostly to avoid code duplication. But they are different, they do not provide named primitives, they get loaded on VM startup. They provide alternative implementations of the same platform functions, which is necessary because Unix is a much more diverse platform than the others. - Bert - smime.p7s (5K) Download Attachment |
Hi Bert.
Thank you. Based on what you wrote, I think the consistent approach is to use Ian's naming at the CMake level and let 'listLoadedModules' be the odd-looking turtle in the stack of 'plugin-turtles all the way down'. To my mind, the listLoadedModules--for consistency sake--should be 'listLoadedPlugins:[internal|external|VM]--but that is a wish-list item. VMPlugins it is. thank you all for your time. cheers. tty |
In reply to this post by Bert Freudenberg
Bert Freudenberg wrote:
To my mind, a module is something that might only be able to be bound at VM compile time, whereas a plugin could be bound to a running VM. I guess that at some point of history there was only the former, and the latter came along later with new terminology? cheers -ben
|
On 18.07.2014, at 03:55, [hidden email] wrote: > To my mind, a module is something that might only be able to be bound at VM compile time, whereas a plugin could be bound to a running VM. I guess that at some point of history there was only the former, and the latter came along later with new terminology? Nope. Before the VM became modularized it was monolithic. Tim can tell you all about that process, but for sure one major point of breaking out parts of the VM into modules was to enable dynamic loading. That was there from the beginning. The term "module" and "plugin" wrt the Squeak VM mean exactly the same thing, except the latter may be confused with the web browser plugin (which wraps the whole VM into a plugin loadable by a web browser). - Bert - smime.p7s (5K) Download Attachment |
Nice to know. cheers -ben |
In reply to this post by Bert Freudenberg
On Fri, Jul 18, 2014 at 10:32:45AM +0200, Bert Freudenberg wrote: > > On 18.07.2014, at 03:55, [hidden email] wrote: > > > To my mind, a module is something that might only be able to be bound at VM compile time, whereas a plugin could be bound to a running VM. I guess that at some point of history there was only the former, and the latter came along later with new terminology? > > Nope. Before the VM became modularized it was monolithic. Tim can tell you all about that process, but for sure one major point of breaking out parts of the VM into modules was to enable dynamic loading. That was there from the beginning. > > The term "module" and "plugin" wrt the Squeak VM mean exactly the same thing, except the latter may be confused with the web browser plugin (which wraps the whole VM into a plugin loadable by a web browser). > Also, we tend to speak of a VM "plugin" (such as FilePlugin) when we talk about the Smalltalk + C source code modules, which may or may not be compiled as runtime loadable modules ("internal" versus "external" modules). So the terminology is not rigorously enforced ;-) Dave |
Free forum by Nabble | Edit this page |