Common Smalltalk VM Summit

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

Common Smalltalk VM Summit

David Griswold-2
Hi everybody,

Dan Ingalls and I have been talking, trying to figure out what to do about
the major opportunity offered by the recent release of the Strongtalk
virtual machine as open source.

Rather than keep this discussion to ourselves, our thinking was that this
would be the perfect time to call a kind of summit, with representatives of
all the major Smalltalk implementations, both open-source and commercial.
The topic: what if we could build a shared high-performance open-source
platform suitable for hosting a number of different Smalltalk systems, one
that we can all share and work on together?

While the details of the type-feedback techniques used in the Strongtalk VM
are arcane, the benefits are not: *much* higher performance for general
Smalltalk code.  Dan, myself, and many others who know about type-feedback
and the pioneering Self system, have been dreaming for many years about the
possibility that someday this technology might make it into mainstream
Smalltalk VMs.  It would take Smalltalk performance to a whole new level.

That someday is here now, if the different factions within the Smalltalk
community can pull together a little bit so that we don't miss this
opportunity.

There may be debate within the community about some aspects of the
Strongtalk project, for example the type system, but we should all be able
to agree on the simple idea that a whole lot more performance would be a
Good Thing.  Now a huge performance gift has suddenly shown up on our
doorstep.

The last thing Smalltalk needs is another incompatible implementation.  The
splintering of Smalltalk implementations has dispersed the huge amount of
talent and effort needed to build, port, maintain, and extend a really good
virtual-machine.  Alone, this is a problem for each of us.  Together, a
really good, super-fast type-feedback VM is for the first time within reach.

I would like to invite the smart people out there who know and care most
about the various Smalltalk virtual machines, to join Dan and I in a fairly
focused discussion about this starting tomorrow (Thursday, PST) on the
Strongtalk discussion group, at
http://groups.google.com/group/strongtalk-general.  I will be out of the
country for 6 weeks starting Wed the 11th, so I would like to propose that
we try to go back and forth about this a few times by the end of Friday, so
we can think about this over the weekend, and maybe come up with a proposed
general course of action by the middle of next week, so we all have
something to think about until my return.

Let's not lose this opportunity.

Cheers,
Dave



Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

Giovanni Giorgi-3
Hi,
 I am one of the author of the squeakweekly.
I'd like to keep an eye on this thing and to offer visibility on the
squeakweekly.
I have tried VW 7.0 NC in the last month.
I am a bit unhappy because I see a lot of work under VW but it is not
open, and some of its thing aren't so fast (for instance Store is
quite slow as a version control)

I'd like to have an open and quite fast implementation of SmallTalk.
It can be userful to unify different dialect, to increase the
popularity of SmallTalk and to attract more developers..


On 10/5/06, David Griswold <[hidden email]> wrote:
> Hi everybody,
>
> Dan Ingalls and I have been talking, trying to figure out what to do about
> the major opportunity offered by the recent release of the Strongtalk
> virtual machine as open source.
>
[...]


--
"Just Design It" -- GG
Software Architect
http://www.objectsroot.com/

Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

Göran Krampe
In reply to this post by David Griswold-2
Hi David and all!

Some ramblings from a non VM hacker:

"David Griswold" <[hidden email]> wrote:

> Hi everybody,
>
> Dan Ingalls and I have been talking, trying to figure out what to do about
> the major opportunity offered by the recent release of the Strongtalk
> virtual machine as open source.
>
> Rather than keep this discussion to ourselves, our thinking was that this
> would be the perfect time to call a kind of summit, with representatives of
> all the major Smalltalk implementations, both open-source and commercial.
> The topic: what if we could build a shared high-performance open-source
> platform suitable for hosting a number of different Smalltalk systems, one
> that we can all share and work on together?

Question #1: Will you and/or Dan be at OOPSLA now in October?

