Code Monkey home page Code Monkey logo

smallworld-legacy's Introduction

SmallWorld

What is it?

SmallWorld 2015 is a version of Smalltalk running on the Java virtual machine. In particular, it is a continuation of Prof. Tim Budd's SmallWorld, which was a port of his seminal Little Smalltalk to the JVM. I am not currently working on SmallWorld.

What is it not?

It isn't a version of Smalltalk-80, nor is it compatible with the Smalltalk ANSI standard. Where it is incompatible with a Smalltalk-80 system (such as Squeak) SmallWorld follows its Little Smalltalk heritage - for example in the area of cascades (;) and the current lack of Symbols (eg #Something).

Who wrote it?

It is a modified version of the original SmallWorld, which was written by A Prof. Tim Budd and can be found here. Many thanks must go to Tim, whose work with SmallWorld and before that his pioneering Little Smalltalk form by far the major part of this system, and who was kind enough to allow the release of SmallWorld under the MIT Licence.

How fast is it?

Very very slow :) SmallWorld is a very simple bytecode interpreter running on top of a complicated and sophisticated JIT virtual machine (ie Java). Two levels of indirection from the hardware will introduce slowness. On the other hand, because its development environment is mostly handled by Java's Swing code, SmallWorld is fast enough to be pleasant to play with.

What has changed?

Version 2015.1 (February 2015)

  • Code dumped on Github
  • Fix to make work on modern Java

Version 2007.2 (May 2007)

  • added traditional Workspace
  • added traditional 3 pane Class Browser
  • added False to Class>>classes
  • renamed 'Magnatude' to 'Magnitude'
  • changed image saving to gracefully handle SmallJavaObjects (references replaced by nil)
  • the image format now has a version number (as I realised it was likely to change again in the future)
  • created Transcript as new starting point for image
  • removed Image and Color classes (they'll be returned later)
  • imported Squeak tinyBenchmark methods for fun

Version 2007.1 (January 2007)

  • moved the image file into the jar file, so SmallWorld is now a single jar file
  • moved the initial window from SmallWorld.java file into the image and cleaned up some code
  • changed from using java object serialisation to custom image serialisation code
  • moved code into package com.russell_allen.smallworld so new code does not conflict with old edition
  • split sourcecode into separate files for each class
  • created #doesNotUnderstand: mechanism

Original Edition

Written by Tim Budd November 2004, MIT Licence, Version 0.9 November 2004, Version 0.8 November 2002

smallworld-legacy's People

Contributors

ricky9090 avatar russellallen avatar davidedc avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.