Adding loop primitives/optimizations(wasMakingSet/Dictionaryetc. loops more robust)

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Thu Dec 2 22:49:05 UTC 2004


  Joshua,

  Wow, you seems to have a curious mind... That's good.  But I'm
(also) curious if you've done some experiment with the Japanese IME on
your computer, and if so, how it goes.  If not, just uncomment some
#printString's and type some keyboard, and you'll get some sense on
what is going.

  In regards to "a sublanguage for DSP"...  I'm not sure you're
referring to some silicon, or digital signal processing in
software... but I guess it is the latter.  If so.... why don't you
just start designing and prototyping it without worrying about the
performance?  By the time you are getting there, a (or a few) new
technology VM(s) may be ready, the computers become faster, or just
writing a few little performance critical primitives may make your
language runs fast enough.

  As you know, Squeak already has many signal processing facilities,
including the text-to-speech you've experimented.  (How did Boris' fix
work for you?)  Those facilities are implemented mostly in Squeak with
a bit of primitives.  I have to say that the loop optimizations you
talked about wouldn't have too much practical impact in the light of
those "proofs."

-- Yoshiki

  This story may glorify the Squeak's success too much (thus may not
be quite accurate), but once the famous Croqueteer David Smith thought
(before he gets deeply involved) that Squeak might be too slow so the
kernel should be written in C/C++ and only scripting aspect should be
done in Squeak.  But, it turned out that Squeak is quite capable of
serious 3D stuff with a little facilities it has got.

At Thu, 2 Dec 2004 07:08:47 -0800,
Joshua Scholar wrote:
> 
> Well as I said before, I want to (eventually) add a sublanguage for DSP and
> the like and for that it would be much less constraining if there was a way
> for Slang code to not have to be leaves.
> 
> So my interest in calling out from Slang code is for much more than a loop
> primitive.
> 
> Joshua
> 
> ----- Original Message ----- 
> From: "Andreas Raab" <andreas.raab at gmx.de>
> To: "Joshua Scholar" <jscholar at access4less.net>; "The general-purpose Squeak
> developers list" <squeak-dev at lists.squeakfoundation.org>
> Sent: Thursday, December 02, 2004 2:27 AM
> Subject: Re: Adding loop
> primitives/optimizations(wasMakingSet/Dictionaryetc. loops more robust)
> 
> 
> > > Perhaps setjump etc. isn't necessary.
> >
> > Perhaps not. *shrug*
> >
> > > Why not have the primitive make a
> > > call that leaves what looks like an ordinary call-frame on Smalltalks
> > > stack
> > > waiting for a return with a the PC counter hacked backwards so that it
> > > RERUNS THE PRIMITIVE.  You an have two primitives if that makes it
> easier.
> >
> > Well, good luck. This all sounds horribly messy to me. Making a fake call
> > stack with a hacked pc counter ... *shudder*.
> >
> > > If you want collectable variables, perhaps you can stick these
> primitives
> > > inside of a block or method with local variables and let them primitive
> > > access ordinary Smalltalk locals.
> >
> > I'm sure you can do even more but I have to ask at which point a former
> > exercise in optimization becomes a hack for the sole purpose of prooving
> > that it can be done in precisely that way. Given all that has been talked
> > about I'd rather spend my time making sure Squeak message sends run faster
> > instead of trying to implement a particular primitive (for which the
> > effectiveness has not been proven I might add).
> >
> > Good luck,
> >   - Andreas
> >
> >
> >
> 
> 



More information about the Squeak-dev mailing list