Scarlet Smalltalk on a Web Page

21 December 2019

Scarlet Smalltalk is a Smalltalk-to-Javascript transpiler and runtime by LabWare. This post is my 2012 post on Amber updated to use Scarlet Smalltalk.

This is placeholder text. You will see this text if you're reading this post from the blog's RSS feed. Go on, click on the post's title to see Scarlet Smalltalk in action.

If you see a "Hello World" message in the above paragraph, you're seeing my old post updated to use Scarlet Smalltalk. The HTML body contains the following:

<div id="scarlet_do_it">
<p>This is placeholder text. You will see this text if you're reading this post from the blog's RSS feed.  Go on, click on the post's title to see Scarlet Smalltalk in action.</p>
</div>

<script src="/SmdwHelloWorldSK.js" type="application/javascript"></script>

SmdwHelloWorldSK.js comprises the Scarlet Smalltalk runtime plus my little bit of Smalltalk code that returns the "Hello World" string, based on the 'standalone' example. The Smalltalk code looks like this:

Object subclass: #SmdwHelloWorldSK
    instanceVariableNames: ''
    classVariableNames: ''
    poolDictionaries: ''
    category: 'Example'!

! SmdwHelloWorldSK methodsFor: #running !
main
    ^ '<p>Hello world from Scarlet Smalltalk.</p>' ! !

And this following Javascript snippet replaces the placeholder text in #scarlet_do_it with the result of evaluating SmdwHelloWorldSK new main (expressed in Javascript syntax):

<script type="application/javascript">
document.addEventListener("DOMContentLoaded", function() {
    $("#scarlet_do_it").html(smalltalk.SmdwHelloWorldSK.$$new().main());
    });
</script>