Re: New binaries
talksmall <[email protected]> Tue, 29 Dec 2009 09:54:23 -0800 (PST)
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <[email protected]> |
Hi Dave,
The short answer is no, there is no build script or recipe for the
image. A bootstrap process for image would be a useful thing to have,
but it's not high on my priority list currently. One thing to note if
you are interested in implementing this is that the Smalltalk compiler
is pure Smalltalk. The only point at which the VM is involved in the
compilation of Smalltalk code is the installation of the compiled
bytecode as a compiled method. This makes bootstrapping trickier than
if the compiler was part of the VM, but it also means you have greater
flexibility over compilation. You can relatively easily replace the
compiler with a different parser or code generator.
However, at roughly 2MB the current image is pretty small, even
without stripping out the Windows dependencies. Note that even though
the image contains platform classes for Windows, OSX and Linux, these
do not load any dynamic libraries unless and until they are actually
required, so there is no real harm (other than the memory occupied by
the classes and methods) in having them in the image. Unless you were
interested in a very constrained embedded application I doubt this
would be significant enough an overhead to worry about.
The stop handler (a block that is called when a Smalltalk Process is
stopped in the VM) can certainly be replaced. When scripting the VM
using the -script command line option the stop handler normally used
by the UI is replaced by a version that invokes the command line
evaluator. This is a very primitive debugger that stops the VM while
debugging a process. You could also replace this with a stop handler
block of your own devising using
Process stopHandler: [:process| ".... handle stop ..."]
If you are interested in porting Seaside, one obstacle you will face
is the absence of continuations (either full or partial) in the
Strongtalk VM. I suspect it would not be all that hard to implement
continuation support, as the basic building blocks are there in order
to support dynamic deoptimization of compiled frames. This would
require VM changes though.
You will also need to implement some Socket classes as there are none
in the image at the moment.
Regards, talksmall
On Dec 29, 3:55=A0pm, Dave Mason <[email protected]> wrote:
> Thanks Dave et al,
>
> Is there a recipe/script anywhere that builds that image from the
> source code? =A0If so, it would presumably be not too difficult to strip
> it down to build an image without the Windows (or any) UI (presumably
> with an alternate error handler).
>
> I would find that far more accessible than trying to run in Windows
> via Fusion (in my 36 year career, I've probably spent less than a
> dozen hours on Windows - so I'm a bit crippled in that environment)
>
> This is exciting! =A0There is some work on a SeasideXUL UI, and I have a
> grad student who will be working on a portable Seaside UI (a la Web
> Velocity), so I'm not very interested in porting the existing UI. =A0I'm
> also very interested in building web servers without any UI.
>
> On Dec 23, 11:50=A0pm, David Griswold <[email protected]>
> wrote:
>
> > In fact, the Strongtalk image in this respect is the same as GNU. =A0Th=
e image
> > is simply another form of the source code. =A0No non-programmatic objec=
ts are
> > kept in the image, no global/class/etc variable state is saved etc. =A0=
The
> > image can always be recreated exactly from the source code. =A0It is th=
at way
> > exactly because I always hated that image hysteresis (history dependenc=
e)
> > problem in ST-76.
> > -Dave
>
> > On Wed, Dec 23, 2009 at 9:53 AM, John Cowan <[email protected]> wrot=
e:
> > > In GNU Smalltalk, an image is just a binary cache of loaded source
> > > files: there are no bits in an image that aren't the result of loadin=
g
> > > source code. =A0As such, it is more like a Java .jar file than a
> > > traditional ST image.
>
> > > IIRC, there are bits in the Squeak image that result from global
> > > assignments done under ST-76.
>
> > > On Wed, Dec 23, 2009 at 10:02 AM, talksmall <stephenlr...@googlemail.=
com>
> > > wrote:
> > > > Hi Dave,
> > > > Not sure exactly what you mean. I'm not familiar with GNU Smalltalk=
.
>
> > > > talksmall
>
> > > > On Dec 22, 7:48 pm, Dave Mason <[email protected]> wrote:
> > > >> Good to see someone's still working on Strongtalk - thanks Stephen=
! I
> > > >> installed VMWare Fusion on my MacBook to explore Strongtalk under
> > > >> Windows, but I can't seem to get to it.
>
> > > >> Is it possible to create a version blowing away most of the image =
and
> > > >> building it up a la GNU Smalltalk? =A0I think I'd find that much m=
ore
> > > >> approachable.
>
> > > >> Thanks =A0../Dave
>
> > > > --
>
> > > > You received this message because you are subscribed to the Google =
Groups
> > > "Strongtalk-general" group.
> > > > To post to this group, send email to strongtalk-general@googlegroup=
s.com
> > > .
> > > > To unsubscribe from this group, send email to
> > > [email protected]<strongtalk-general%2B=
[email protected]>
> > > .
> > > > For more options, visit this group at
> > >http://groups.google.com/group/strongtalk-general?hl=3Den.
>
> > > --
> > > GMail doesn't have rotating .sigs, but you can see mine at
> > >http://www.ccil.org/~cowan/signatures<http://www.ccil.org/%7Ecowan/sig=
natures>
>
> > > --
>
> > > You received this message because you are subscribed to the Google Gr=
oups
> > > "Strongtalk-general" group.
> > > To post to this group, send email to strongtalk-general@googlegroups.=
com.
> > > To unsubscribe from this group, send email to
> > > [email protected]<strongtalk-general%2B=
[email protected]>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/strongtalk-general?hl=3Den.
--
You received this message because you are subscribed to the Google Groups "=
Strongtalk-general" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to strongtalk-general+unsubscrib=
[email protected].
For more options, visit this group at http://groups.google.com/group/strong=
talk-general?hl=3Den.