My name is Hassan El-Sheikha, and I am an undergraduate student of Computer Science at the University of Toronto. The journey of Varphi began during my time as a student, under the supervision of Dr. Mohammad Mahmoud.
In the winter of 2024, I took CSC363: Computability and Complexity with Professor Mahmoud. I was fascinated by Turing machines and how such a simple model could serve as the foundation of all modern computing. This interest deepened when I took CSC492, a summer reading course with Professor Mahmoud, where we explored Turing machines in even greater detail.
During these courses, I noticed a significant challenge: students were writing Turing programs in longhand, which was extremely tedious and greatly limited the complexity of the machines they could create. I searched for existing solutions but found none—this was an opportunity to fill a gap that had been overlooked.
I proposed the idea of developing a programming language that models Turing machines to Professor Mahmoud, who quickly became excited about it. He presented the proposal to the university’s department administration, and they approved him as my supervisor for the project. Development of Varphi officially began in the fall of 2024, and after months of effort, I completed the project around December 2024. The official release of Varphi v1.0.0 was on January 25, 2025.
Varphi was born out of necessity and a passion for computation, and I hope it serves as a valuable tool for those interested in Turing machines and theoretical computer science!