flâneur — a map of the web's best reading

Rambles around computer science

humprog.org · 2,162 words · saved by 1 readers

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

Explore this link on the map →

saved by

related reading