Blame view

README.md 1.57 KB
Stefan Marr committed
1 2
RPySOM - The Simple Object Machine Smalltalk implemented in RPython
===================================================================
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Introduction
------------

SOM is a minimal Smalltalk dialect used to teach VM construction at the [Hasso
Plattner Institute][SOM]. It was originally built at the University of Århus
(Denmark) where it was used for teaching and as the foundation for [Resilient
Smalltalk][RS].

In addition to PySOM, other implementations exist for Java (SOM, TruffleSOM),
C (CSOM), C++ (SOM++), and Squeak/Pharo Smalltalk (AweSOM).

A simple Hello World looks like:

```Smalltalk
Hello = (
  run = (
    'Hello World!' println.
  )
)
```

25
This repository contains a RPython-based implementation of SOM, including
26
SOM's standard library and a number of examples. Please see the [main project
Stefan Marr committed
27
page][SOMst] for links to other VM implementations.
28

Stefan Marr committed
29
RPySOM's tests can be executed with:
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44

    $ ./som.sh -cp Smalltalk TestSuite/TestHarness.som
   
A simple Hello World program is executed with:

    $ ./som.sh -cp Smalltalk Examples/Hello/Hello.som


Information on previous authors are included in the AUTHORS file. This code is
distributed under the MIT License. Please see the LICENSE file for details.

Build Status
------------

Thanks to Travis CI, all commits of this repository are tested.
Stefan Marr committed
45
The current build status is: [![Build Status](https://travis-ci.org/SOM-st/RPySOM.png?branch=master)](https://travis-ci.org/SOM-st/RPySOM)
46

Stefan Marr committed
47 48 49
 [SOM]: http://www.hpi.uni-potsdam.de/hirschfeld/projects/som/
 [SOMst]: https://travis-ci.org/SOM-st/
 [RS]:  http://dx.doi.org/10.1016/j.cl.2005.02.003