Rambles around computer science
Computer science in general, and language implementation in particular, are founded on the idea of realising abstractions in a way I'll call “forwards” and also “existential”. This post is about how these aren't the only way to think about programming infrastructure and abstractions. The theory goes that you pick some desired abstraction—it could be a programming language, maybe an abstract data type, or something else. Then you figure out the realisation. In the case of a programming language, this could be memory layouts, calling conventions and a compiler that generates object code modelling these. For abstract data types, it's some specific concrete data structure and the mapping from abstract to concrete operations. That's the “forwards” part. It's also “existential” when you keep the details of the realisation to yourself. Client code (e.g. source code in our new language) knows there is a realisation but the implementation choices themselves are hidden. In turn this allows the i
Rambles around computer science Rambles around computer science Diverting trains of thought, wasting precious time 10 11 2025 --> Mon, 10 Nov 2025 Reversing abstractions: an existential crisis Computer science in general, and language implementation in particular, are founded on the idea of realising abstractions in a way I'll call "forwards" and also "existential". This post is about how these aren't the only way to think about programming infrastructure and abstractions. The theory goes that you pick some desired abstraction-it could be a programming language, maybe an abstract data type, or
saved by
related reading
- Essays on programming I think about a lot | benkuhn.netbenkuhn.net
- The Law of Leaky Abstractions – Joel on Softwarejoelonsoftware.com
- how I think when I think about programming - alice mazalicemaz.com
- Abstraction (computer science) - Wikipediaen.wikipedia.org
- Retire the Abstractionshazyresearch.stanford.edu
- 100R - computing and sustainability100r.co
- Critically Conscious Computing: Methods for Secondary Educationcriticallyconsciouscomputing.org
- The Alternative Implementation Problempointersgonewild.com
- 100R - weathering software winter100r.ca
- Introduction · Crafting Interpreterscraftinginterpreters.com
- Things unlearnedscattered-thoughts.net
- Recent interestsryansepassi.com