Radiant Log #004
In the pursuit of creating Radiance, the programming language for the Radiant computer, I’ve decided to take a more pragmatic approach to bootstrapping. Rather than attempting to implement the full language specification in one go, I’m starting with a subset called R’ (pronounced “R prime”).
This decision emerged from practical considerations about the bootstrapping process. By focusing on a subset of Radiance that contains only the essential features needed for systems programming, I can more quickly develop the foundation of the operating system and stabilize parts of the language design. R’ does away with higher-level features like polymorphism, floating-point types, dynamic memory allocation and references that require much more design time, leaving the minimal subset of features required for system development.
The relationship between R’ and Radiance is symbiotic: R’ will be used to implement the operating system and the full Radiance language, while Radiance will eventually provide the higher-level abstractions for application development.
This will allow me to get something up and running sooner, and not get lost in the rabbit hole that is language design.
I’ve made significant progress on R’ and therefore on Radiance itself, and have begun implementing its compiler in C.
For now, a living document describing R’ can be found at /radiance/prime.