russellallen / self

Making the world safe for objects
http://selflanguage.org
698 stars 75 forks source link

Java port (and full implementation tutorial to save the language) #129

Closed ponyatov closed 1 week ago

ponyatov commented 5 years ago

Are any attempts were made to make some (maybe very slow) implementation over JVM?

The Self language looks died, but maybe somebody knows enough on VM internals can write a tutorial on implementing very light Self-like system from scratch and step by step (in Python or Java)?

The problem is not the lack of reference implementation support (which need a huge amount a work factically), but promote the language model ideas among programmers in mainstream languages. They can be interested in very easy to understand and implement a very light VM to be used in other commercial and hobby applications as an embeddable script engine.

Bystroushaak commented 5 years ago

Are any attempts were made to make some (maybe very slow) implementation over JVM?

There were some in the history, but I think that none was really successfully finished.

One new project, which I managed to somewhow get intermingled into is

It is a implementation of Self for the GraalVM, but it is in very early stage. On the other hand, if this ever get finished, it will offer great speed (ahead of time compiled to machine code) and language interop (you can call java / python / ruby / JS / C from Self code and vice versa).

The Self language looks died, but maybe somebody knows enough on VM internals can write a tutorial on implementing very light Self-like system from scratch and step by step (in Python or Java)?

I am working exactly on this. You can find my language here:

It is written in the RPython, restricted dialog of python, which is then compiled to C and can also add JIT for much faster speed. It is not exact implementation of Self, but rather somehow loosely inspired.

I have written several episodes of the tutorial about building the language, but right now, it is only in Czech language. I am slowly working on translation to English.

Sadly, the blogging platform I am using doesn't allow you to translate the blog by using services like google translate, but I've published the blogs also on abclinuxu:

russellallen commented 1 week ago

Closed as not planned