Want to contribute? Fork us in GitHub!

Memory Can't Be Empty

Until version 0.23.7 it was possible to use memory object just like this:

memory > m
m.write 42

At the first line, a copy of memory was made and then labeled as m. This was a bug in the language. The object memory must not be copied if there are no arguments provided for the copying (application) operation.

We Got Rid of Object 'char'

Since 0.23.6 version of EO we get rid of char object. We want to simplify core of the language and believe that this object can be easily replaced with its actual representation, i.e. an array of bytes. Now, if you want to get the character, you can just use string object instead. All of these examples are valid strings: "\u0123", "h", "\t", "\n" and "\07". We get rid of string.char-at and bytes.as-char objects.

What EO is for?

EO is a new experimental programming language. EO is not planning to become a mainstream language—this is not what we want. Our main goal is to prove to ourselves that true object-oriented programming is practically possible. Not just in books and abstract examples, but in real code that works. That’s why EO is being created—to put all that “crazy” pure object-oriented ideas into practice and see whether they can work.