title: Functional languages & support for memoization
body: <p>Do any of the current crop of popular functional languages have good support for memoization &amp; if I was to pick one on the strength of its memoisation which would you recommend &amp; why?</p>
  
  <p>Update: I'm looking to optimise a directed graph (where nodes could be functions or data). When a node in the graph is updated I would like the values of other nodes to be recalculated only if they depend the node that changed.  </p>
  
  <p>Update2: require free or open-source language/runtime.</p>