Функциональное программирование имеет неизменные структуры данных и никакого побочного эффекта, которые по своей сути подходят для параллельного программирования. Я исследую, как использовать многоядерное вычисление на функциональном языке и целевой код производства для некоторых числовых приложений.
F # имеет Microsoft за спиной, а его параллельные конструкции, такие как PLINQ, TPL, Async Workflow были хорошо документированы и показаны некоторые возможности. Тем не менее, исследование о parallelism в Haskell очень активно на данный момент, и оно обладает многими хорошими функциями, которые еще не поддерживались F #:
Мой вопрос - какой язык я должен выбрать для функционального parallelism? Если выбрано F #, есть ли какие-либо указатели для создания того, что у них есть в Haskell?
UPDATE:
Я выбрал Саймона, потому что это вызвало приятную дискуссию о сборщике мусора, распределении памяти и пропуске кеша. Я буду придерживаться F #, и я думаю, что эти ответы мне полезны для изучения функциональных parallelism.