[squeak-dev] Winds of change

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
29 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Winds of change

Giuseppe
We have elections soon.

I'ts time to think about the project. What we search? What new
developers search?

I think, probably, Squeak, needs a refactoring on the ideas behind. The
people thath wants etoys, use etoys image. Croquet uses his own image.
Now, at the moment (2009), I'm 90% sure, the people thath go to
squeak.org, and get the latest Squeak, now, are developers searching a
good smalltalk (something similar to VW but opensource I means) to use
in their projects, not the use of Squeak as multimedia, or something
similar. I know this for all spanish people ask me about Squeak, or
developers "going out the list" searching Pharo, an approach to the
things I say.

I like the idea about a console squeak (like GST) with the objects
living in memory, but not dependent of the "World", launching the actual
Squeak World as an object (I don't know if is the actual behaviour, I
only dream) if you want, or launching something like VW (or Dolphin)
working over TK or GTK or WxWidgets or technologys like XUL
instead.....I like the idea of an UI Painter....I like the idea of all
Squeak tools running over web too..well, this idea don't like it very
much :)..but I don't have the skills for all of this, for this I offer
the ideas. But most important, is the community has vote for this
things. The community needs to stay informed about the movements. I
think, this, is the right direction.

I don't know what you all think, but IMHO, it's the moment to get a new
Squeak 4 from zero, trying to preserve the core classes, with new ideas
and ambitions.

I don't like very much the idea about all list hating me, but, after
this mail, I know you hate me :P

P.D.: Yes, probably, I'm crazy too.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

askoh
Administrator
I think it is good you dare to speak your mind. I also think that the Squeak community can take that. Keep your ideas coming.

I would like Squeak to be callable from other programs so that it can be used as plugins.

Aik-Siong Koh


Giuseppe Luigi Punzi Ruiz wrote
We have elections soon.

I'ts time to think about the project. What we search? What new
developers search?

I think, probably, Squeak, needs a refactoring on the ideas behind. The
people thath wants etoys, use etoys image. Croquet uses his own image.
Now, at the moment (2009), I'm 90% sure, the people thath go to
squeak.org, and get the latest Squeak, now, are developers searching a
good smalltalk (something similar to VW but opensource I means) to use
in their projects, not the use of Squeak as multimedia, or something
similar. I know this for all spanish people ask me about Squeak, or
developers "going out the list" searching Pharo, an approach to the
things I say.

I like the idea about a console squeak (like GST) with the objects
living in memory, but not dependent of the "World", launching the actual
Squeak World as an object (I don't know if is the actual behaviour, I
only dream) if you want, or launching something like VW (or Dolphin)
working over TK or GTK or WxWidgets or technologys like XUL
instead.....I like the idea of an UI Painter....I like the idea of all
Squeak tools running over web too..well, this idea don't like it very
much :)..but I don't have the skills for all of this, for this I offer
the ideas. But most important, is the community has vote for this
things. The community needs to stay informed about the movements. I
think, this, is the right direction.

I don't know what you all think, but IMHO, it's the moment to get a new
Squeak 4 from zero, trying to preserve the core classes, with new ideas
and ambitions.

I don't like very much the idea about all list hating me, but, after
this mail, I know you hate me :P

P.D.: Yes, probably, I'm crazy too.
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Steve Wart
That's an interesting idea. Quite a lot of the momentum in Python, Lua, ECMAScript, etc. come from their embedded-ness.

Smalltalk was built embedded in an OS that it was never entirely comfortable with, although there have been many attempts at scripting Smalltalk from other programs, Seaside being the most notable success.

I suggest that this ideal already exists. The benefits come from specific implementations.

It would be interesting to see a Croquet variant with a modern game engine. Smalltalk and C++ should be able to play well together.

Steve

On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:

I think it is good you dare to speak your mind. I also think that the Squeak
community can take that. Keep your ideas coming.

I would like Squeak to be callable from other programs so that it can be
used as plugins.

Aik-Siong Koh



Giuseppe Luigi Punzi Ruiz wrote:
>
> We have elections soon.
>
> I'ts time to think about the project. What we search? What new
> developers search?
>
> I think, probably, Squeak, needs a refactoring on the ideas behind. The
> people thath wants etoys, use etoys image. Croquet uses his own image.
> Now, at the moment (2009), I'm 90% sure, the people thath go to
> squeak.org, and get the latest Squeak, now, are developers searching a
> good smalltalk (something similar to VW but opensource I means) to use
> in their projects, not the use of Squeak as multimedia, or something
> similar. I know this for all spanish people ask me about Squeak, or
> developers "going out the list" searching Pharo, an approach to the
> things I say.
>
> I like the idea about a console squeak (like GST) with the objects
> living in memory, but not dependent of the "World", launching the actual
> Squeak World as an object (I don't know if is the actual behaviour, I
> only dream) if you want, or launching something like VW (or Dolphin)
> working over TK or GTK or WxWidgets or technologys like XUL
> instead.....I like the idea of an UI Painter....I like the idea of all
> Squeak tools running over web too..well, this idea don't like it very
> much :)..but I don't have the skills for all of this, for this I offer
> the ideas. But most important, is the community has vote for this
> things. The community needs to stay informed about the movements. I
> think, this, is the right direction.
>
> I don't know what you all think, but IMHO, it's the moment to get a new
> Squeak 4 from zero, trying to preserve the core classes, with new ideas
> and ambitions.
>
> I don't like very much the idea about all list hating me, but, after
> this mail, I know you hate me :P
>
> P.D.: Yes, probably, I'm crazy too.
>
>
>

--
View this message in context: http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.





Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
The main reason, which prevents squeak to use as embedded solution is
a structure of VM.
- there are many points when it assuming that it runs standalone
- the main interpret() function is an endless loop and not reentrant,
which makes it hard to interoperate with host process , like Lua does.
recent updates added a callbacks, so they can be used as a kind of
workaround to solve that issue.

2009/2/6 Steve Wart <[hidden email]>:

> That's an interesting idea. Quite a lot of the momentum in Python, Lua,
> ECMAScript, etc. come from their embedded-ness.
>
> Smalltalk was built embedded in an OS that it was never entirely comfortable
> with, although there have been many attempts at scripting Smalltalk from
> other programs, Seaside being the most notable success.
>
> I suggest that this ideal already exists. The benefits come from specific
> implementations.
>
> It would be interesting to see a Croquet variant with a modern game engine.
> Smalltalk and C++ should be able to play well together.
>
> Steve
>
> On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:
>>
>> I think it is good you dare to speak your mind. I also think that the
>> Squeak
>> community can take that. Keep your ideas coming.
>>
>> I would like Squeak to be callable from other programs so that it can be
>> used as plugins.
>>
>> Aik-Siong Koh
>>
>>
>>
>> Giuseppe Luigi Punzi Ruiz wrote:
>> >
>> > We have elections soon.
>> >
>> > I'ts time to think about the project. What we search? What new
>> > developers search?
>> >
>> > I think, probably, Squeak, needs a refactoring on the ideas behind. The
>> > people thath wants etoys, use etoys image. Croquet uses his own image.
>> > Now, at the moment (2009), I'm 90% sure, the people thath go to
>> > squeak.org, and get the latest Squeak, now, are developers searching a
>> > good smalltalk (something similar to VW but opensource I means) to use
>> > in their projects, not the use of Squeak as multimedia, or something
>> > similar. I know this for all spanish people ask me about Squeak, or
>> > developers "going out the list" searching Pharo, an approach to the
>> > things I say.
>> >
>> > I like the idea about a console squeak (like GST) with the objects
>> > living in memory, but not dependent of the "World", launching the actual
>> > Squeak World as an object (I don't know if is the actual behaviour, I
>> > only dream) if you want, or launching something like VW (or Dolphin)
>> > working over TK or GTK or WxWidgets or technologys like XUL
>> > instead.....I like the idea of an UI Painter....I like the idea of all
>> > Squeak tools running over web too..well, this idea don't like it very
>> > much :)..but I don't have the skills for all of this, for this I offer
>> > the ideas. But most important, is the community has vote for this
>> > things. The community needs to stay informed about the movements. I
>> > think, this, is the right direction.
>> >
>> > I don't know what you all think, but IMHO, it's the moment to get a new
>> > Squeak 4 from zero, trying to preserve the core classes, with new ideas
>> > and ambitions.
>> >
>> > I don't like very much the idea about all list hating me, but, after
>> > this mail, I know you hate me :P
>> >
>> > P.D.: Yes, probably, I'm crazy too.
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>
>>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Eliot Miranda-2


On Fri, Feb 6, 2009 at 10:13 AM, Igor Stasenko <[hidden email]> wrote:
The main reason, which prevents squeak to use as embedded solution is
a structure of VM.
- there are many points when it assuming that it runs standalone
- the main interpret() function is an endless loop and not reentrant,
which makes it hard to interoperate with host process , like Lua does.
recent updates added a callbacks, so they can be used as a kind of
workaround to solve that issue.

I either solved these issues or found they were non-issues in the context of VisualWorks in 1997/98 and made it function as a Web browser plugin.  I used my threaded FFI that allows different threads to call-in and out of the VM, so that the Smalltalk image was fully active all the time even when the browser was not calling into it.  The VM was loadable as a DLL and was supplied with an image file (which can be embedded as data, e.g. in a Windows exe's resources) in an init call which returns once the image as loaded.  The entry-points in the DLL can then be called from code that has loaded the DLL.  Inside these entry-points are rendezvous-style call-backs that the single-threaded Vm responds to.

I think (ok, know) the issue is not the image but the lack of a threaded FFI.

For reference, the external doc to my thrteaded interconnect is at
I have internal doc somewhere which belongs to Cincom so if anyone is interested I'll ask Cincom for permission to publish it and if they say yes then I'll make it available, e.g. on my web site.

2009/2/6 Steve Wart <[hidden email]>:
> That's an interesting idea. Quite a lot of the momentum in Python, Lua,
> ECMAScript, etc. come from their embedded-ness.
>
> Smalltalk was built embedded in an OS that it was never entirely comfortable
> with, although there have been many attempts at scripting Smalltalk from
> other programs, Seaside being the most notable success.
>
> I suggest that this ideal already exists. The benefits come from specific
> implementations.
>
> It would be interesting to see a Croquet variant with a modern game engine.
> Smalltalk and C++ should be able to play well together.
>
> Steve
>
> On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:
>>
>> I think it is good you dare to speak your mind. I also think that the
>> Squeak
>> community can take that. Keep your ideas coming.
>>
>> I would like Squeak to be callable from other programs so that it can be
>> used as plugins.
>>
>> Aik-Siong Koh
>>
>>
>>
>> Giuseppe Luigi Punzi Ruiz wrote:
>> >
>> > We have elections soon.
>> >
>> > I'ts time to think about the project. What we search? What new
>> > developers search?
>> >
>> > I think, probably, Squeak, needs a refactoring on the ideas behind. The
>> > people thath wants etoys, use etoys image. Croquet uses his own image.
>> > Now, at the moment (2009), I'm 90% sure, the people thath go to
>> > squeak.org, and get the latest Squeak, now, are developers searching a
>> > good smalltalk (something similar to VW but opensource I means) to use
>> > in their projects, not the use of Squeak as multimedia, or something
>> > similar. I know this for all spanish people ask me about Squeak, or
>> > developers "going out the list" searching Pharo, an approach to the
>> > things I say.
>> >
>> > I like the idea about a console squeak (like GST) with the objects
>> > living in memory, but not dependent of the "World", launching the actual
>> > Squeak World as an object (I don't know if is the actual behaviour, I
>> > only dream) if you want, or launching something like VW (or Dolphin)
>> > working over TK or GTK or WxWidgets or technologys like XUL
>> > instead.....I like the idea of an UI Painter....I like the idea of all
>> > Squeak tools running over web too..well, this idea don't like it very
>> > much :)..but I don't have the skills for all of this, for this I offer
>> > the ideas. But most important, is the community has vote for this
>> > things. The community needs to stay informed about the movements. I
>> > think, this, is the right direction.
>> >
>> > I don't know what you all think, but IMHO, it's the moment to get a new
>> > Squeak 4 from zero, trying to preserve the core classes, with new ideas
>> > and ambitions.
>> >
>> > I don't like very much the idea about all list hating me, but, after
>> > this mail, I know you hate me :P
>> >
>> > P.D.: Yes, probably, I'm crazy too.
>> >
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
>> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>>
>>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
2009/2/6 Eliot Miranda <[hidden email]>:

>
>
> On Fri, Feb 6, 2009 at 10:13 AM, Igor Stasenko <[hidden email]> wrote:
>>
>> The main reason, which prevents squeak to use as embedded solution is
>> a structure of VM.
>> - there are many points when it assuming that it runs standalone
>> - the main interpret() function is an endless loop and not reentrant,
>> which makes it hard to interoperate with host process , like Lua does.
>> recent updates added a callbacks, so they can be used as a kind of
>> workaround to solve that issue.
>
> I either solved these issues or found they were non-issues in the context of
> VisualWorks in 1997/98 and made it function as a Web browser plugin.  I used
> my threaded FFI that allows different threads to call-in and out of the VM,
> so that the Smalltalk image was fully active all the time even when the
> browser was not calling into it.  The VM was loadable as a DLL and was
> supplied with an image file (which can be embedded as data, e.g. in a
> Windows exe's resources) in an init call which returns once the image as
> loaded.  The entry-points in the DLL can then be called from code that has
> loaded the DLL.  Inside these entry-points are rendezvous-style call-backs
> that the single-threaded Vm responds to.
> I think (ok, know) the issue is not the image but the lack of a threaded
> FFI.
> For reference, the external doc to my thrteaded interconnect is at
>     http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VisualWorks+THAPI
> I have internal doc somewhere which belongs to Cincom so if anyone is
> interested I'll ask Cincom for permission to publish it and if they say yes
> then I'll make it available, e.g. on my web site.

i know there is a squeak browser plugin for a while. But its not
really a solution.
Its mainly a patches everywhere in VM to allow it to interoperate with
browser, but nothing more. There is no any API which can be used to
speak with VM from any host application.
Of course, a host application may disguise itself as a plugin and use
a plugin interpreter proxy protocol.
So, it can be seen as an embedded VM, with only exception, that scheme
is reverse: VM plays role as a master, and your application - slave,
and VM telling you what to do by calling primitives.
The most significant part of functionality is lacking: there is no
support of a message send from host application to VM. Making it
available would make writing a host applications much easier.

>>
>> 2009/2/6 Steve Wart <[hidden email]>:
>> > That's an interesting idea. Quite a lot of the momentum in Python, Lua,
>> > ECMAScript, etc. come from their embedded-ness.
>> >
>> > Smalltalk was built embedded in an OS that it was never entirely
>> > comfortable
>> > with, although there have been many attempts at scripting Smalltalk from
>> > other programs, Seaside being the most notable success.
>> >
>> > I suggest that this ideal already exists. The benefits come from
>> > specific
>> > implementations.
>> >
>> > It would be interesting to see a Croquet variant with a modern game
>> > engine.
>> > Smalltalk and C++ should be able to play well together.
>> >
>> > Steve
>> >
>> > On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:
>> >>
>> >> I think it is good you dare to speak your mind. I also think that the
>> >> Squeak
>> >> community can take that. Keep your ideas coming.
>> >>
>> >> I would like Squeak to be callable from other programs so that it can
>> >> be
>> >> used as plugins.
>> >>
>> >> Aik-Siong Koh
>> >>
>> >>
>> >>
>> >> Giuseppe Luigi Punzi Ruiz wrote:
>> >> >
>> >> > We have elections soon.
>> >> >
>> >> > I'ts time to think about the project. What we search? What new
>> >> > developers search?
>> >> >
>> >> > I think, probably, Squeak, needs a refactoring on the ideas behind.
>> >> > The
>> >> > people thath wants etoys, use etoys image. Croquet uses his own
>> >> > image.
>> >> > Now, at the moment (2009), I'm 90% sure, the people thath go to
>> >> > squeak.org, and get the latest Squeak, now, are developers searching
>> >> > a
>> >> > good smalltalk (something similar to VW but opensource I means) to
>> >> > use
>> >> > in their projects, not the use of Squeak as multimedia, or something
>> >> > similar. I know this for all spanish people ask me about Squeak, or
>> >> > developers "going out the list" searching Pharo, an approach to the
>> >> > things I say.
>> >> >
>> >> > I like the idea about a console squeak (like GST) with the objects
>> >> > living in memory, but not dependent of the "World", launching the
>> >> > actual
>> >> > Squeak World as an object (I don't know if is the actual behaviour, I
>> >> > only dream) if you want, or launching something like VW (or Dolphin)
>> >> > working over TK or GTK or WxWidgets or technologys like XUL
>> >> > instead.....I like the idea of an UI Painter....I like the idea of
>> >> > all
>> >> > Squeak tools running over web too..well, this idea don't like it very
>> >> > much :)..but I don't have the skills for all of this, for this I
>> >> > offer
>> >> > the ideas. But most important, is the community has vote for this
>> >> > things. The community needs to stay informed about the movements. I
>> >> > think, this, is the right direction.
>> >> >
>> >> > I don't know what you all think, but IMHO, it's the moment to get a
>> >> > new
>> >> > Squeak 4 from zero, trying to preserve the core classes, with new
>> >> > ideas
>> >> > and ambitions.
>> >> >
>> >> > I don't like very much the idea about all list hating me, but, after
>> >> > this mail, I know you hate me :P
>> >> >
>> >> > P.D.: Yes, probably, I'm crazy too.
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >> http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
>> >> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Eliot Miranda-2