> While the details of the type-feedback techniques used in the Strongtalk VM
> are arcane, the benefits are not: *much* higher performance for general
> Smalltalk code.  Dan, myself, and many others who know about type-feedback
> and the pioneering Self system, have been dreaming for many years about the
> possibility that someday this technology might make it into mainstream
> Smalltalk VMs.  It would take Smalltalk performance to a whole new level.
>
> That someday is here now, if the different factions within the Smalltalk
> community can pull together a little bit so that we don't miss this
> opportunity.

A few comments:

IMHO there are at least two very interesting projects in this arena:
Ian's pepsi/coke/idst and Bryce's Exupery.

It was a while since I heard anything about AoStA. And all the "other"
non-Smalltalk projects like Parrot, YARV (a fast Ruby VM - tons of those
projects apparently), Pypy etc are probably too far "away" from the
Smalltalk community to be of real interest.

Then of course we have Spoon - the "minimal Squeak project" that Craig
is pulling - which probably could form a very good new "kernel image" on
top of a new VM, but despite some low level modification to the VM like
his super proxies etc - he has AFAIK not yet touched the VM much.

Now, to most of us Squeakers it is joyful to see Strongtalk "back in
business" - especially since that includes people like you. :)

On the other hand, a big chunk of C++ doesn't really sound like an
attractive artifact - at least not to me ;). Ian has moved away from C++
as his choice of VM implementation platform (see idst/pepsi/coke etc)
and Bryce is building Exupery entirely in Squeak itself.

Getting the whole (including commercial ones) Smalltalk community united
behind a common execution platform is probably... hard. But getting the
open source subset of the Smalltalk community (GST, Squeak and so on)
united should be at least in the realm of possibilities.

Without actually knowing what I am blabbering about I would *love* to
see the following happening:

You (and other Strongtalk implementors) take your expertise (and
possibly even code) and take a hard look at Ian's and Bryce's work and
join up with them.

Exupery is probably the "backwards compatible" (since it more or less
piggy backs on the existing VM which is quite polished at this time) way
to real speed for the current Squeak VM in a reasonable timeframe.

But pepsi/idst/coke looks to me to be perhaps the most promising and
exciting low level platform ever. I am hoping that Exupery can somehow
eventually become a part of that, as one of several backends - and I am
also betting that Ian has the ambition to include type-feedback
optimizations into it.

Since pepsi/idst/coke is so malleable (it is not even a VM!) it seems
like it could have a chance to become a common platform for different
Smalltalks - it is meant to work for almost any kind of language, and
already has other languages running on top of it - like javascript (in
some form).

Well, there are others with much more insight than little me. But to be
frank - I don't see lots of Squeak VM experts rushing over to try to
grok a large C++ code body. I do however see people flocking towards
Exupery (since it is written in Smalltalk) and to pepsi/idst/coke (since
it too is written in Smalltalk to a large degree).

So not to put a damper on the enthusiasm here (which I probably did
anyway - but that is not my intention) but I think that the
Strongtalkers should join the Squeakers - and not hoping for the
opposite to happen. ;)

regards, Göran


PS. These are exciting times for Smalltalk. Let's have fun no matter
what! An appetizer to get you all interested in idst/pepsi/coke, have
you *ever* seen a Smalltalk hello world like this?!:

gokr@padme:~/pepsi/idst-5.7/examples/hw$ ls -la
total 16
drwxr-xr-x   2 gokr gokr 4096 Oct  5 14:30 .
drwxr-xr-x  16 gokr gokr 4096 Oct  3 03:21 ..
-rw-r--r--   1 gokr gokr  153 Jul 19 15:08 Makefile
-rw-r--r--   1 gokr gokr   48 Oct  2 20:35 hw.st
gokr@padme:~/pepsi/idst-5.7/examples/hw$ cat hw.st
{ import: st80 }

[
    'Hello, world' putln.
]
gokr@padme:~/pepsi/idst-5.7/examples/hw$ cat Makefile
PROGRAM = hw

all : $(PROGRAM)

% : %.st
 idc $<

tidy: .FORCE
 rm -f *~

clean : tidy .FORCE
 rm -f $(PROGRAM) *.exe

