/Reak

Smalltalk on Rubinius

Primary LanguageRuby

Smalltalk implementation running on Rubinius.

WARNING: Not usable, yet.

Status:

  • Parser is nearly complete (ANSI Smalltalk is complete, but no syntax for class/method definition yet)
  • Compiler is incomplete
  • Standard library and core classes are near to non-existent

Setup:

rvm use rbx
gem install bundler
bundle install

Example usage:

~/Workspace/reak (git: master) ☃〠 bin/reak
st> 1 - (2 - 1) > -1
true
st> 1 > 2 ifTrue: [ self halt ] ifFalse: [ nil isNil respondTo: #doesNotUnderstand: ]
true
st> 1 rubyPerform: #to_s
a RubyObject("1")
st> 1 - 1; + "yes, this is valid smalltalk" 1
2

This implementation is not image based nor does it have a built-in IDE. So, if you are looking for a classic Smalltalk, you might better be looking somewhere else. Also, it is rather experimental at the moment.

Parts of the compiler have been stolen from, I mean inspired by Brian Ford's Poison.