On Fri, Feb 6, 2009 at 11:32 AM, Igor Stasenko <[hidden email]> wrote:
2009/2/6 Eliot Miranda <[hidden email]>:
>
>
> On Fri, Feb 6, 2009 at 10:13 AM, Igor Stasenko <[hidden email]> wrote:
>>
>> The main reason, which prevents squeak to use as embedded solution is
>> a structure of VM.
>> - there are many points when it assuming that it runs standalone
>> - the main interpret() function is an endless loop and not reentrant,
>> which makes it hard to interoperate with host process , like Lua does.
>> recent updates added a callbacks, so they can be used as a kind of
>> workaround to solve that issue.
>
> I either solved these issues or found they were non-issues in the context of
> VisualWorks in 1997/98 and made it function as a Web browser plugin.  I used
> my threaded FFI that allows different threads to call-in and out of the VM,
> so that the Smalltalk image was fully active all the time even when the
> browser was not calling into it.  The VM was loadable as a DLL and was
> supplied with an image file (which can be embedded as data, e.g. in a
> Windows exe's resources) in an init call which returns once the image as
> loaded.  The entry-points in the DLL can then be called from code that has
> loaded the DLL.  Inside these entry-points are rendezvous-style call-backs
> that the single-threaded Vm responds to.
> I think (ok, know) the issue is not the image but the lack of a threaded
> FFI.
> For reference, the external doc to my thrteaded interconnect is at
>     http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VisualWorks+THAPI
> I have internal doc somewhere which belongs to Cincom so if anyone is
> interested I'll ask Cincom for permission to publish it and if they say yes
> then I'll make it available, e.g. on my web site.

i know there is a squeak browser plugin for a while. But its not
really a solution.
Its mainly a patches everywhere in VM to allow it to interoperate with
browser, but nothing more. There is no any API which can be used to
speak with VM from any host application.
Of course, a host application may disguise itself as a plugin and use
a plugin interpreter proxy protocol.
So, it can be seen as an embedded VM, with only exception, that scheme
is reverse: VM plays role as a master, and your application - slave,
and VM telling you what to do by calling primitives.
The most significant part of functionality is lacking: there is no
support of a message send from host application to VM. Making it
available would make writing a host applications much easier.

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.

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.


>>
>> 2009/2/6 Steve Wart <[hidden email]>:
>> > That's an interesting idea. Quite a lot of the momentum in Python, Lua,
>> > ECMAScript, etc. come from their embedded-ness.
>> >
>> > Smalltalk was built embedded in an OS that it was never entirely
>> > comfortable
>> > with, although there have been many attempts at scripting Smalltalk from
>> > other programs, Seaside being the most notable success.
>> >
>> > I suggest that this ideal already exists. The benefits come from
>> > specific
>> > implementations.
>> >
>> > It would be interesting to see a Croquet variant with a modern game
>> > engine.
>> > Smalltalk and C++ should be able to play well together.
>> >
>> > Steve
>> >
>> > On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:
>> >>
>> >> I think it is good you dare to speak your mind. I also think that the
>> >> Squeak
>> >> community can take that. Keep your ideas coming.
>> >>
>> >> I would like Squeak to be callable from other programs so that it can
>> >> be
>> >> used as plugins.
>> >>
>> >> Aik-Siong Koh
>> >>
>> >>
>> >>
>> >> Giuseppe Luigi Punzi Ruiz wrote:
>> >> >
>> >> > We have elections soon.
>> >> >
>> >> > I'ts time to think about the project. What we search? What new
>> >> > developers search?
>> >> >
>> >> > I think, probably, Squeak, needs a refactoring on the ideas behind.
>> >> > The
>> >> > people thath wants etoys, use etoys image. Croquet uses his own
>> >> > image.
>> >> > Now, at the moment (2009), I'm 90% sure, the people thath go to
>> >> > squeak.org, and get the latest Squeak, now, are developers searching
>> >> > a
>> >> > good smalltalk (something similar to VW but opensource I means) to
>> >> > use
>> >> > in their projects, not the use of Squeak as multimedia, or something
>> >> > similar. I know this for all spanish people ask me about Squeak, or
>> >> > developers "going out the list" searching Pharo, an approach to the
>> >> > things I say.
>> >> >
>> >> > I like the idea about a console squeak (like GST) with the objects
>> >> > living in memory, but not dependent of the "World", launching the
>> >> > actual
>> >> > Squeak World as an object (I don't know if is the actual behaviour, I
>> >> > only dream) if you want, or launching something like VW (or Dolphin)
>> >> > working over TK or GTK or WxWidgets or technologys like XUL
>> >> > instead.....I like the idea of an UI Painter....I like the idea of
>> >> > all
>> >> > Squeak tools running over web too..well, this idea don't like it very
>> >> > much :)..but I don't have the skills for all of this, for this I
>> >> > offer
>> >> > the ideas. But most important, is the community has vote for this
>> >> > things. The community needs to stay informed about the movements. I
>> >> > think, this, is the right direction.
>> >> >
>> >> > I don't know what you all think, but IMHO, it's the moment to get a
>> >> > new
>> >> > Squeak 4 from zero, trying to preserve the core classes, with new
>> >> > ideas
>> >> > and ambitions.
>> >> >
>> >> > I don't like very much the idea about all list hating me, but, after
>> >> > this mail, I know you hate me :P
>> >> >
>> >> > P.D.: Yes, probably, I'm crazy too.
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >> http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
>> >> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Steve Wart
We were thinking about using Hydra for a recent project for this reason. Our FFI calls were doing network I/O that made it impossible to maintain an acceptable frame rate in Croquet.

Unfortunately I didn't find the time to dig into this but our image size was already a problem and I assumed that this approach would make that problem worse. Maybe a Pharo image could exist on one thread to do network I/O and a regular Croquet thread could run on another thread?

I recall that Hydra was released early because it was unexpectedly successful, but I haven't heard much about it since then.

Steve

On Fri, Feb 6, 2009 at 12:59 PM, Eliot Miranda <[hidden email]> wrote:


On Fri, Feb 6, 2009 at 11:32 AM, Igor Stasenko <[hidden email]> wrote:
2009/2/6 Eliot Miranda <[hidden email]>:
>
>
> On Fri, Feb 6, 2009 at 10:13 AM, Igor Stasenko <[hidden email]> wrote:
>>
>> The main reason, which prevents squeak to use as embedded solution is
>> a structure of VM.
>> - there are many points when it assuming that it runs standalone
>> - the main interpret() function is an endless loop and not reentrant,
>> which makes it hard to interoperate with host process , like Lua does.
>> recent updates added a callbacks, so they can be used as a kind of
>> workaround to solve that issue.
>
> I either solved these issues or found they were non-issues in the context of
> VisualWorks in 1997/98 and made it function as a Web browser plugin.  I used
> my threaded FFI that allows different threads to call-in and out of the VM,
> so that the Smalltalk image was fully active all the time even when the
> browser was not calling into it.  The VM was loadable as a DLL and was
> supplied with an image file (which can be embedded as data, e.g. in a
> Windows exe's resources) in an init call which returns once the image as
> loaded.  The entry-points in the DLL can then be called from code that has
> loaded the DLL.  Inside these entry-points are rendezvous-style call-backs
> that the single-threaded Vm responds to.
> I think (ok, know) the issue is not the image but the lack of a threaded
> FFI.
> For reference, the external doc to my thrteaded interconnect is at
>     http://www.cincomsmalltalk.com/CincomSmalltalkWiki/VisualWorks+THAPI
> I have internal doc somewhere which belongs to Cincom so if anyone is
> interested I'll ask Cincom for permission to publish it and if they say yes
> then I'll make it available, e.g. on my web site.

i know there is a squeak browser plugin for a while. But its not
really a solution.
Its mainly a patches everywhere in VM to allow it to interoperate with
browser, but nothing more. There is no any API which can be used to
speak with VM from any host application.
Of course, a host application may disguise itself as a plugin and use
a plugin interpreter proxy protocol.
So, it can be seen as an embedded VM, with only exception, that scheme
is reverse: VM plays role as a master, and your application - slave,
and VM telling you what to do by calling primitives.
The most significant part of functionality is lacking: there is no
support of a message send from host application to VM. Making it
available would make writing a host applications much easier.

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.

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.


>>
>> 2009/2/6 Steve Wart <[hidden email]>:
>> > That's an interesting idea. Quite a lot of the momentum in Python, Lua,
>> > ECMAScript, etc. come from their embedded-ness.
>> >
>> > Smalltalk was built embedded in an OS that it was never entirely
>> > comfortable
>> > with, although there have been many attempts at scripting Smalltalk from
>> > other programs, Seaside being the most notable success.
>> >
>> > I suggest that this ideal already exists. The benefits come from
>> > specific
>> > implementations.
>> >
>> > It would be interesting to see a Croquet variant with a modern game
>> > engine.
>> > Smalltalk and C++ should be able to play well together.
>> >
>> > Steve
>> >
>> > On Fri, Feb 6, 2009 at 8:53 AM, askoh <[hidden email]> wrote:
>> >>
>> >> I think it is good you dare to speak your mind. I also think that the
>> >> Squeak
>> >> community can take that. Keep your ideas coming.
>> >>
>> >> I would like Squeak to be callable from other programs so that it can
>> >> be
>> >> used as plugins.
>> >>
>> >> Aik-Siong Koh
>> >>
>> >>
>> >>
>> >> Giuseppe Luigi Punzi Ruiz wrote:
>> >> >
>> >> > We have elections soon.
>> >> >
>> >> > I'ts time to think about the project. What we search? What new
>> >> > developers search?
>> >> >
>> >> > I think, probably, Squeak, needs a refactoring on the ideas behind.
>> >> > The
>> >> > people thath wants etoys, use etoys image. Croquet uses his own
>> >> > image.
>> >> > Now, at the moment (2009), I'm 90% sure, the people thath go to
>> >> > squeak.org, and get the latest Squeak, now, are developers searching
>> >> > a
>> >> > good smalltalk (something similar to VW but opensource I means) to
>> >> > use
>> >> > in their projects, not the use of Squeak as multimedia, or something
>> >> > similar. I know this for all spanish people ask me about Squeak, or
>> >> > developers "going out the list" searching Pharo, an approach to the
>> >> > things I say.
>> >> >
>> >> > I like the idea about a console squeak (like GST) with the objects
>> >> > living in memory, but not dependent of the "World", launching the
>> >> > actual
>> >> > Squeak World as an object (I don't know if is the actual behaviour, I
>> >> > only dream) if you want, or launching something like VW (or Dolphin)
>> >> > working over TK or GTK or WxWidgets or technologys like XUL
>> >> > instead.....I like the idea of an UI Painter....I like the idea of
>> >> > all
>> >> > Squeak tools running over web too..well, this idea don't like it very
>> >> > much :)..but I don't have the skills for all of this, for this I
>> >> > offer
>> >> > the ideas. But most important, is the community has vote for this
>> >> > things. The community needs to stay informed about the movements. I
>> >> > think, this, is the right direction.
>> >> >
>> >> > I don't know what you all think, but IMHO, it's the moment to get a
>> >> > new
>> >> > Squeak 4 from zero, trying to preserve the core classes, with new
>> >> > ideas
>> >> > and ambitions.
>> >> >
>> >> > I don't like very much the idea about all list hating me, but, after
>> >> > this mail, I know you hate me :P
>> >> >
>> >> > P.D.: Yes, probably, I'm crazy too.
>> >> >
>> >> >
>> >> >
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >> http://www.nabble.com/-squeak-dev--Winds-of-change-tp21872826p21876368.html
>> >> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.








Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
2009/2/6 Steve Wart <[hidden email]>:

> We were thinking about using Hydra for a recent project for this reason. Our
> FFI calls were doing network I/O that made it impossible to maintain an
> acceptable frame rate in Croquet.
>
> Unfortunately I didn't find the time to dig into this but our image size was
> already a problem and I assumed that this approach would make that problem
> worse. Maybe a Pharo image could exist on one thread to do network I/O and a
> regular Croquet thread could run on another thread?
>
> I recall that Hydra was released early because it was unexpectedly
> successful, but I haven't heard much about it since then.
>

Yes Hydra FFI is multithreaded already.
But all thread safety problems which may arise when you using foreign
modules are on your hands, of course.


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Eliot Miranda-2


