Is a CPU declarative?

by xfbs   Last Updated October 09, 2019 22:25 PM

I know that this might seem like a stupid question, because declarative is not really an electrical term. I'm having a discussion (argument) with someone who is a functional programming fanatic, and they claimed that

Nope, they're fundamentally declarative. They built an imperative instruction set on top of a declarative model. ISA and machine code is imperative, sure. But; CPUs, GPUs, etc are all declarative.

If it wasn't for diodes, all parts could be emulated in lambda calc. Hence why it is a bicartesian closed category.

I disagree with this, because I would argue that CPUs are machines that have internal state that they mutate. In fact, computation is all about mutation (of memory, or registers, or latches).

Who is right?



Related Questions


Updated January 19, 2019 05:25 AM

Updated April 01, 2017 13:25 PM

Updated June 12, 2019 11:25 AM

Updated January 10, 2019 18:25 PM

Updated May 27, 2015 03:10 AM