spotless : clean .FORCE

.FORCE :
gokr@padme:~/pepsi/idst-5.7/examples/hw$ time make
idc hw.st

real  0m1.244s
user  0m0.960s
sys 0m0.032s
gokr@padme:~/pepsi/idst-5.7/examples/hw$ time ./hw
Hello, world

real  0m0.083s
user  0m0.024s
sys 0m0.032s
gokr@padme:~/pepsi/idst-5.7/examples/hw$ ls -la
total 184
drwxr-xr-x   2 gokr gokr   4096 Oct  5 14:31 .
drwxr-xr-x  16 gokr gokr   4096 Oct  3 03:21 ..
-rw-r--r--   1 gokr gokr    153 Jul 19 15:08 Makefile
-rwxr-xr-x   1 gokr gokr 164658 Oct  5 14:31 hw
-rw-r--r--   1 gokr gokr     48 Oct  2 20:35 hw.st
gokr@padme:~/pepsi/idst-5.7/examples/hw$

Reply | Threaded
Open this post in threaded view
|

RE: Common Smalltalk VM Summit

David Griswold-2
In reply to this post by David Griswold-2
Ok everybody,

Hopefully the right people are listening in so that we can have a real
dialog between the different Smalltalk implementations.

Basically what I am proposing is that we try to join efforts to support an
open source high-performance VM that we could all then use however we want.
No one Smalltalk faction could do this before, because building a
type-feedback VM from the ground up is just too big a job for a small group
of volunteers, especially if they didn't have experience with the Self VM,
on which it is based.  But now we have one that is basically done, with just
some debugging and tweaking here and there, which is a lot less effort than
writing a new one.

I'm not proposing that we all give up our different Smalltalk tools,
libraries, GUIs, etc.  In fact, hopefully this could be done without anyone
having to commit to tossing their own VM out.  The idea would be to factor
out a core VM interface, and then each platform could wrap that as necessary
to make it look the way their libraries expect it to.  Then there would at
least be the option of plugging in a different VM, and if people like it,
they could then switch to it completely if they want.

Of course, this requires compromising on all sides, since there are numerous
small language and VM functionality differences we would have to iron out.
But even if there is some pain there, the benefit of having a common
language semantics and a bigger group of people supporting the VM should be
worth it.  It might even be a path, eventually, to reuniting the Smalltalks.
For commercial Smalltalks, one big benefit would be the increased comfort
that customers would have because the VM would be open source, and thus more
likely to survive in the long term.

I'm not saying that I or Strongtalk would even have to play the leading role
here.  There are plenty of smart VM people in the Smalltalk community, and
they are welcome to step up and assert themselves.

We need to look more closely at the various VM and language differences that
we would have to overcome.  What is everyones feedback on the difficulties
and benefits of doing this?

-Dave



Reply | Threaded
Open this post in threaded view
|

RE: Common Smalltalk VM Summit

David Griswold-2
In reply to this post by Göran Krampe
Goran,

- I won't be at OOPSLA.  That would have been a great time to meet, but it
is not to be, for me.
I don't know about Dan.  If there is a critical mass of people that want to
talk about it there, I could probably call in on a conference call or
something.

- I know that many people would like to see this the VM all in Smalltalk
rather than C++, and that is a long-term goal for us too.   But that is more
a long term experiment; if we are going to join together on a common VM, we
need a tried-and-true path that we know can produce a commercial quality VM,
and it would be a lot faster to start from the C++ that we have.

- I am a fan of things like Exupery etc.  But I don't think it is reasonable
in the near future to retrofit type-feedback into any of the existing VM
frameworks.  If it was that easy it would already have been done.  The
type-feedback infrastructure needs to be built in from the beginning.
Without that infrastructure, no compiler will even get close to the
performance of type-feedback on general Smalltalk code (as opposed to
microbenchmarks).

Dave

> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of
> [hidden email]
> Sent: Thursday, October 05, 2006 5:41 AM
> To: The general-purpose Squeak developers list
> Subject: Re: Common Smalltalk VM Summit
>
>
> Hi David and all!
>
> Some ramblings from a non VM hacker:
>
> "David Griswold" <[hidden email]> wrote:
> > Hi everybody,
> >
> > Dan Ingalls and I have been talking, trying to figure out what
> to do about
> > the major opportunity offered by the recent release of the Strongtalk
> > virtual machine as open source.
> >
> > Rather than keep this discussion to ourselves, our thinking was
> that this
> > would be the perfect time to call a kind of summit, with
> representatives of
> > all the major Smalltalk implementations, both open-source and
> commercial.
> > The topic: what if we could build a shared high-performance open-source
> > platform suitable for hosting a number of different Smalltalk
> systems, one
> > that we can all share and work on together?
>
> Question #1: Will you and/or Dan be at OOPSLA now in October?
>
> > While the details of the type-feedback techniques used in the
> Strongtalk VM
> > are arcane, the benefits are not: *much* higher performance for general
> > Smalltalk code.  Dan, myself, and many others who know about
> type-feedback
> > and the pioneering Self system, have been dreaming for many
> years about the
> > possibility that someday this technology might make it into mainstream
> > Smalltalk VMs.  It would take Smalltalk performance to a whole
> new level.
> >
> > That someday is here now, if the different factions within the Smalltalk
> > community can pull together a little bit so that we don't miss this
> > opportunity.
>
> A few comments:
>
> IMHO there are at least two very interesting projects in this arena:
> Ian's pepsi/coke/idst and Bryce's Exupery.
>
> It was a while since I heard anything about AoStA. And all the "other"
> non-Smalltalk projects like Parrot, YARV (a fast Ruby VM - tons of those
> projects apparently), Pypy etc are probably too far "away" from the
> Smalltalk community to be of real interest.
>
> Then of course we have Spoon - the "minimal Squeak project" that Craig
> is pulling - which probably could form a very good new "kernel image" on
> top of a new VM, but despite some low level modification to the VM like
> his super proxies etc - he has AFAIK not yet touched the VM much.
>
> Now, to most of us Squeakers it is joyful to see Strongtalk "back in
> business" - especially since that includes people like you. :)
>
> On the other hand, a big chunk of C++ doesn't really sound like an
> attractive artifact - at least not to me ;). Ian has moved away from C++
> as his choice of VM implementation platform (see idst/pepsi/coke etc)
> and Bryce is building Exupery entirely in Squeak itself.
>
> Getting the whole (including commercial ones) Smalltalk community united
> behind a common execution platform is probably... hard. But getting the
> open source subset of the Smalltalk community (GST, Squeak and so on)
> united should be at least in the realm of possibilities.
>
> Without actually knowing what I am blabbering about I would *love* to
> see the following happening:
>
> You (and other Strongtalk implementors) take your expertise (and
> possibly even code) and take a hard look at Ian's and Bryce's work and
> join up with them.
>
> Exupery is probably the "backwards compatible" (since it more or less
> piggy backs on the existing VM which is quite polished at this time) way
> to real speed for the current Squeak VM in a reasonable timeframe.
>
> But pepsi/idst/coke looks to me to be perhaps the most promising and
> exciting low level platform ever. I am hoping that Exupery can somehow
> eventually become a part of that, as one of several backends - and I am
> also betting that Ian has the ambition to include type-feedback
> optimizations into it.
>
> Since pepsi/idst/coke is so malleable (it is not even a VM!) it seems
> like it could have a chance to become a common platform for different
> Smalltalks - it is meant to work for almost any kind of language, and
> already has other languages running on top of it - like javascript (in
> some form).
>
> Well, there are others with much more insight than little me. But to be
> frank - I don't see lots of Squeak VM experts rushing over to try to
> grok a large C++ code body. I do however see people flocking towards
> Exupery (since it is written in Smalltalk) and to pepsi/idst/coke (since
> it too is written in Smalltalk to a large degree).
>
> So not to put a damper on the enthusiasm here (which I probably did
> anyway - but that is not my intention) but I think that the
> Strongtalkers should join the Squeakers - and not hoping for the
> opposite to happen. ;)
>
> regards, Göran
>
>
> PS. These are exciting times for Smalltalk. Let's have fun no matter
> what! An appetizer to get you all interested in idst/pepsi/coke, have
> you *ever* seen a Smalltalk hello world like this?!:
>
>



Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