On Fri, Feb 6, 2009 at 3:08 PM, Igor Stasenko <[hidden email]> wrote:
2009/2/6 Steve Wart <[hidden email]>:
> We were thinking about using Hydra for a recent project for this reason. Our
> FFI calls were doing network I/O that made it impossible to maintain an
> acceptable frame rate in Croquet.
>
> Unfortunately I didn't find the time to dig into this but our image size was
> already a problem and I assumed that this approach would make that problem
> worse. Maybe a Pharo image could exist on one thread to do network I/O and a
> regular Croquet thread could run on another thread?
>
> I recall that Hydra was released early because it was unexpectedly
> successful, but I haven't heard much about it since then.
>

Yes Hydra FFI is multithreaded already.

Does it support callbacks from threads?  Does it support callbacks from threads other than threads that have called-out?   (I call these callbacks foreign callbacks because they come from threads the Vm doesn't know exist until they callback)


But all thread safety problems which may arise when you using foreign
modules are on your hands, of course.


--
Best regards,
Igor Stasenko AKA sig.




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
2009/2/7 Eliot Miranda <[hidden email]>:

>
>
> On Fri, Feb 6, 2009 at 3:08 PM, Igor Stasenko <[hidden email]> wrote:
>>
>> 2009/2/6 Steve Wart <[hidden email]>:
>> > We were thinking about using Hydra for a recent project for this reason.
>> > Our
>> > FFI calls were doing network I/O that made it impossible to maintain an
>> > acceptable frame rate in Croquet.
>> >
>> > Unfortunately I didn't find the time to dig into this but our image size
>> > was
>> > already a problem and I assumed that this approach would make that
>> > problem
>> > worse. Maybe a Pharo image could exist on one thread to do network I/O
>> > and a
>> > regular Croquet thread could run on another thread?
>> >
>> > I recall that Hydra was released early because it was unexpectedly
>> > successful, but I haven't heard much about it since then.
>> >
>>
>> Yes Hydra FFI is multithreaded already.
>
> Does it support callbacks from threads?  Does it support callbacks from
> threads other than threads that have called-out?   (I call these callbacks
> foreign callbacks because they come from threads the Vm doesn't know exist
> until they callback)

there is no extra functionality (callbacks) in addition to what
original FFI plugin provides.
I'm only made sure that plugin's own state which used during
conversion of values is thread safe.

A callback support , added by Andreas, is not related to FFI. It can
be used by plugins , and the only plugin i saw which using it was a
python bridge.

As for 'foreign' callbacks.. heh..
I would rather name it an async event/hook. :)

To my understanding a 'callback' term, its pattern which invented by
C-ers for passing a closure deeper into a stack i.e. callback function
should be called from within a function which takes it as argument and
never after it returns :

[1] sort(array, mySortFn);

[2]-> fnptr(x,y)
[callback] ... in mySortFn
[2]<-  return from mySortFn

[1]<- return from sort()

where [1] is caller context, and [2] is function which using callback argument.

If it not behaves like this, then its not a callback anymore - call it
a hook, event or something else :)


>>
>> But all thread safety problems which may arise when you using foreign
>> modules are on your hands, of course.
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Eliot Miranda-2


On Fri, Feb 6, 2009 at 5:26 PM, Igor Stasenko <[hidden email]> wrote:
2009/2/7 Eliot Miranda <[hidden email]>:
>
>
> On Fri, Feb 6, 2009 at 3:08 PM, Igor Stasenko <[hidden email]> wrote:
>>
>> 2009/2/6 Steve Wart <[hidden email]>:
>> > We were thinking about using Hydra for a recent project for this reason.
>> > Our
>> > FFI calls were doing network I/O that made it impossible to maintain an
>> > acceptable frame rate in Croquet.
>> >
>> > Unfortunately I didn't find the time to dig into this but our image size
>> > was
>> > already a problem and I assumed that this approach would make that
>> > problem
>> > worse. Maybe a Pharo image could exist on one thread to do network I/O
>> > and a
>> > regular Croquet thread could run on another thread?
>> >
>> > I recall that Hydra was released early because it was unexpectedly
>> > successful, but I haven't heard much about it since then.
>> >
>>
>> Yes Hydra FFI is multithreaded already.
>
> Does it support callbacks from threads?  Does it support callbacks from
> threads other than threads that have called-out?   (I call these callbacks
> foreign callbacks because they come from threads the Vm doesn't know exist
> until they callback)

there is no extra functionality (callbacks) in addition to what
original FFI plugin provides.
I'm only made sure that plugin's own state which used during
conversion of values is thread safe.

OK, so the FFI does *not* support threads.  It is merely thread-safe so that multiple hydra instances can be making FFI call-outs at the same time.

That is an entirely different thing to an FFI that is multithreaded.  I think you should claim only that the Hydra FFI is thread-safe, not that it is multi-threaded.  It isn't.  The common understanding of a multi-threaded FFI is one that allows one to call-out and call-ack on multiple threads.


 


A callback support , added by Andreas, is not related to FFI. It can
be used by plugins , and the only plugin i saw which using it was a
python bridge.

As for 'foreign' callbacks.. heh..
I would rather name it an async event/hook. :)

It is *not* an event hook.  It is a means of invoking behaviour in the system being called.  Call-back is the common term for this.


To my understanding a 'callback' term, its pattern which invented by
C-ers for passing a closure deeper into a stack i.e. callback function
should be called from within a function which takes it as argument and
never after it returns :

[1] sort(array, mySortFn);

[2]-> fnptr(x,y)
[callback] ... in mySortFn
[2]<-  return from mySortFn

[1]<- return from sort()

where [1] is caller context, and [2] is function which using callback argument.

If it not behaves like this, then its not a callback anymore - call it
a hook, event or something else :)

I disagree.  I think event hooks are far more specific tan call-backs.

Anyway...
 



>>
>> But all thread safety problems which may arise when you using foreign
>> modules are on your hands, of course.
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>


--
Best regards,
Igor Stasenko AKA sig.


Best
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
2009/2/7 Eliot Miranda <[hidden email]>:

>
>
> On Fri, Feb 6, 2009 at 5:26 PM, Igor Stasenko <[hidden email]> wrote:
>>
>> 2009/2/7 Eliot Miranda <[hidden email]>:
>> >
>> >
>> > On Fri, Feb 6, 2009 at 3:08 PM, Igor Stasenko <[hidden email]>
>> > wrote:
>> >>
>> >> 2009/2/6 Steve Wart <[hidden email]>:
>> >> > We were thinking about using Hydra for a recent project for this
>> >> > reason.
>> >> > Our
>> >> > FFI calls were doing network I/O that made it impossible to maintain
>> >> > an
>> >> > acceptable frame rate in Croquet.
>> >> >
>> >> > Unfortunately I didn't find the time to dig into this but our image
>> >> > size
>> >> > was
>> >> > already a problem and I assumed that this approach would make that
>> >> > problem
>> >> > worse. Maybe a Pharo image could exist on one thread to do network
>> >> > I/O
>> >> > and a
>> >> > regular Croquet thread could run on another thread?
>> >> >
>> >> > I recall that Hydra was released early because it was unexpectedly
>> >> > successful, but I haven't heard much about it since then.
>> >> >
>> >>
>> >> Yes Hydra FFI is multithreaded already.
>> >
>> > Does it support callbacks from threads?  Does it support callbacks from
>> > threads other than threads that have called-out?   (I call these
>> > callbacks
>> > foreign callbacks because they come from threads the Vm doesn't know
>> > exist
>> > until they callback)
>>
>> there is no extra functionality (callbacks) in addition to what
>> original FFI plugin provides.
>> I'm only made sure that plugin's own state which used during
>> conversion of values is thread safe.
>
> OK, so the FFI does *not* support threads.  It is merely thread-safe so that
> multiple hydra instances can be making FFI call-outs at the same time.
> That is an entirely different thing to an FFI that is multithreaded.  I
> think you should claim only that the Hydra FFI is thread-safe, not that it
> is multi-threaded.  It isn't.  The common understanding of a multi-threaded
> FFI is one that allows one to call-out and call-ack on multiple threads.
>
>

I known there's Alien flying around, which supports FFI callbacks.
And we have two choices: adopt Alien, or add callbacks to current FFI
implementation :)

A God has gathered all living creatures in same place and said:
- beatiful ones, stand to left side
- intelligent ones, stand to right side.
All animals choosed own side quickly, and only ape keeps standing in a centre.
- Why you not moving, didn't you heard what i just said? - asks God.
- Its hard to choose, because i'm both beatiful and intelligent.


>>
>> A callback support , added by Andreas, is not related to FFI. It can
>> be used by plugins , and the only plugin i saw which using it was a
>> python bridge.
>>
>> As for 'foreign' callbacks.. heh..
>> I would rather name it an async event/hook. :)
>
> It is *not* an event hook.  It is a means of invoking behaviour in the
> system being called.  Call-back is the common term for this.
>
>> To my understanding a 'callback' term, its pattern which invented by
>> C-ers for passing a closure deeper into a stack i.e. callback function
>> should be called from within a function which takes it as argument and
>> never after it returns :
>>
>> [1] sort(array, mySortFn);
>>
>> [2]-> fnptr(x,y)
>> [callback] ... in mySortFn
>> [2]<-  return from mySortFn
>>
>> [1]<- return from sort()
>>
>> where [1] is caller context, and [2] is function which using callback
>> argument.
>>
>> If it not behaves like this, then its not a callback anymore - call it
>> a hook, event or something else :)
>
> I disagree.  I think event hooks are far more specific tan call-backs.
> Anyway...
>

Okay then, a i understood, by callback, you mean passing a function
pointer anywhere you like to, and expect it to be called from any
thread at any moment since then.
Its a most generic way, which covers all use cases, except those when
developer is complete idiot :)

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

Igor Stasenko
2009/2/7 Igor Stasenko <[hidden email]>:

> 2009/2/7 Eliot Miranda <[hidden email]>:
>>
>>
>
> I known there's Alien flying around, which supports FFI callbacks.
> And we have two choices: adopt Alien, or add callbacks to current FFI
> implementation :)
>
> A God has gathered all living creatures in same place and said:
> - beatiful ones, stand to left side
> - intelligent ones, stand to right side.
> All animals choosed own side quickly, and only ape keeps standing in a centre.
> - Why you not moving, didn't you heard what i just said? - asks God.
> - Its hard to choose, because i'm both beatiful and intelligent.
>
ouch my bad...


> A God has gathered all living creatures in same place and said:
 - who wants to be beatiful , stand to left side
 - who wants to be intelligent, stand to right side.
> All animals choosed own side quickly, and only ape keeps standing in a centre.
> - Why you not moving, didn't you heard what i just said? - asks God.
 - Its hard to choose, because i want to be beatiful and intelligent both.

>
>>>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Winds of change

askoh
Administrator
In reply to this post by askoh
Would it be possible to call Squeak using interprocess calls or sockets and still get reasonable behavior like calling a DLL?
Aik-Siong Koh

askoh wrote
I think it is good you dare to speak your mind. I also think that the Squeak community can take that. Keep your ideas coming.

I would like Squeak to be callable from other programs so that it can be used as plugins.

Aik-Siong Koh
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: Winds of change

Aidan Gauland
In reply to this post by Giuseppe
Giuseppe Luigi Punzi <glpunzi <at> lordzealon.com> writes:
> We have elections soon.
>
> I'ts time to think about the project. What we search? What new
> developers search?

