https://github.com/smarr/som-java
SOM - Simple Object Machine (plain Java implementation)
https://github.com/smarr/som-java
Last synced: about 1 year ago
JSON representation
SOM - Simple Object Machine (plain Java implementation)
- Host: GitHub
- URL: https://github.com/smarr/som-java
- Owner: smarr
- License: other
- Created: 2013-03-31T18:15:29.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2024-06-16T17:25:02.000Z (about 2 years ago)
- Last Synced: 2024-06-17T16:55:28.730Z (about 2 years ago)
- Language: Java
- Size: 534 KB
- Stars: 6
- Watchers: 3
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
SOM - Simple Object Machine
===========================
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 also used for teaching.
Currently, implementations exist for Java (SOM), C (CSOM), C++ (SOM++), and
Squeak/Pharo Smalltalk (AweSOM).
A simple SOM Hello World looks like:
```Smalltalk
Hello = (
run = (
'Hello World!' println.
)
)
```
This repository contains a plain Java implementation of SOM, including an implementation of the SOM standard library. Please see the [main project page][SOMst] for links to the VM implementation.
Make sure to initialize the shared Smalltalk standard library, tests, and examples by importing the git submodule:
$ git submodule update --init
To build and run SOM, Java 8 or newer is required.
SOM can be built with Ant:
$ ant jar
Afterwards, the tests can be executed with:
$ ./som.sh -cp Smalltalk TestSuite/TestHarness.som
or with:
$ ant test
A simple Hello World program is executed with:
$ ./som.sh -cp Smalltalk Examples/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.
The current build status is: [](https://travis-ci.org/SOM-st/som-java)
[SOM]: http://www.hpi.uni-potsdam.de/hirschfeld/projects/som/
[SOMst]: https://travis-ci.org/SOM-st/