The Law of Leaky Abstractions[1] strikes again!

1 https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-a...

How so?

I would have thought it would be intuitively obvious to the most casual observer, but for the sake of those not burdened with the realization that "full stack" really encompasses everything from the quantum behavior of charged particles in a electric field to the world and the people around the software: binary logic gates are a very low-level hardware devices implemented in MOSFETs. They are the tiny building blocks of computational power. To reify these physical devices as abstractions at the level of a language designed to abstract concepts such as the y combinator of lambda calculus, seeing binary logic gates is clearly a leak from lower levels.

Common Lisp isn't strictly a high-level language, it has always been meant as a practical, multi-paradigm language. After all `car' and `cdr' are the names of two registers of a particular LISP machine. Also, bitwise operations are not exclusively an implementation detail - they may well be the point of your computation (as in many programs written to control devices in an embedded system).

Not to mention, the Y combinator is itself a low-level detail of how certain high-level functions (recursive functions) can be expressed in the formalism of the lambda calculus.

Given that on a Lisp Machine (or in a Lisp OS like Mezzano https://github.com/froggey/Mezzano ), the language talks natively to low-level devices (Graphics, SCSI, Bus, Ethernet, ... and other peripherals), it is expected that it has to deal with bits, too.