Skip to content
Scarlet SmallTalk, a smalltalk to javascript translator
JavaScript Smalltalk
Branch: master
Clone or download
johnmci Merge commit 'd1ff70e5df74d29bee7699a26ece47019453bbbd'
* commit 'd1ff70e5df74d29bee7699a26ece47019453bbbd':
  Added thank you note to Alexandre Bergel
  fixed compiler to generate doIts. Added mobile and standalone builds
  extended Readme with additional MyApp example usage removed exclamation mark from 'Hello World!' to make code compile

  Still need to address exclamation mark issue
Latest commit e6bae2a Sep 1, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
artifacts
benchmarks
bootstrap fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
configs Scarlet 1.0 Aug 27, 2019
examples
local_modules Scarlet 1.0 Aug 27, 2019
node_modules Scarlet 1.0 Aug 27, 2019
scripts fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
src fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
tests fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
LICENSE.txt Scarlet 1.0 Aug 27, 2019
README.md
build-version.txt fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
makefile fixed compiler to generate doIts. Added mobile and standalone builds Sep 1, 2019
package-lock.json Scarlet 1.0 Aug 27, 2019
package.json Scarlet 1.0 Aug 27, 2019
primitives.txt Scarlet 1.0 Aug 27, 2019
scarlet Scarlet 1.0 Aug 27, 2019
taskfile.js

README.md

Scarlet-SmallTalk

Scarlet SmallTalk is a Smalltalk to JavaScript cross-compiler and runtime.

The Scarlet Compiler is a modified version of the current Squeak compiler and generates code that is strongly influenced by Amber.

  ./scarlet 
Usage: scarlet [options] [command] <files-to-load...>

Options:
  -m, --mobile         build for mobile
  -i, --interactive    Interactive mode
  -h, --help           output usage information

Commands:
  compile <source...>  Compile a file or a directory of files
  build <source>       Compile files in a directory into an image

Build the runtime(s)

Translates all .st files into JS using the Scarlet Compiler and assembles the Scarlet runtimes/images (kernel, prod, mobile)

make runtime

Produces

 artifacts/sk.kernel.js
 artifacts/sk.prod.js
 artifacts/mobile.js

Run tests on the Scarlet Kernel

make test

Build Scarlet Compiler

If you want to rebuild the Scarlet Compiler itself use

  make compiler

It compiles a new compiler image, installs it as the new compiler (folder bootstrap) and recompiles everything again.

Produces

  artifacts/sk.compiler.js

Examples

The folder examples includes a simple mobile and a standalone example. See the read me files in the example folders for details.

Configurations

The build process is currently using Taskr (taskfile.js). A future goal is to bootstrap the build process in Smalltalk as well.

The build parameters for the different artifacts are defined by configurations in the configs folder. Any additions to or removals of files from the build process need to modify the respective configuration file(s).

You can’t perform that action at this time.