stephane ducasse-2
In reply to this post by David Griswold-2
this sounds really an excellent idea. I hope that forces will be  
joining.

On 5 oct. 06, at 18:13, David Griswold wrote:

> Ok everybody,
>
> Hopefully the right people are listening in so that we can have a real
> dialog between the different Smalltalk implementations.
>
> Basically what I am proposing is that we try to join efforts to  
> support an
> open source high-performance VM that we could all then use however  
> we want.
> No one Smalltalk faction could do this before, because building a
> type-feedback VM from the ground up is just too big a job for a  
> small group
> of volunteers, especially if they didn't have experience with the  
> Self VM,
> on which it is based.  But now we have one that is basically done,  
> with just
> some debugging and tweaking here and there, which is a lot less  
> effort than
> writing a new one.
>
> I'm not proposing that we all give up our different Smalltalk tools,
> libraries, GUIs, etc.  In fact, hopefully this could be done  
> without anyone
> having to commit to tossing their own VM out.  The idea would be to  
> factor
> out a core VM interface, and then each platform could wrap that as  
> necessary
> to make it look the way their libraries expect it to.  Then there  
> would at
> least be the option of plugging in a different VM, and if people  
> like it,
> they could then switch to it completely if they want.
>
> Of course, this requires compromising on all sides, since there are  
> numerous
> small language and VM functionality differences we would have to  
> iron out.
> But even if there is some pain there, the benefit of having a common
> language semantics and a bigger group of people supporting the VM  
> should be
> worth it.  It might even be a path, eventually, to reuniting the  
> Smalltalks.
> For commercial Smalltalks, one big benefit would be the increased  
> comfort
> that customers would have because the VM would be open source, and  
> thus more
> likely to survive in the long term.
>
> I'm not saying that I or Strongtalk would even have to play the  
> leading role
> here.  There are plenty of smart VM people in the Smalltalk  
> community, and
> they are welcome to step up and assert themselves.
>
> We need to look more closely at the various VM and language  
> differences that
> we would have to overcome.  What is everyones feedback on the  
> difficulties
> and benefits of doing this?
>
> -Dave
>
>
>


Reply | Threaded
Open this post in threaded view
|

re: Common Smalltalk VM Summit

ccrraaiigg
In reply to this post by Göran Krampe

Hi all--

> Then of course we have Spoon - the "minimal Squeak project" that Craig
> is pulling - which probably could form a very good new "kernel image"
> on top of a new VM...

     Yes, I think that has a lot of potential.

> ...but despite some low level modification to the VM like his super
> proxies etc - he has AFAIK not yet touched the VM much.

     Well, I have, but I don't think it's a problem. :)

> On the other hand, a big chunk of C++ doesn't really sound like an
> attractive artifact - at least not to me ;). Ian has moved away from
> C++ as his choice of VM implementation platform (see idst/pepsi/coke
> etc) and Bryce is building Exupery entirely in Squeak itself.

     Yeah, I appreciate that we can't really do much about the fact that
 the Strongtalk VM is implemented with C++, but I also think that aspect
turns a lot of people off, even many of the VM-knowledgable ones. I must
admit I'm of them. I can claim to be a Squeak VM expert at this point
(from my Spoon work), but I'm also utterly seduced by the great
metacircular implementation by Dan et al (even though it could certainly
be improved a lot... that's another thing I know from the Spoon work :).
I run the VM-in-Squeak all the time, I can't do a lot of my work without
it, etc.

     But it looks like I might just be one of the people in this project
who gets to sit up in object memory and make demands about how the
execution machinery should behave. :)


