VM implementation choice

83 views
Skip to first unread message

Sabine Schnabeltier

unread,
Aug 7, 2023, 5:00:29 PM8/7/23
to Newspeak Programming Language
I would like to understand some of the reasons that you decided it was worth the extra work to re-implement the VM in WASM. Was there something you weren't satisfied with in the OpenSmalltalk VM? Thanks!

Gilad Bracha

unread,
Aug 7, 2023, 5:29:11 PM8/7/23
to newspeak...@googlegroups.com
Hi Sabine,

There were two completely separate motivations

a. The Web seems to be the most relevant platform on which to run Newspeak. We had a Newspeak to Javascript compiler, but found it very hard to get the correct semantics without undue complexity and/or performance penalty. That may no longer be the case, but at the time, things like become: and allInstances (and hence object schema evolution) did not seem feasible. Hence a dedicated VM running on WASM.

b. We found the Newspeak OpenSmalltalk VM (aka NSVM) was becoming less and less viable. NSVM is a distinct variant, with special bytecodes etc, and yet it shares a lot with the Smalltalk VMs. The latter kept evolving, but NSVM was not being thoroughly tested and maintained by the OpenSMalltalk VM implementors. Thus the changes to the Smalltalk engine effectively destabilized NSVM. We found that NSVM became less reliable over time.


On Mon, Aug 7, 2023 at 2:00 PM Sabine Schnabeltier <sabine.sc...@gmail.com> wrote:
I would like to understand some of the reasons that you decided it was worth the extra work to re-implement the VM in WASM. Was there something you weren't satisfied with in the OpenSmalltalk VM? Thanks!

--
You received this message because you are subscribed to the Google Groups "Newspeak Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to newspeaklangua...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/newspeaklanguage/a23cdbaf-7b17-4297-8464-4fc7bb904370n%40googlegroups.com.


--
Cheers, Gilad

Sabine Schnabeltier

unread,
Aug 7, 2023, 7:43:36 PM8/7/23
to Newspeak Programming Language
Hi Gilad, thanks for your answer!

Is it your intention that Newspeak is a testbed for your new language ideas? Or do you also anticipate that it will be used for the deployment of commercial applications? Either way (or both!) is interesting!

Thanks!

Sabine

Gilad Bracha

unread,
Aug 7, 2023, 8:31:53 PM8/7/23
to newspeak...@googlegroups.com
Hi Sabine,

Thanks for your interest in Newspeak!

From your question, I gather you are not aware of Newspeak's history. The project originated in industry, as an incubation (an internal startup, if you will) at Cadence, starting in October of 2006. The crash of 2008 brought funding to an untimely end some two years later.  Nevertheless, the application we had built on top of Newspeak was used for almost 10 years.  So Newspeak was intended and used for production. After funding ended, work on Newspeak continued as a labor of love. Alas, we did not have the resources to maintain production quality, and so Newspeak evolved in reverse, becoming less mature over time (as in https://en.wikipedia.org/wiki/The_Curious_Case_of_Benjamin_Button_(film) ).

At the same time, Newspeak always had a research component, which is why we published a paper at ECOOP in 2010 (which won the best paper award that year).

Recently, my focus has been on using Newspeak as a basis for a personal productivity tool. There's an editor, called Ampleforth, that should, with enough work, subsume a host of annoying applications. You can read about Ampleforth in itself :
 

and watch a demo video at


However, in the absence of volunteers, progress is gated by my free time, which in 2023 has been very limited.





--
Cheers, Gilad

Eliot Miranda

unread,
Aug 8, 2023, 1:55:23 PM8/8/23
to newspeak...@googlegroups.com
Hi Gilad,


On Aug 7, 2023, at 5:31 PM, Gilad Bracha <gi...@bracha.org> wrote:


Hi Sabine,

Thanks for your interest in Newspeak!

