I have been working on Redline Smalltalk (a Smalltalk for the Java Virtual Machine) for more than 4 months now and it really should be ready for people to try but it isn’t, and this post is to let you know where it is at.
When I started developing Redline Smalltalk I was creating a compiler from scratch and by hand and it was going to be really good. After several failed attempts I came to a realization that the approach I had taken was not going to work, essentially writing a bottom up parser by hand, rather than a top down recursive decent. I even gave it a few redos and clean slate goes before coming to this conclusion. About the same time I got an offer of some code to help and waited for this to eventuate but I got ants-in-my-pants and wanted stuff happening so I wrote a translator to help Redline on its way. The translator is just about finished, with tests of edge cases the only thing that remains.
My plan now is to translate the Pharo Smalltalk source code into Java source code to form a base Smalltalk runtime, compiled to bytecode using the Java Compiler. This runtime which contains the Pharo Smalltalk Compiler will be modified to output Java Virtual Machine bytecodes rather than Smalltalk Virtual Machine bytecodes. From here I will be able to keep the Runtime in step with the Pharo sources as well as advances in the Java Compiler and continue forward to make Redline something great.
This is not all talk and below is an example of a method from the Compiler class from the Pharo sources before and after translation into Java by my translator:
Redline is still moving along and I appreciate all the interest and support and I will continue to keep at it until people can write Seaside Web Apps and deploy then with ease on the Java Virtual Machine, and more. Stay tuned for an announcement of the availability of the Redline Smalltalk Runtime.