Git Product home page Git Product logo

jsqueak's Introduction

JSqueak -- Java implementation of the Squeak Smalltalk Virtual Machine

This is a fork of JSqueak, a Java implementation of the Squeak Smalltalk virtual machine first born in 2008

This repository is maintained by Giovanni Giorgi ([email protected])

This repository has been forked from repository of Victor Rodriguez ([email protected]) and merged with work from Jan Tomsa ([email protected]) and the potato fork [3] taken from https://svn.code.sf.net/p/potatovm/code/trunk/

Jump Start

A special modified test-image1 is provided for unit testing (look at the zip inside test_images folder) This image has been altered via Squeak22.exe to provide an hook to a special bootstrap class. The Special bootstrap class is used for running a bunch of test at boot. The entry point is SystemDictionary << processStartUpList Class DisplayScreen << startUp

Requirements

JDK 1.6.33 64bit or better. Garbage Collector GC1 is the default choice for low latency. Suggested at least 4GB of RAM, and a 64-bit Operating System. Tested on MS Windows, and MAC OS X, should work without problem under Linux too.

Java Inteoperability

There is an Alpha stage java interoperability. The new primitive javaNew (number 1993) is able to create a java object instance, so you can write something like

(Object javaNew: 'java.lang.Object') hashCode asString

Or try out a simple test class:

(Object javaNew: 'org.squeak.potato.javainterop.Tester')
				test: 1 two: 2

At the time of writing you can pass easily String, Integers and java object back and forward.

Debug support

A strong debug support is provided. Use -Djsqueak.debug.flag=true to enable it The breakPointMonitor vatiable defined in VM can set a list of selector to trigger the debug sniper.

DOCUMENTATION

See http://potatovm.blogspot.it/ for two articles on potato VM internals.

LICENSE

JSqueak was released under the MIT license (see the announcement[1] but also [2]). Any original code released on this repository is also released under the MIT license.

GOALS

At the time of writing the first goal is to do minimal Java interoperability and to enable image saving in a custom format (at least) Secondary Goal is to be able to boot Squeak 2.2 image and then Squeak 3.x image (very far away target, anyway).

Documentation

Blue Book: http://stephane.ducasse.free.fr/FreeBooks/BlueBook/Bluebook.pdf

Change History

Please see ChangeLog for important release notes.

Bugs

See GitHub tracker

[1] http://www.nabble.com/-squeak-dev--JSqueak%2C-the-erstwhile-Potato%2C-is-out%21-p18045925.html [2] http://news.squeak.org/2008/06/21/jsqueak-smalltalk-interpreter-written-in-java/ [3] http://news.squeak.org/2008/07/07/potato-version-of-jsqueak-from-hpi/

Local Variables:
mode: markdown
mode: visual-line
coding: utf-8
End:

jsqueak's People

Contributors

jan-tomsa avatar daitangio avatar

Watchers

James Cloos avatar  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.