[ANN] TruffleSqueak 20.1.0 released

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

[ANN] TruffleSqueak 20.1.0 released

fniephaus
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/

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Ben Coman
On Sat, 20 Jun 2020 at 21:37, Fabio Niephaus <[hidden email]> 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 super cool Fabio.  Ever since a long time ago I noticed... 
      Behaviour >> compilerClass
I always thought Squeak/Pharo might make a good polygot platform.

I notice in the video [4] that you just run things from the Workspace (which itself is great)
but you don't make use of the Squeak's code browser or the debugger.  What are the constraints there?

cheers -ben
  


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Ben Coman


On Sun, 21 Jun 2020 at 12:31, Ben Coman <[hidden email]> wrote:
On Sat, 20 Jun 2020 at 21:37, Fabio Niephaus <[hidden email]> 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 super cool Fabio.  Ever since a long time ago I noticed... 
      Behaviour >> compilerClass
I always thought Squeak/Pharo might make a good polygot platform.

I notice in the video [4] that you just run things from the Workspace (which itself is great)
but you don't make use of the Squeak's code browser or the debugger.  What are the constraints there?

Also, what would need to be done to make FFI calls using GraalSqueak?
 
cheers -ben
  


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

David T. Lewis
In reply to this post by fniephaus
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
 

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Squeak - Dev mailing list
Oh wow! Great presentation! This is fantastic work you have done. It is
on my list!

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?

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
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Ben Coman
Hi Ben:

On Sun, Jun 21, 2020 at 6:31 AM Ben Coman <[hidden email]> wrote:

>
> On Sat, 20 Jun 2020 at 21:37, Fabio Niephaus <[hidden email]> 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 super cool Fabio.  Ever since a long time ago I noticed...
>       Behaviour >> compilerClass
> I always thought Squeak/Pharo might make a good polygot platform.
>
> I notice in the video [4] that you just run things from the Workspace (which itself is great)
> but you don't make use of the Squeak's code browser or the debugger.  What are the constraints there?

Thanks! And correct... at the moment, the system browser can't be used
to write code in different languages. We've tried out some ideas that
involve compilerClass, but we haven't found a good way to integrate
GraalVM languages nicely yet. As you know, most languages are
file-based and don't have built-in support for persistence, so there
are some interesting problems to tackle. If you have any ideas in that
direction, please let us know!

Cheers,
Fabio

>
> cheers -ben
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Ben Coman
On Sun, Jun 21, 2020 at 7:35 AM Ben Coman <[hidden email]> wrote:

>
>
>
> On Sun, 21 Jun 2020 at 12:31, Ben Coman <[hidden email]> wrote:
>>
>> On Sat, 20 Jun 2020 at 21:37, Fabio Niephaus <[hidden email]> 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 super cool Fabio.  Ever since a long time ago I noticed...
>>       Behaviour >> compilerClass
>> I always thought Squeak/Pharo might make a good polygot platform.
>>
>> I notice in the video [4] that you just run things from the Workspace (which itself is great)
>> but you don't make use of the Squeak's code browser or the debugger.  What are the constraints there?
>
>
> Also, what would need to be done to make FFI calls using GraalSqueak?

Some of our students worked on an FFIPlugin for TruffleSqueak (see
[1]), but it's far from being complete. Just like other GraalVM
languages, it's based on TruffleNFI (see [2]), an internal language
that can be used to call native libraries. TruffleSqueak CI actually
runs the FFIPluginTests (among many others), so you can find out what
works already and what doesn't for the release at [3]. However, the
polyglot API is superior in many ways, so the FFIPlugin is currently
not a priority. Anyway, all contributions are well! :)

Fabio

[1] https://github.com/hpi-swa/trufflesqueak/commit/04507ea7eb17172f9861e30526a2cbb59a1f071b
[2] https://github.com/oracle/graal/blob/87b3ac3862dcfb470bb3963f1713d73d2473d358/truffle/src/com.oracle.truffle.nfi/src/com/oracle/truffle/nfi/Parser.java#L53-L92
[3] https://github.com/hpi-swa/trufflesqueak/runs/787359010?check_suite_focus=true#step:11:2266

>
>>
>> cheers -ben
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Ben Coman
On Sun, Jun 21, 2020 at 6:31 AM Ben Coman <[hidden email]> wrote:

>
> On Sat, 20 Jun 2020 at 21:37, Fabio Niephaus <[hidden email]> 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 super cool Fabio.  Ever since a long time ago I noticed...
>       Behaviour >> compilerClass
> I always thought Squeak/Pharo might make a good polygot platform.
>
> I notice in the video [4] that you just run things from the Workspace (which itself is great)
> but you don't make use of the Squeak's code browser or the debugger.  What are the constraints there?

Sorry, I forgot to talk about the debugger. This one is tricky because polyglot debugging is only supported through external instruments, not from the main thread. It might be possible to add support for debugging other languages when they run in a different thread, but we haven't tried that out yet. Anyway, GraalVM supports debugging languages using the Chrome debugger [1], and that somewhat works for Squeak. If you run TruffleSqueak with `trufflesqueak --inspect`, you can debug the image on the bytecode level starting right after the snapshot primitive:

image.png

Cheers,
Fabio

[1] https://www.graalvm.org/docs/tools/chrome-debugger

>
> cheers -ben
>  
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by David T. Lewis
On Sun, Jun 21, 2020 at 4:53 PM David T. Lewis <[hidden email]> 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.

Thanks, Dave! And I agree, being able to send messages to objects from
other languages is very different from talking to some other language
through FFI or IPC. Squeak's tools are a great fit I think, too.

>
>
> 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?

Sure, but I must admit that I haven't contributed a new page to the
wiki yet. Where would be a good place to put this?

Fabio

>
> Dave
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Squeak - Dev mailing list
On Sun, Jun 21, 2020 at 6:58 PM Robert Withers via Squeak-dev
<[hidden email]> 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
> >
> >
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Stéphane Rollandin
In reply to this post by fniephaus
On Windows 8.1, after following the instructions at
https://github.com/hpi-swa/trufflesqueak TruffleSqueak consumes 100% of
two cores and is not very responsive. It this expected or am I missing
something?

Stef

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
Hi Stef,

Sorry about that. I'm afraid I don't have access to a native Windows
machine at the moment, but I'll try to have a look at it. Does the CPU
usage drop after a couple of minutes? And is the UI more responsive
after that? It's possible that you are observing warmup behavior, the
Graal compiler is known to quite slow in terms of warmup. The GraalVM
team is aware of this and actively working on it.

Fabio

On Sun, Jun 21, 2020 at 8:10 PM Stéphane Rollandin
<[hidden email]> wrote:
>
> On Windows 8.1, after following the instructions at
> https://github.com/hpi-swa/trufflesqueak TruffleSqueak consumes 100% of
> two cores and is not very responsive. It this expected or am I missing
> something?
>
> Stef
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Squeak - Dev mailing list
In reply to this post by fniephaus
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.

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

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
> <[hidden email]> 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
>>>
>>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Stéphane Rollandin
In reply to this post by fniephaus
Le 21/06/2020 à 20:18, Fabio Niephaus a écrit :
> Hi Stef,
>
> Sorry about that. I'm afraid I don't have access to a native Windows
> machine at the moment, but I'll try to have a look at it. Does the CPU
> usage drop after a couple of minutes? And is the UI more responsive
> after that?

