As I wrote elsewhere, garbage collection - manual memory management correspond to intuitionistic logic - linear logic. So garbage collection is a technology with logical implications.
There are further technologies (compiler algorithms) behind perennialisation
- linear logic admits exponentials, and indeed languages such as C have
perennially typed values (for instance, of type
int) which are
stack-allocated or placed in registers.
Liveness analysis, spilling are technologies behind the "finger of Thomism" that
lets register-bound and stack-allocated values be perennial - a C value of type
int can be reused freely.
Type theoretic decisions require backing in the compiler.
The complexity of such algorithms matters; if liveness analysis were \(O(2^n)\), perennial types would hardly be viable.