[Pharo-dev] Smalltalk in a C World
eliot.miranda at gmail.com
Mon Dec 9 13:32:49 EST 2013
On Mon, Dec 9, 2013 at 2:01 AM, phil at highoctane.be <phil at highoctane.be>wrote:
> The main issue is that it is complicated to embed the VM in C code.
> That's due to how the VM is done.
> Compared to TCL, where you can easily embed the interpreter in a C
> program, this is a problem. http://wiki.tcl.tk/3474
> Where you can embed the interpreter in a C program, you can do whatever
> integration you want.
> Now, with NativeBoost, we can call C. The next challenge would be to be
> able to call Pharo from C by embedding the interpreter.
> I am curious to see what you guys think about this.
It is non-trivial, but possible (I've done it twice with VisualWorks).
Spur should help (pinning is important). Callbacks r essential (Cog
1. the VM is restructured as a launch .exe and a dll.
2. the VM is restructured so that one can include an image as a resource
(windows exe's) or static data (e.g. unix); one can use an image file but
if one really wants a library it must exist just as a library
3. one needs an API to the VM, and essentially that requires an object
request broker (ORB) between the API and callbacks into the image, so that
one can query for objects (including selectors) to be able to send messages
Note that step 3. can be implemented as a small stand-alone library that
talks to the VM running in a separate process, and on multi-core machines
this can be a more robust architecture; there's no protection against a
program corrupting the Smalltalk heap if the heap is in that program's
address space. But if the requirement is really a linkable library (that
does not spawn processes) then that's what one builds.
> I would love to see things like mod_pharo (as there is mod_php, mod_perl,
> mod_tcl...) in Apache.
I embedded VW in a web browser as a Netscape plugin using both variants of
3. above back in the 90's. It is very possible. The limiting factors are
time and money as usual.
I would love for VM discussions to be carried out on vm-dev ;-)
> Philippe Back
> Dramatic Performance Improvements
> Mob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027
> Mail:phil at highoctane.be | Web: http://philippeback.eu
> Blog: http://philippeback.be | Twitter: @philippeback
> Youtube: http://www.youtube.com/user/philippeback/videos
> High Octane SPRL
> rue cour Boisacq 101 | 1301 Bierges | Belgium
> Pharo Consortium Member - http://consortium.pharo.org/
> Featured on the Software Process and Measurement Cast -
> Sparx Systems Enterprise Architect and Ability Engineering EADocX Value
> Added Reseller
> On Mon, Dec 9, 2013 at 9:48 AM, kilon alios <kilon.alios at gmail.com> wrote:
>> please note that generating dlls alone wont be enough , plugins are
>> compiled against a runtime or specific libraries (a Plugin SDK) and
>> Smalltalk MT would have to be able to do that in order to be a viable
>> On Mon, Dec 9, 2013 at 10:28 AM, Stéphane Ducasse <
>> stephane.ducasse at inria.fr> wrote:
>>> You should think that they use their smalltalk for their projects.
>>> On Dec 9, 2013, at 9:21 AM, Clément Bera <bera.clement at gmail.com> wrote:
>>> How can people even know Smalltalk MT still exist with their website and
>>> their communication ?
>>> I looked at other Smalltalks a while ago, for Smalltalk MT I clicked on
>>> "what's new" on their website and I got that:
>>> <Screen Shot 2013-12-09 at 9.18.11 AM.png>
>>> Then I thought this Smalltalk was dead (nothing new in the past 4 years)
>>> and I didn't look any further.
>>> 2013/12/8 Stéphane Ducasse <stephane.ducasse at inria.fr>
>>>> > Yes - still alive and kicking. But I'm sure you did not notice since
>>>> > are no "big" announcements or advertising for it.
>>>> > ObjectConnect follows the "time is better invested into technology"
>>>> > It is one of the most interesting Smalltalks ever implemented.
>>>> I like the idea that you can get 50kb applications.
>>>> Now since this is a closed system and windows-centric.
>>>> But I like that it shows that Smalltalk does not have to be the image
>>>> centric way.
>>>> > The newest ST/MT 6.3 version (now 64 bit) is from end of November 2013
>>>> Now it is not a community thing. :)
>>>> And the web site stop and 5.6 in 2009.
>>>> Last time I talk to tarrick he told me that he could control the "no gc
>>>> in the next 250 frames on PS2"
>>>> but it was in 1998 :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-dev