From your question, I gather you are not aware of Newspeak's history. The project originated in industry, as an incubation (an internal startup, if you will) at Cadence, starting in October of 2006. The crash of 2008 brought funding to an untimely end some two years later.  Nevertheless, the application we had built on top of Newspeak was used for almost 10 years.  So Newspeak was intended and used for production. After funding ended, work on Newspeak continued as a labor of love. Alas, we did not have the resources to maintain production quality, and so Newspeak evolved in reverse, becoming less mature over time (as in https://en.wikipedia.org/wiki/The_Curious_Case_of_Benjamin_Button_(film) ).

At the same time, Newspeak always had a research component, which is why we published a paper at ECOOP in 2010 (which won the best paper award that year).

Recently, my focus has been on using Newspeak as a basis for a personal productivity tool. There's an editor, called Ampleforth, that should, with enough work, subsume a host of annoying applications. You can read about Ampleforth in itself :
 

and watch a demo video at


However, in the absence of volunteers, progress is gated by my free time, which in 2023 has been very limited.



On Mon, Aug 7, 2023 at 4:43 PM Sabine Schnabeltier <sabine.sc...@gmail.com> wrote:
Hi Gilad, thanks for your answer!

Is it your intention that Newspeak is a testbed for your new language ideas? Or do you also anticipate that it will be used for the deployment of commercial applications? Either way (or both!) is interesting!

Thanks!

Sabine

On Monday, August 7, 2023 at 4:29:11 PM UTC-5 Gilad Bracha wrote:
Hi Sabine,

There were two completely separate motivations

a. The Web seems to be the most relevant platform on which to run Newspeak. We had a Newspeak to Javascript compiler, but found it very hard to get the correct semantics without undue complexity and/or performance penalty. That may no longer be the case, but at the time, things like become: and allInstances (and hence object schema evolution) did not seem feasible. Hence a dedicated VM running on WASM.

b. We found the Newspeak OpenSmalltalk VM (aka NSVM) was becoming less and less viable. NSVM is a distinct variant, with special bytecodes etc, and yet it shares a lot with the Smalltalk VMs. The latter kept evolving, but NSVM was not being thoroughly tested and maintained by the OpenSMalltalk VM implementors. Thus the changes to the Smalltalk engine effectively destabilized NSVM. We found that NSVM became less reliable over time.

I hope you realize you can’t expect the OpenSmalltalk vm team, a small volunteer team focussed on Smalltalk, to provide this effort for you.  Had the Newspeak community done the testing to report bugs I would have fixed them.  But I was in no position to shoulder the testing responsibilities required by Newspeak.  That task fell to the Newspeak community.

And the door is still open.  The Newspeak code remains in the vm source (unlike the Pharo fork of the OpenSmalltalk vm which removed it all).  The OSVM continues to evolve. Tom Braun is productizing his incremental old space collector which builds on the work Clément and I did on support for incremental old space compaction, a feature very few GCs support. Work is also underway to finish the threaded FFI, which will provide fully non-blocking callouts, callbacks, and is applicable to long-running plugin primitives.



On Mon, Aug 7, 2023 at 2:00 PM Sabine Schnabeltier <sabine.sc...@gmail.com> wrote:
I would like to understand some of the reasons that you decided it was worth the extra work to re-implement the VM in WASM. Was there something you weren't satisfied with in the OpenSmalltalk VM? Thanks!

--
You received this message because you are subscribed to the Google Groups "Newspeak Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to newspeaklangua...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/newspeaklanguage/a23cdbaf-7b17-4297-8464-4fc7bb904370n%40googlegroups.com.


--
Cheers, Gilad

--
You received this message because you are subscribed to the Google Groups "Newspeak Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to newspeaklangua...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/newspeaklanguage/d9eb9719-af70-4a4c-86d5-7b80794c56dbn%40googlegroups.com.


--
Cheers, Gilad

--
You received this message because you are subscribed to the Google Groups "Newspeak Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to newspeaklangua...@googlegroups.com.

Gilad Bracha

unread,
Aug 8, 2023, 7:15:21 PM8/8/23
to newspeak...@googlegroups.com
My dear Eliot,

Rest assured I expect absolutely nothing from you. I don't have any interest in the OpenSmalltalk VM effort either. 



--
Cheers, Gilad
Reply all
Reply to author
Forward
0 new messages