← All stories
● Covered by 1 source · 1 reportLow impact1 neutral

Revisiting Abstractions: Beyond Existential Hiding in Computer Science

🔄 Updated 1d ago
New to BrevFeed? We gather this story from every outlet covering it into one summary — ranked by real-world impact, not just the latest headline — so you never miss what matters. What is BrevFeed? →

Key points

  • Traditional abstractions hide implementation details from client code.
  • ABIs publicly document implementation choices for interoperability.
  • Debuggers use meta-level descriptions of implementation details.
  • These examples challenge the universal application of existential hiding.

The Nature of Abstractions

Computer science, particularly language implementation, relies on 'forwards' and 'existential' abstractions. This involves selecting an abstraction, such as a programming language or an abstract data type, and then creating a realization. For programming languages, this includes memory layouts and calling conventions; for data types, it involves concrete data structures and operation mappings.

Hiding Implementation Details

The 'existential' aspect means that the details of the realization are hidden from client code. This allows implementers to change underlying choices without affecting the client, as long as the abstraction remains consistent. This approach is standard practice in many areas of software development.

Opting Out of Hiding: ABIs

Not all abstractions maintain this hidden nature. Application Binary Interfaces (ABIs) are an example where hiding is forgone in favor of public conventions. Certain implementation choices are documented and embodied in code, enabling independent implementations to work together. This makes the implementation decisions propositional rather than existential.

Opting Out of Hiding: Debuggers

DWARF-style debugging also deviates from existential hiding by operating at a meta-level. Debuggers consume machine-readable descriptions of implementation details generated by compilers. This approach allows debuggers to recover an abstract view from concrete implementations, effectively reversing the existential hiding by making internal details accessible for specific purposes.

Implications for Programming Infrastructure

These examples suggest that the traditional model of existential abstraction is not the only valid approach for programming infrastructure. Publicly documented conventions (like ABIs) and meta-level descriptions (like those used by debuggers) offer alternative ways to manage and expose implementation details, facilitating interoperability and advanced tooling.

✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →

The daily brief

One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.

One email a day. Unsubscribe in one click, any time.

Today's brief

Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.

~7 min · 6 stories · Aug 15

▶ Play today's brief Listen on Spotify

New every morning, and the back catalogue is archived by date.

Reporting from

This article explores alternative approaches to traditional existential abstractions in computer science, where implementation details are hidden. It discusses how Application Binary Interfaces (ABIs) and debuggers like DWARF opt out of this hiding to enable interoperability and meta-level operations. This re-evaluation suggests that not all abstractions benefit from complete concealment of their underlying realizations.