Here is the behavior as far as I can see: at startup, uses up to 30% of
my overall CPU, then stabilize at 25% (that's two cores at 100%). Then
it calms down to a couple %, but jumps back at 25% at every action in
the Squeak image, even seemingly innocuous one, such as opening a
browser, clicking in a workspace, etc.. All these take time (a browser
takes about 2 seconds to open)

Tested over the course of 20 minutes; I cannot do this for too long
because my laptop heats up very fast in those conditions, unfortunately.

Best,

Stef

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Squeak - Dev mailing list
On Sun, Jun 21, 2020 at 8:36 PM Robert Withers <[hidden email]> 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
> > <[hidden email]> 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
> >>>
> >>>
> >>
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
In reply to this post by Stéphane Rollandin
On Sun, Jun 21, 2020 at 9:24 PM Stéphane Rollandin
<[hidden email]> wrote:

>
> Le 21/06/2020 à 20:18, Fabio Niephaus a écrit :
> > Hi Stef,
> >
> > Sorry about that. I'm afraid I don't have access to a native Windows
> > machine at the moment, but I'll try to have a look at it. Does the CPU
> > usage drop after a couple of minutes? And is the UI more responsive
> > after that?
>
> Here is the behavior as far as I can see: at startup, uses up to 30% of
> my overall CPU, then stabilize at 25% (that's two cores at 100%). Then
> it calms down to a couple %, but jumps back at 25% at every action in
> the Squeak image, even seemingly innocuous one, such as opening a
> browser, clicking in a workspace, etc.. All these take time (a browser
> takes about 2 seconds to open)

It shouldn't stabilize with two cores at 100%, something might be off.
If you have some time, maybe run VisualVM [1] (ships with GraalVM) and
see what's causing the load. I'm happy to help if you have any
questions.

Nonetheless, there will always be some inefficiencies compared with
OpenSmalltalkVM. For example, we don't have direct access to and
control over the Java GC, so it's quite hard to make allInstances very
fast. That's also the reason why some tools open with a slight delay.
But then again, warmup is quite bad and it's expected that when you do
new things, the JIT needs some time to make it fast. A demo of
TruffleSqueak and OSVM running the BouncingAtomsMorph side-by-side is
at [2].

Fabio

[1] https://visualvm.github.io
[2] https://twitter.com/fniephaus/status/1021366253045387265

>
> Tested over the course of 20 minutes; I cannot do this for too long
> because my laptop heats up very fast in those conditions, unfortunately.
>
> Best,
>
> Stef
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Jakob Reschke
Am So., 21. Juni 2020 um 22:24 Uhr schrieb Fabio Niephaus <[hidden email]>:
> A demo of
> TruffleSqueak and OSVM running the BouncingAtomsMorph side-by-side is
> at https://twitter.com/fniephaus/status/1021366253045387265

Impressive. Almost like a human being, except that this machine both
learns and computes much faster. :-)

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

fniephaus
On Sun, Jun 21, 2020 at 11:06 PM Jakob Reschke <[hidden email]> wrote:
>
> Am So., 21. Juni 2020 um 22:24 Uhr schrieb Fabio Niephaus <[hidden email]>:
> > A demo of
> > TruffleSqueak and OSVM running the BouncingAtomsMorph side-by-side is
> > at https://twitter.com/fniephaus/status/1021366253045387265
>
> Impressive. Almost like a human being, except that this machine both
> learns and computes much faster. :-)
>

Peak performance is really good, but I'm not sure you want this sort
of noticeable warmup behavior in graphical tools or something like a
game. Imagine playing Tetris: the JIT would make it orders of
magnitudes harder to play.

Fabio

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

Jakob Reschke
Nope, but your game simulation should not depend on the frame rate
anyway. :-) So it is rather the gaps of slowness that would make it
hard to play. But why get distracted from Tetris by browsing the menus
anyway...

Am So., 21. Juni 2020 um 23:21 Uhr schrieb Fabio Niephaus <[hidden email]>:

>
> On Sun, Jun 21, 2020 at 11:06 PM Jakob Reschke <[hidden email]> wrote:
> >
> > Am So., 21. Juni 2020 um 22:24 Uhr schrieb Fabio Niephaus <[hidden email]>:
> > > A demo of
> > > TruffleSqueak and OSVM running the BouncingAtomsMorph side-by-side is
> > > at https://twitter.com/fniephaus/status/1021366253045387265
> >
> > Impressive. Almost like a human being, except that this machine both
> > learns and computes much faster. :-)
> >
>
> Peak performance is really good, but I'm not sure you want this sort
> of noticeable warmup behavior in graphical tools or something like a
> game. Imagine playing Tetris: the JIT would make it orders of
> magnitudes harder to play.
>
> Fabio
>

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] TruffleSqueak 20.1.0 released

David T. Lewis
In reply to this post by fniephaus
On Sun, Jun 21, 2020 at 07:40:37PM +0200, Fabio Niephaus wrote:

> On Sun, Jun 21, 2020 at 4:53 PM David T. Lewis <[hidden email]> 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.
>
> Thanks, Dave! And I agree, being able to send messages to objects from
> other languages is very different from talking to some other language
> through FFI or IPC. Squeak's tools are a great fit I think, too.
>
> >
> >
> > 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?
>
> Sure, but I must admit that I haven't contributed a new page to the
> wiki yet. Where would be a good place to put this?
>
> Fabio
>

This might be a good place to add your new link:

  http://wiki.squeak.org/squeak/1340

The topic is "A Tour of the Squeak Object Engine" (extracted from Tim Rowledge's
chapter of that name in the "Open Personal Computing and Multimedia".

You could add a link there to your new page, then edit that new page to fill in
the content.

Adding new content to the wiki requires authentication with our top secret and
super-sophisticated authentication protocol. The user name is "Squeak" and the
password is "viewpoints".  Don't tell anyone ;-)

Once your page is in place, people will probably link to it from other pages.

Dave


12