-C

--
Craig Latta
http://netjam.org/resume



Reply | Threaded
Open this post in threaded view
|

RE: Common Smalltalk VM Summit

J J-6
In reply to this post by David Griswold-2
>From: "David Griswold" <[hidden email]>
>Reply-To: The general-purpose Squeak developers
>list<[hidden email]>
>To: "The general-purpose Squeak developers
>list"<[hidden email]>
>Subject: RE: Common Smalltalk VM Summit
>Date: Thu, 5 Oct 2006 09:29:23 -0700
>
>- I am a fan of things like Exupery etc.  But I don't think it is
>reasonable
>in the near future to retrofit type-feedback into any of the existing VM
>frameworks.  If it was that easy it would already have been done.  The
>type-feedback infrastructure needs to be built in from the beginning.
>Without that infrastructure, no compiler will even get close to the
>performance of type-feedback on general Smalltalk code (as opposed to
>microbenchmarks).
>
>Dave
>

I'm confused.  I thought type-feedback wasn't going to give and speed
improvements.  If not, then what does it buy?



Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

Michael Haupt-3
Hi,

On 10/6/06, J J <[hidden email]> wrote:
> I'm confused.  I thought type-feedback wasn't going to give and speed
> improvements.  If not, then what does it buy?

it's the optional type system in Strongtalk that does not improve
performance. Type *feedback* does, though.

Take Self, for example. It does not have a type system (not even an
optional one), but type feedback-directed optimisation. Type feedback
works without a "static" type system backing it.

The type feedback mechanisms are - provided I understand them
correctly - about recording type information at send sites. This can
be done in the absence of actual type annotations as well as in their
presence. The latter approach is the one Strongtalk follows: type
declarations are a "helping hand", but the power comes from the
feedback mechanisms themselves.

I hope I'm not adding to your confusion. :-)

Best,

Michael

Reply | Threaded
Open this post in threaded view
|

RE: Common Smalltalk VM Summit

David Griswold-2
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of
> Michael Haupt
> Sent: Friday, October 06, 2006 10:33 AM
> To: The general-purpose Squeak developers list
> Subject: Re: Common Smalltalk VM Summit
>
>
> Hi,
>
> On 10/6/06, J J <[hidden email]> wrote:
> > I'm confused.  I thought type-feedback wasn't going to give and speed
> > improvements.  If not, then what does it buy?
>
> it's the optional type system in Strongtalk that does not improve
> performance. Type *feedback* does, though.
>
> Take Self, for example. It does not have a type system (not even an
> optional one), but type feedback-directed optimisation. Type feedback
> works without a "static" type system backing it.
>
> The type feedback mechanisms are - provided I understand them
> correctly - about recording type information at send sites. This can
> be done in the absence of actual type annotations as well as in their
> presence. The latter approach is the one Strongtalk follows: type
> declarations are a "helping hand", but the power comes from the
> feedback mechanisms themselves.

A lot of this confusion isn't your fault, it's the fault of the unfortunate
choice of term "type-feedback," which is historical.  It is really "class"
or "implementation type" feedback, and it is a mechanism *inside* the
Strongtalk VM that dynamically tracks what instance classes occur at each
send site, to learn how to inline and optimize those sends.

The Strongtalk "type system" is a *completely* unrelated subsystem, that
runs outside the VM in Smalltalk.  Strongtalk types are not implementation
or class types, but pure interface types, that have nothing to do with
classes, so they are not useful for optimization.  They are used purely to
check the code and make it more structured and understandable, and are based
on static analysis, not dynamic analysis.

So Strongtalk has two, unrelated features: a dynamic type(class)-feedback
VM, and a Smalltalk static type(interface)-checker.
-Dave



Reply | Threaded
Open this post in threaded view
|

types of types (was: Common Smalltalk VM Summit)

Jecel Assumpcao Jr
In reply to this post by J J-6
J J wrote:
> I'm confused.  I thought type-feedback wasn't going to give and speed
> improvements.  If not, then what does it buy?

