I have also had Erlang suggested to me as a potential language for multi-core programming, but I have not yet had the time to sit down and learn the language. I will be watching your upcoming posts with interest.
Personally, I have invested my own energy into Threading Building Blocks, which is also open-source and supported by the community. It removes the idea of a thread or process, and instead provides a task-based view of the world, tasks are then mapped to processors for execution, and a task-stealing algorithm is employed to balance load. TBB could be a good library upon which a functional approach could be built. Some of the templates, like the parallel_reduce template remind me of functional programming already.
I'm curious to see how Erlang solves low-level issues with cache-locality and load balancing... and how well it really scales to a cluster vs. a shared-memory system with many cores. »