Hi Russell,

Thanks for the kind words. This project was done as a senior project. At Rose-Hulman, this is a capstone project that a team works on for the entire year. The idea for the project was proposed by Dr. Michael Hewner (https://hewner.github.io/). As the academic year is coming to an end, this does mean we will no longer be forced to work on it. We really did enjoy it though, so I expect that we will continue adding things in the future. The primary work that could be done next is continuing to add filed out Self modules and primitives that they rely on such as -

1. GUI Modules - If the necessary and rather large list of necessary graphics primitives were written, then we could potentially file in these modules to make a GUI looking just like the original Self interface.
2. Test Modules - These are a bunch of modules written in Self, which tests things about Self. We have our own suite of tests that were developed, but it would be cool to see how we do against these tests.
3. Other Modules - Things like tree or priorityQueue. These should just work, but take some time to import.

It is also possible that another senior project team at Rose-Hulman in the future might pick up this project and continue building.

I did look a little at Zig-Self. I think it might be worth a more thorough look, though, as I'm sure there are many things we could learn from it.


On Tue, May 17, 2022 at 3:58 AM Russell Allen <mail@russell-allen.com> wrote:
Hi guys
This is awesome - I love it. It's like an executable spec, it's really
clear what's happening.

Do you have plans to do more work on it?

Also, have you had a look at Zig-Self at all? https://github.com/sin-ack/zigself


On May 17 2022, at 3:40 am, Luke McNeil <lukemcneil61@gmail.com> wrote:

> Hey everyone!

> We’re a team of student engineers from Rose-Hulman Institute of
> Technology that’s been working on a Python implementation of Self for
> the past academic year. We began developing this system since the Self
> virtual machine is currently unable to be easily run on most modern
> operating systems (without setting up a virtual machine to emulate
> older 32-bit operating systems).

> Our system is designed to parse and interpret Self inputs in a similar
> manner to the Self environment and virtual machine. The system comes
> with its own GUI framework to demonstrate its features that is
> extensible by users, and the framework itself serves as a
> proof-of-concept for implementing Morphic-related features in the
> future. The interpreter’s implementation is bootstrapped, meaning that
> higher-level features like lists and strings are directly imported
> from their respective Self modules, which we file out from the
> original Self system.

> We hope that this project will serve not only as a useful educational
> tool for introducing engineers to alternative programming paradigms,
> but also as a convenient environment for Self development. If you’re
> interested in exploring our system further, we’ve prepared a video
> demo for your convenience (here). You can also visit our repository on
> GitHub below. We welcome your thoughts and feedback!

> https://github.com/pinneyja/self-interpreter

> Thanks,

> Rose-Hulman Self Interpreter Team

> (Nathaniel Blanco, Achintya Gupta, Luke McNeil, Jacob Pinney)
> _______________________________________________

> Self-interest mailing list

> Self-interest@lists.selflanguage.org

> http://lists.selflanguage.org/mailman/listinfo/self-interest