[Cuis-dev] Slang for Cuis (WIP, experimental)
David T. Lewis
lewis at mail.msen.com
Sun May 31 10:14:01 PDT 2020
The interpreter proxy provides the interface to the Smalltalk call
stack, along with a number of other functions. Without that interface,
you cannot take arguments off the stack or return values back to the image.
It also provides the tools you need to (for example) create a new instance
of String that you can return back to the image.
Dave
On Sun, May 31, 2020 at 12:14:36PM +0700, Luciano Notarfrancesco wrote:
> About the interpreterProxy, it looks like there???s a subset of slang that???s
> good enough for a lot of applications and might not really need
> interpreterProxy. I don???t remember all that it is used for, but thinking
> about MiscPrimitivePlugin and FloatArrayPlugin, all they do is receive
> arrays (of floats, bytes, it would be nice to also have float64, int32 and
> int64) and read/write stuff from/to them. They never deal with the object
> memory, they don???t instantiate objects, they don???t even access instance
> variables. This subset is all I need for my use case, and I???m guessing is
> also all that would be needed for a vector graphics plugin and many other
> applications.
>
> On Sun, 31 May 2020 at 4:25 AM, Philip Bernhart via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
>
> > Hi David,
> >
> > "David T. Lewis via Cuis-dev" <cuis-dev at lists.cuis.st> writes:
> >
> > > Don't believe everything you read on vm-dev ;-)
> > > If you are interested in writing your own primitives for just about
> > > any reason at all, then named primitives are exactly what you want.
> >
> > Ok, if you say so. But why should I believe you? :-)
> >
> > > Regarding stand-along slang generation, as a point of comparison you
> > > may want to take a look at the interactive "slang browsing" in the
> > > traditional VMMaker. This is set up to attempt C code translation for
> > > any instance-side method in any class (not just the VM classes).
> >
> > I don't know what you want to say with that. If just as a feature to
> > compare code between old and "new", then it's interesting and cool.
> >
> > Still... there is the problem of how to sustainable co-evolve against
> > the same VM interface. For example which implementation of the
> > interpreterProxy should be serialized? I would need some answers
> > around that whole massive topic, before starting to implement
> > a Cuis Slang PluginMaker.
> >
> > Anyway the feature inspired me to implement that for Cuis Slang:
> >
> >
> > https://github.com/Phantasus/Cuis-Smalltalk-Slang/blob/master/Journal.md#30th-may-2020-jpb
> >
> >
> > Thanks,
> > Philip
> > --
> > Cuis-dev mailing list
> > Cuis-dev at lists.cuis.st
> > https://lists.cuis.st/mailman/listinfo/cuis-dev
> >
More information about the Cuis-dev
mailing list