[Self-interest] Self implementation in Python
lukemcneil61 at gmail.com
Tue May 17 16:29:56 UTC 2022
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 at russell-allen.com>
> 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?
> On May 17 2022, at 3:40 am, Luke McNeil <lukemcneil61 at 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 at lists.selflanguage.org
> > http://lists.selflanguage.org/mailman/listinfo/self-interest
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Self-interest