[Cuis-dev] Slang for Cuis (WIP, experimental)

Luciano Notarfrancesco luchiano at gmail.com
Sun May 31 10:32:15 PDT 2020


Yeah, I would want to get the arguments from the stack, but everything else
is unnecessary to do things like FloatArrayPlugin.

BTW, did anyone use Lowcode in Pharo? I didn't know it, I just saw
references to it in the opensmalltalk-vm source tree and saw a presentation
about it.. it looks like writing primitives using Cog JIT RTL opcodes from
within the image, and you can call functions from external libraries too...

On Mon, Jun 1, 2020 at 1:14 AM David T. Lewis <lewis at mail.msen.com> wrote:

> 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
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20200601/6334fa8a/attachment-0001.htm>


More information about the Cuis-dev mailing list