[squeak-dev] [ANN] TruffleSqueak 20.1.0 released

Fabio Niephaus lists at fniephaus.com
Sun Jun 21 20:07:09 UTC 2020


On Sun, Jun 21, 2020 at 8:36 PM Robert Withers <robert.withers at pm.me> wrote:
>
> I do have a ParrotTalk Java implementation [1] and am working to bring
> Raven (now called PromisesRemote in Squeak) online in Java. I will
> be(Java)/am(Squeak) switching to ASN1 encoding for PromisesRemote.
>
> A vat is a single event loop for processing sends from a queue. (It is
> actually a single process consuming from a 4-level priority queue) This
> is the boundary of a remote capabilities service. If we can use argument
> passing to send eventual messages between vats, that's potentially
> interesting.
>
> Yes, I see, so it is not 16 squeak images, each running within a Java
> Thread on the GraalVM.

Good, so you'd only have to put your classes/jars on the
classpath.Then, you should be able to access them through the Java
class (e.g. `Java type: 'java.lang.System'`).

>
> Still, this is super work. The other awesome thing is using swing for
> the UI. So squeak apps can be using native UI. Awesome!

Thanks again! The JavaToolBuilder prototype is surprisingly simple,
however it might be even more powerful to have something similar for
Morphic. Also, I recently added support for rendering R plots directly
into Morphs. You can find a demo at [1].

Fabio

[1] https://twitter.com/fniephaus/status/1264839969115340800

>
> Kindly,
> Robert
>
> [1] ASN1, ParrotTalk & Raven : https://github.com/CallistoHouseLtd
>
> On 6/21/20 1:48 PM, Fabio Niephaus wrote:
> > On Sun, Jun 21, 2020 at 6:58 PM Robert Withers via Squeak-dev
> > <squeak-dev at lists.squeakfoundation.org> wrote:
> >> Oh wow! Great presentation! This is fantastic work you have done. It is
> >> on my list!
> > Thanks a lot, Robert!
> >
> >> It struck me in a question towards the end about manipulating Java
> >> Threads. Here we have a solution to the multi-core case.
> >>
> >> In PromisesRemote, with a 16 core processor, create 15 Java Threads and
> >> have a different Vat running on each thread. Instead of doing a network
> >> connection between vats on the same core, use TruffleSqueak's foreign
> >> language argument passing to another Java Thread's Vat and do not touch
> >> it again. Do you think something like this might work?
> > I see no reason why this shouldn't work, at least conceptually. I'm
> > not sure what a Vat is, but I'm afraid you can't run TruffleSqueak on
> > multiple threads just yet. So far, that use case hasn't been a
> > priority... but you can let Java or some other GraalVM language with
> > proper threading support do any kind of work for you of course.
> >
> > Cheers,
> > Fabio
> >
> >> Kindly,
> >> Robert
> >>
> >> On 6/21/20 10:53 AM, David T. Lewis wrote:
> >>> On Sat, Jun 20, 2020 at 03:37:09PM +0200, Fabio Niephaus wrote:
> >>>> Hi all,
> >>>>
> >>>> I'd like to officially announce the first stable release of
> >>>> TruffleSqueak [1], a Squeak/Smalltalk VM and Polyglot Programming
> >>>> Environment for the GraalVM [2]. As some of you know, we at HPI [3]
> >>>> have been working on this for quite a while and open-sourced it a few
> >>>> weeks after our presentation at ESUG'19 [4].
> >>>>
> >>>> The virtual machine is implemented in Truffle [5], GraalVM's
> >>>> Java-based language implementation framework. The image has direct
> >>>> access to GraalVM's language interoperability protocol [6] and based
> >>>> on this, we have adapted the workspace and inspection tools so that
> >>>> they work consistently for objects from Javascript, Python, R, Ruby,
> >>>> and all other languages supported by GraalVM. In addition, the image
> >>>> comes with our polyglot notebook system [7] and a polyglot code editor
> >>>> [8]. You may also find our paper on TruffleSqueak (formerly
> >>>> GraalSqueak) [9] and our blog post on "Smalltalk with the GraalVM"
> >>>> [10] an interesting read. Nonetheless, please keep in mind that
> >>>> TruffleSqueak is a research project, so there will be bugs (please
> >>>> report them at [11]) and things left to do (feedback is welcome!).
> >>>>
> >>>> You can follow TruffleSqueak on Twitter [12] for more updates. On June
> >>>> 24, I'm also going to talk about TruffleSqueak in the UK Smalltalk
> >>>> User Group meeting [13], and you are invited to join us.
> >>>>
> >>>> Lastly, I???d like to thank everyone who has contributed to
> >>>> TruffleSqueak and I'm excited to see what you???re going to do with it.
> >>>>
> >>>> Fabio
> >>>>
> >>>>
> >>>> [1] https://github.com/hpi-swa/trufflesqueak
> >>>> [2] https://www.graalvm.org
> >>>> [3] https://hpi.de/swa
> >>>> [4] https://www.youtube.com/watch?v=FAk3Ec8hmzk
> >>>> [5] https://github.com/oracle/graal/tree/master/truffle
> >>>> [6] https://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/interop/InteropLibrary.html
> >>>> [7] https://doi.org/10.1145/3328433.3328434
> >>>> [8] https://medium.com/graalvm/hpi-polyglot-programming-seminar-3fd06ffa59d2
> >>>> [9] https://doi.org/10.1145/3357390.3361024
> >>>> [10] https://www.javaadvent.com/2019/12/smalltalk-with-the-graalvm.html
> >>>> [11] https://github.com/hpi-swa/trufflesqueak/issues
> >>>> [12] https://twitter.com/TruffleSqueak/
> >>>> [13] https://www.meetup.com/UKSTUG/events/cbklbrybcjbgc/
> >>>>
> >>> This is really interesting work, and it is a lot of information to absorb.
> >>> I just watched the ESUG video, which is a good place to start. It is quite
> >>> a different perspective to think of "foreign" objects that can interact
> >>> directly without the need for layers of remote calls.
> >>>
> >>> Thank you for collecting alll of these links all into an announcement here.
> >>> May I suggest that you paste it into a page on wiki.squeak.org as well?
> >>>
> >>> Dave
> >>>
> >>>
> >>
>


More information about the Squeak-dev mailing list