That’s amazing and wonderful! Pat yourself on the back! I’m guessing it does not run on Mac.
As you may know, for the past two years, I have been fascinated by the possibilities of interaction with spatial computing. And I have been programming my Apple Vision Pro is Swift using Xcode.
With the release of the M5 device, it occurred to me that it ought to have enough computer power to run a self interpreter. And I feel that the edit and run cycle is way too slow with Swift and X code for the kind of exploratory programming I like.
So about four months ago, I started writing a Self virtual machine in Swift for my Mac, with the ultimate goal of running on the Apple Vision Pro. It’s been quite a trip down memory lane, refreshing my understanding of the language and it’s implementation. I can run Self on a very old laptop I own. And just a little bit of that experience has reminded me of just how much more well suited the Self IDE is to me than IDEs today.
So I’m quite excited about the Quixotic task I’ve set myself.
I’ve used AI a bit, but on the whole I’m quite dissatisfied with the maintainability of its code. I expect that to improve as I get better at using it and it gets better.
I’ve gotten as far as being able to file in all the Self files— which requires a fair bit of code execution. Just the other day I got snapshots working. The next big task will be implementing the scheduler and processes. Then, I will have to implement all the primitives to hook it up to X.
At that point there are many different directions I could go in. Hook it up to SwiftUI? Hook it up to RealityKit? See how it runs on the Apple Vision Pro? Hook up Xcode via MCP in order to provide a Self like experience for Swift programming? Implement Korz? Or time -travel debugging for Self?
Retirement is fun!
- David
On Feb 25, 2026, at 7:17 PM, Russell Allen mail@russell-allen.com wrote:
Hi all
I was playing around and trying to see how far I could push Claude, which turns out is quite a long way.
I've added a branch called 'experimental64bit' to the Self github repo, there is a folder there 'vm64' which is a port of the Self VM to 64 bit amd64.
It was almost entirely done by Claude Opus 4.6 through an interactive process.
The port is interpreter only - I haven't tried the harder task of porting the compilers. But it does run, including building the standard world, running a morphic desktop and loading 32 bit snapshots.
The hardest part for Claude was tracking down memory errors. GC is difficult even for AIs apparently.
Not sure what do to with this next, any suggestions?
It is fun being able to create a billion element vector with `vector copySize: 1 * 1000 * 1000 * 1000`
Cheers Russell
Self-interest mailing list -- self-interest@lists.selflanguage.org To unsubscribe send an email to self-interest-leave@lists.selflanguage.org