XXIIVV

2025

19A

2025-01-11 Langdev January

It has become something of a yearly ritual to take the first few days of the year to write a new implementation of the compiler I use daily. It serves to see how my programming style and solutions to these now familiar problems might have evolved, it also ensures that the language itself doesn't grow beyond what I am capable of implementing in at most a week's time.

The most discernible difference in this new implementation, is that it leans heavily on object-oriented patterns, by favoring methods acting on private values, over pointer arithmetic by function application. The stack is principally used as the communication channel between objects, for example, a text object's buffer is only ever modified through its explicitly defined capabilities, not by a function taking a text pointer. It turns out it limits bugs, it is faster and even often smaller!