For me, the biggest problem with Sqeuak at the moment is its lack of class and
method comments (but not every method needs an overview comment).  I would like
to say to all developers of the uncommented system classes: "Will you please go
back and comment, all the methods and classes you wrote, but failed to
document!"  And I know I'm not the only one who feels this way.  Hold back on
new features for just a minute, and give what we already have a quick polish.
I've wasted many hours trying to puzzle out how to use complex yet undocumented
methods (some weren't even documented on the Squeak Swiki).  The basic
collection classes, and the core system classes are well commented.

 -Aidan

P.S No hard feelings, just some frustration.  Sqeuak is a great development
system, and seems to keep getting better.


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Winds of change

Andreas Wacknitz
Aidan Gauland schrieb:

> Giuseppe Luigi Punzi <glpunzi <at> lordzealon.com> writes:
>> We have elections soon.
>>
>> I'ts time to think about the project. What we search? What new
>> developers search?
>
> For me, the biggest problem with Sqeuak at the moment is its lack of class and
> method comments (but not every method needs an overview comment).  I would like
> to say to all developers of the uncommented system classes: "Will you please go
> back and comment, all the methods and classes you wrote, but failed to
> document!"  And I know I'm not the only one who feels this way.  Hold back on
> new features for just a minute, and give what we already have a quick polish.
> I've wasted many hours trying to puzzle out how to use complex yet undocumented
> methods (some weren't even documented on the Squeak Swiki).  The basic
> collection classes, and the core system classes are well commented.
>
>  -Aidan
>
> P.S No hard feelings, just some frustration.  Sqeuak is a great development
> system, and seems to keep getting better.
>
>
I would say: all public classes and methods that are not obvious
(intention revealing) shall be documented. And there should be an
introduction or overview on package level.

Sigh, I am a dreamer...

Regards
Andreas


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Winds of change

Daniel Klein-3
In reply to this post by Aidan Gauland
On Sat, Feb 7, 2009 at 6:22 PM, Aidan Gauland <[hidden email]> wrote:
Giuseppe Luigi Punzi <glpunzi <at> lordzealon.com> writes:
> We have elections soon.
>
> I'ts time to think about the project. What we search? What new
> developers search?

For me, the biggest problem with Sqeuak at the moment is its lack of class and
method comments (but not every method needs an overview comment).  I would like
to say to all developers of the uncommented system classes: "Will you please go
back and comment, all the methods and classes you wrote, but failed to
document!"  And I know I'm not the only one who feels this way.  Hold back on
new features for just a minute, and give what we already have a quick polish.
I've wasted many hours trying to puzzle out how to use complex yet undocumented
methods (some weren't even documented on the Squeak Swiki).  The basic
collection classes, and the core system classes are well commented.

 -Aidan

P.S No hard feelings, just some frustration.  Sqeuak is a great development
system, and seems to keep getting better.


What would be extremely useful (to me at least) is to provide example usage for some of the more cryptic and difficult classes. The person writing them has the best understanding and probably had to test things out anyway. So why not just publish that code in the class comment? For example...

I've been struggling for 2 days trying to get a TCP client socket dialog with a telnet server. In VisualWorks, I would do something like:

wire := (  SocketAccessor newTCPclientToHost: 'telnetHostname' port: 23 ) readAppendStream.

I can then use: 

wire throughAll

and

wire nextPutAll:

among other stream methods, to handle the communication.

I do notice the SocketStream has a HTTP example, but I don't think SocketStream is for TCP (I could be wrong, but there is no documentation either way).

I haven't figured it out yet in Squeak. I thought I could do something like this:

wire := SocketStream openConnectionToHostNamed: 'telnetHostname' port: 23.

and then use

wire upToAll:

and

wire nextPutAll:

but this just 'hangs' and I have to alt+. to abandon the process.

Is this even possible in Squeak? Or do I have to load something else into the image?

Sockets are very hard to debug and I don't want to have to use the Socket class. That is way too low level for me. The purpose of Smalltalk is to make things easy, no? ;-)

Daniel Klein


"You do not really understand something
unless you can explain it to your grandmother."
                -- Albert Einstein.



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Winds of change

CdAB63
In reply to this post by Aidan Gauland
Aidan Gauland escreveu:
Giuseppe Luigi Punzi <glpunzi <at> lordzealon.com> writes:
  
We have elections soon.

I'ts time to think about the project. What we search? What new 
developers search?
    

For me, the biggest problem with Sqeuak at the moment is its lack of class and
method comments (but not every method needs an overview comment).  I would like
to say to all developers of the uncommented system classes: "Will you please go
back and comment, all the methods and classes you wrote, but failed to
document!"  And I know I'm not the only one who feels this way.  Hold back on
new features for just a minute, and give what we already have a quick polish. 
I've wasted many hours trying to puzzle out how to use complex yet undocumented
methods (some weren't even documented on the Squeak Swiki).  The basic
collection classes, and the core system classes are well commented.

 -Aidan

P.S No hard feelings, just some frustration.  Sqeuak is a great development
system, and seems to keep getting better.



  
+1

I would also suggest some things:
  • Definition of a set that can be considered as foundation classes.
  • Within this set, standardization of docs and also external documentation.
  • Within this set, standardization of style.
  • Within this set, compatibility between all the classes (meaning, no hang-ups during install, no hang-ups during execution due to cross effects, etc).
  • When a new class is considered suitable to be included inside the "foundation classes" set, it must comply with above requirements.
  • A police for deprecation that avoids conflicts with new classes.
I agree: Squeak is a great development system that is getting better all the time. Besides have a finest community supporting it.

Best regards,

CdAB







signature.asc (267 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Socket (was: Re: Winds of change)

Andreas.Raab
In reply to this post by Daniel Klein-3
Daniel Klein wrote:
> I do notice the SocketStream has a HTTP example, but I don't think
> SocketStream is for TCP (I could be wrong, but there is no documentation
> either way).

You are wrong. SocketStream is for TCP.

> I haven't figured it out yet in Squeak. I thought I could do something
> like this:
>
> wire := SocketStream openConnectionToHostNamed: 'telnetHostname' port: 23.
>
> and then use
>
> wire upToAll:
>
> and
>
> wire nextPutAll:
>
> but this just 'hangs' and I have to alt+. to abandon the process.

No, it works just fine. For example:

   stream := SocketStream openConnectionToHostNamed: 'www.squeak.org'
port: 80.
   stream nextPutAll: 'GET / HTTP/1.0', String crlf, String crlf.
   stream flush.
   header := stream upToAll: String crlf, String crlf.
   content := stream upToEnd.

Cheers,
   - Andreas

12