Michael Haupt and David Griswold already gave you very good answers so I
would just like to list the various terms associated with "type" so any
future discussions can make sense.

- Strong types vs weak types vs untyped systems:

Systems with strong types strictly enforce the association between a
given object and the operations on it. In practice there are always
situations where you have to weaken the type system to get things done,
which can be through explicit casts (to use the C term), implicit casts
or through unions (C's term for variable records). In a system like
Forth or assembly language the data is just bits and you can do any
operations on them, so these are the only systems that are actually
untyped.

- Dynamic types vs static types:

Dynamic types are checked at run time and so imply that there is some
information stored in the data itself that the system can look at.
Static types are declared in the source code and the compiler makes sure
that the generated code does the right thing with no run time checks.

- Concrete types vs abstract types:

Concrete types define such details as the memory layout of information
and actual machine instructions needed to implement its operations. In
principal this should be of interest only to the compiler. Abstract
types define the set of source level operations that are understood by
the objects and are what the programmer thinks in terms of.

Taking just the latter two axis, let me give you examples of the four
possible combinations:

Dynamic concrete types - Strongtalk's run time feedback system
Static concrete types - long/int/short in C, any PL/I declaration,
Java's primitives
Dynamic abstract types - type inference application in an image based
system
Static abstract types - Strongtalk's optional declarations

-- Jecel

Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

J J-6
In reply to this post by Michael Haupt-3



>From: "Michael Haupt" <[hidden email]>
>Reply-To: The general-purpose Squeak developers
>list<[hidden email]>
>To: "The general-purpose Squeak developers
>list"<[hidden email]>
>Subject: Re: Common Smalltalk VM Summit
>Date: Fri, 6 Oct 2006 19:32:35 +0200
>
>I hope I'm not adding to your confusion. :-)
>
>Best,
>
>Michael
>

No no, that helped a lot.  Thank you very much.



Reply | Threaded
Open this post in threaded view
|

RE: Common Smalltalk VM Summit

J J-6
In reply to this post by David Griswold-2



>From: "David Griswold" <[hidden email]>
>Reply-To: The general-purpose Squeak developers
>list<[hidden email]>
>To: "The general-purpose Squeak developers
>list"<[hidden email]>
>Subject: RE: Common Smalltalk VM Summit
>Date: Fri, 6 Oct 2006 11:18:27 -0700
>
>A lot of this confusion isn't your fault, it's the fault of the unfortunate
>choice of term "type-feedback," which is historical.  It is really "class"
>or "implementation type" feedback, and it is a mechanism *inside* the
>Strongtalk VM that dynamically tracks what instance classes occur at each
>send site, to learn how to inline and optimize those sends.
>
>The Strongtalk "type system" is a *completely* unrelated subsystem, that
>runs outside the VM in Smalltalk.  Strongtalk types are not implementation
>or class types, but pure interface types, that have nothing to do with
>classes, so they are not useful for optimization.  They are used purely to
>check the code and make it more structured and understandable, and are
>based
>on static analysis, not dynamic analysis.
>
>So Strongtalk has two, unrelated features: a dynamic type(class)-feedback
>VM, and a Smalltalk static type(interface)-checker.
>-Dave
>

Thank you very much for the explaination.  This thread sounds a lot more
interesting now. :)



Reply | Threaded
Open this post in threaded view
|

Re: Common Smalltalk VM Summit

Zulq Alam-2
In reply to this post by stephane ducasse-2
I too think it's an excellent idea too. Will there be anyone from Object
Arts or Cincom taking part? If not, I would like to see their
involvement. I think such a project could benefit the whole smalltalk
community.

Z.

stephane ducasse wrote:

> this sounds really an excellent idea. I hope that forces will be joining.
>
> On 5 oct. 06, at 18:13, David Griswold wrote:
>
>> Ok everybody,
>>
>> Hopefully the right people are listening in so that we can have a real
>> dialog between the different Smalltalk implementations.