Язык программирования для функционального параллелизма: F # против Haskell

Функциональное программирование имеет неизменяемые структуры данных и не имеет побочных эффектов, которые по своей сути подходят для параллельного программирования. Я исследую, как использовать многоядерные вычисления на функциональном языке и целевой производственный код для некоторых числовых приложений.

F # имеет за спиной Microsoft и его параллельные конструкции, такие как PLINQ , TPL , Асинхронный рабочий процесс был хорошо документирован и показал некоторые возможности. Однако, исследования параллелизма в Haskell сейчас очень активны, и он обладает множеством хороших функций, которые еще не поддерживаются F #:

У меня вопрос: какой язык выбрать для функционального параллелизма? Если выбран F #, есть ли какие-нибудь указатели для создания того, что у них сейчас есть в Haskell?

ОБНОВЛЕНИЕ:

Я выбрал ответ Саймона, потому что он вызвал интересную дискуссию о сборщике мусора, распределении памяти и промахах кеша. Я буду придерживаться F # и думаю, что эти ответы помогут мне изучить функциональный параллелизм.

28
задан pad 3 October 2012 в 06:32
поделиться