C has a reputation for being a "hacker" language, in contrast to say Haskell, which is abstract with ties to logic and category theory. There is even the quip "C is a portable assembler".
Logic programming fails for many reasons; interestingly it fails to integrate
with imperative programming or export its constructs. Haskell's monadic
I/O—explicitly passing a RealWorld
—offers a nice demonstration.
"Linear Types can change the world." Lafont has shown us how to create a linear abstract machine. Yet the moral imperative to use linear types in computer science is not widely appreciated.
As I wrote elsewhere, garbage collection—manual memory management correspond to intuitionistic logic—linear logic. So garbage collection is a technology with logical implications.
prev