This web site exists to document my adventures in writing software emulators for old computer hardware. So far, I have completed (sort of) a Commodore PET emulation and am working on a Sinclair Spectrum emulation.
It’s the end of summer, 2021. It’s some time since I have posted anything, mainly because, this year things like music festivals have been allowed to take place in the UK, so I’ve been taking advantage of them instead of sitting in front of my computer writing material for this blog. I’d like to apologise, … Continue reading State of the Blog and Future Ideas
For my series of posts on the Lambda Calculus, I have developed a lambda calculator. At the time of writing, it only works in “single step mode”: you hit the return key having typed in a lambda expression and it does one beta reduction. Hit the return key again and it does another beta reduction. … Continue reading Signal Handling in Swift
This post is all about how I achieved stage 1 of the conversion of the Lambda Calculator. It follows on from Protocol Oriented Programming. I have commented out all of the code in Expression.swift and added a protocol Expressible. All the functions that were “abstract” in Expression become protocol requirements and all of the functions … Continue reading Protocol OrientedProgramming part 2
This is technically a post in the Lambda Calculus series but I am concerned with the implementation of my Lambda calculator today. Anybody who has looked at the code will see I have used a class hierarchy to represent Lambda expressions. I use classes because I want my objects to be of reference types so … Continue reading Protocol Oriented Programming