2
$\begingroup$

Why functional programming languages do not use Von-Neumann architecture?Please explain elaborately.It'll be more helpful if you explain it diagrammatically. Thanks in advance. :)

$\endgroup$
  • 5
    $\begingroup$ i believe you're confounding orthogonal concepts: programming languages don't 'use' an architecture, their implementations run on it. numerous functional programming languages have been implemented on boilerplate hardware that follows the vN paradigm. $\endgroup$ – collapsar Mar 3 '14 at 19:32
  • $\begingroup$ I guess one reason is that pure functional programming doesn't overwrite or erase memory, but just forgets the references to the memory. The garbage collector then must recollect that memory, or else the space complexity of purely functional programs would be very bad. Note also that the way stack memory is used in typical imperative programming languages is less dependent on the von-Neumann architecture than heap memory, and gives compiler numerous opportunities to keep data in registers instead of flushing them to memory. F.L. Bauer promoted stacks for these reasons. $\endgroup$ – Thomas Klimpel Mar 4 '14 at 1:01