<br><br><div class="gmail_quote">On Fri, Feb 6, 2009 at 11:32 AM, Igor Stasenko <span dir="ltr"><<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
2009/2/6 Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>>:<br>
<div><div></div><div class="Wj3C7c">><br>
><br>
> On Fri, Feb 6, 2009 at 10:13 AM, Igor Stasenko <<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>> wrote:<br>
>><br>
>> The main reason, which prevents squeak to use as embedded solution is<br>
>> a structure of VM.<br>
>> - there are many points when it assuming that it runs standalone<br>
>> - the main interpret() function is an endless loop and not reentrant,<br>
>> which makes it hard to interoperate with host process , like Lua does.<br>
>> recent updates added a callbacks, so they can be used as a kind of<br>
>> workaround to solve that issue.<br>
><br>
> I either solved these issues or found they were non-issues in the context of<br>
> VisualWorks in 1997/98 and made it function as a Web browser plugin. I used<br>
> my threaded FFI that allows different threads to call-in and out of the VM,<br>
> so that the Smalltalk image was fully active all the time even when the<br>
> browser was not calling into it. The VM was loadable as a DLL and was<br>
> supplied with an image file (which can be embedded as data, e.g. in a<br>
> Windows exe's resources) in an init call which returns once the image as<br>
> loaded. The entry-points in the DLL can then be called from code that has<br>
> loaded the DLL. Inside these entry-points are rendezvous-style call-backs<br>
> that the single-threaded Vm responds to.<br>
> I think (ok, know) the issue is not the image but the lack of a threaded<br>
> FFI.<br>
> For reference, the external doc to my thrteaded interconnect is at<br>
> <a href="http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VisualWorks+THAPI" target="_blank">http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VisualWorks+THAPI</a><br>
> I have internal doc somewhere which belongs to Cincom so if anyone is<br>
> interested I'll ask Cincom for permission to publish it and if they say yes<br>
> then I'll make it available, e.g. on my web site.<br>
<br>
</div></div>i know there is a squeak browser plugin for a while. But its not<br>
really a solution.<br>
Its mainly a patches everywhere in VM to allow it to interoperate with<br>
browser, but nothing more. There is no any API which can be used to<br>
speak with VM from any host application.<br>
Of course, a host application may disguise itself as a plugin and use<br>
a plugin interpreter proxy protocol.<br>
So, it can be seen as an embedded VM, with only exception, that scheme<br>
is reverse: VM plays role as a master, and your application - slave,<br>
and VM telling you what to do by calling primitives.<br>
The most significant part of functionality is lacking: there is no<br>
support of a message send from host application to VM. Making it<br>
available would make writing a host applications much easier.</blockquote><div><br></div><div>I understand. My message said that I have solved the problem of allowing "a message send from host application to VM" in the VisualWorks VM using a threaded FFI. This solution is also applicable to Squeak.</div>
<div><br></div><div>So if you want to solve this in the current Squeak a low-cost way is to write a threaded FFI, i.e. extend the current FFI to support threads.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
<div><div></div><div class="Wj3C7c"><br>
>><br>
>> 2009/2/6 Steve Wart <<a href="mailto:steve.wart@gmail.com">steve.wart@gmail.com</a>>:<br>
>> > That's an interesting idea. Quite a lot of the momentum in Python, Lua,<br>
>> > ECMAScript, etc. come from their embedded-ness.<br>
>> ><br>
>> > Smalltalk was built embedded in an OS that it was never entirely<br>
>> > comfortable<br>
>> > with, although there have been many attempts at scripting Smalltalk from<br>
>> > other programs, Seaside being the most notable success.<br>
>> ><br>
>> > I suggest that this ideal already exists. The benefits come from<br>
>> > specific<br>
>> > implementations.<br>
>> ><br>
>> > It would be interesting to see a Croquet variant with a modern game<br>
>> > engine.<br>
>> > Smalltalk and C++ should be able to play well together.<br>
>> ><br>
>> > Steve<br>
>> ><br>
>> > On Fri, Feb 6, 2009 at 8:53 AM, askoh <<a href="mailto:askoh@askoh.com">askoh@askoh.com</a>> wrote:<br>
>> >><br>
>> >> I think it is good you dare to speak your mind. I also think that the<br>
>> >> Squeak<br>
>> >> community can take that. Keep your ideas coming.<br>
>> >><br>
>> >> I would like Squeak to be callable from other programs so that it can<br>
>> >> be<br>
>> >> used as plugins.<br>
>> >><br>
>> >> Aik-Siong Koh<br>
>> >><br>
>> >><br>
>> >><br>
>> >> Giuseppe Luigi Punzi Ruiz wrote:<br>
>> >> ><br>
>> >> > We have elections soon.<br>
>> >> ><br>
>> >> > I'ts time to think about the project. What we search? What new<br>
>> >> > developers search?<br>
>> >> ><br>
>> >> > I think, probably, Squeak, needs a refactoring on the ideas behind.<br>
>> >> > The<br>
>> >> > people thath wants etoys, use etoys image. Croquet uses his own<br>
>> >> > image.<br>
>> >> > Now, at the moment (2009), I'm 90% sure, the people thath go to<br>
>> >> > <a href="http://squeak.org" target="_blank">squeak.org</a>, and get the latest Squeak, now, are developers searching<br>
>> >> > a<br>
>> >> > good smalltalk (something similar to VW but opensource I means) to<br>
>> >> > use<br>
>> >> > in their projects, not the use of Squeak as multimedia, or something<br>
>> >> > similar. I know this for all spanish people ask me about Squeak, or<br>
>> >> > developers "going out the list" searching Pharo, an approach to the<br>
>> >> > things I say.<br>
>> >> ><br>
>> >> > I like the idea about a console squeak (like GST) with the objects<br>
>> >> > living in memory, but not dependent of the "World", launching the<br>
>> >> > actual<br>
>> >> > Squeak World as an object (I don't know if is the actual behaviour, I<br>
>> >> > only dream) if you want, or launching something like VW (or Dolphin)<br>
>> >> > working over TK or GTK or WxWidgets or technologys like XUL<br>
>> >> > instead.....I like the idea of an UI Painter....I like the idea of<br>
>> >> > all<br>
>> >> > Squeak tools running over web too..well, this idea don't like it very<br>
>> >> > much :)..but I don't have the skills for all of this, for this I<br>
>> >> > offer<br>
>> >> > the ideas. But most important, is the community has vote for this<br>
>> >> > things. The community needs to stay informed about the movements. I<br>
>> >> > think, this, is the right direction.<br>
>> >> ><br>
>> >> > I don't know what you all think, but IMHO, it's the moment to get a<br>
>> >> > new<br>
>> >> > Squeak 4 from zero, trying to preserve the core classes, with new<br>
>> >> > ideas<br>
>> >> > and ambitions.<br>
>> >> ><br>
>> >> > I don't like very much the idea about all list hating me, but, after<br>
>> >> > this mail, I know you hate me :P<br>
>> >> ><br>
>> >> > P.D.: Yes, probably, I'm crazy too.<br>
>> >> ><br>
>> >> ><br>
>> >> ><br>
>> >><br>
>> >> --<br>
>> >> View this message in context:<br>
>> >><br>
>> >> <a href="http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html" target="_blank">http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html</a><br>
>> >> Sent from the Squeak - Dev mailing list archive at Nabble.com.<br>
>> >><br>
>> >><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>> ><br>
>><br>
>><br>
>><br>
>> --<br>
>> Best regards,<br>
>> Igor Stasenko AKA sig.<br>
>><br>
><br>
><br>
><br>
><br>
><br>
<br>
<br>
<br>
</div></div>--<br>
<div><div></div><div class="Wj3C7c">Best regards,<br>
Igor Stasenko AKA sig.<br>
<br>
</div></div></blockquote></div><br>