Haskell, FFI и Grand Central Dispatch? - PullRequest
       34

Haskell, FFI и Grand Central Dispatch?

2 голосов
/ 03 апреля 2011

Я рассматриваю функциональный язык, который будет хорошо сочетаться с моей средой C / Objective-C во FreeBSD, OSX, iOS.Похоже, что лучше всего было бы создавать библиотеки функциональных языков для конкретных функций, написанные на Haskell, компилировать с GHC и использовать FFI для вызова этого функционального кода в качестве стандартного вызова C.

Мой вопрос: каксправиться с параллелизмом в этой ситуации? Одна мотивация для использования функционального языка состоит в том, что для моих задач, когда я хочу работать с неизменяемыми наборами данных, я хочу добиться большого распараллеливания.Однако, используя описанный мной подход, получу ли я ЛЮБОЕ распараллеливание?Похоже, я могу скомпилировать и предписать использовать 2 потока, но есть ли способ использовать GCD вместо многопоточности (по всем причинам GCD лучше, чем потоки, например, степень параллелизации, автоматически масштабируемая для каждой платформы)?Или, как я описываю в FFI, полностью ли я теряю способность к многопоточности?

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

1 Ответ

2 голосов
/ 03 апреля 2011

Среда выполнения GHC заменяет необходимость в GCD, не так ли? И это уже обеспечивает кросс-платформенный параллелизм.

...