GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - SOM-st/som-java: SOM - Simple Object Machine (plain Java implementation)

BranchesTags
Open more actions menu
 
 

Latest commit

 

History

277 Commits
277 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.settings
.settings
 
 
core-lib @ 12ddd9b
core-lib @ 12ddd9b
 
 
src/som
src/som
 
 
tests/som
tests/som
 
 
.antlr-eclipse
.antlr-eclipse
 
 
.checkstyle
.checkstyle
 
 
.checkstyle_checks.xml
.checkstyle_checks.xml
 
 
.checkstyle_suppressions.xml
.checkstyle_suppressions.xml
 
 
.classpath
.classpath
 
 
.gitignore
.gitignore
 
 
.gitlab-ci.yml
.gitlab-ci.yml
 
 
.gitmodules
.gitmodules
 
 
.project
.project
 
 
AUTHORS
AUTHORS
 
 
Examples
Examples
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
Smalltalk
Smalltalk
 
 
TestSuite
TestSuite
 
 
awfy-test.conf
awfy-test.conf
 
 
build.xml
build.xml
 
 
integration-tests.yml
integration-tests.yml
 
 
rebench.conf
rebench.conf
 
 
som.sh
som.sh
 
 

Repository files navigation

SOM - Simple Object Machine

SOM is a minimal Smalltalk dialect used to teach VM construction at the Hasso Plattner Institute. 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:

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 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

This repo has CI setups for GitLab CI and GitHub Actions.

Build Status

About

SOM - Simple Object Machine (plain Java implementation)

som-st.github.io/

Resources

Readme
License
Activity
Custom properties

Stars

19 stars

Watchers

3 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.