Существуют ли какие-либо успешные и практичные функциональные языки (такие как Erlang) или библиотеки, основанные на предположении, что программа, написанная на таком языке, не имеет побочных эффектов или имеет только контролируемые побочные эффекты (например, представленные монадами, поэтому их можно обнаружить). и разделены компилятором)
Как устранение побочных эффектов облегчает параллельное и параллельное программирование?
Ответы (1)
Это в значительной степени дубликат Почему в Haskell нет неявного параллелизма?< /а>
Ответ — да, существуют автоматизированные подходы к параллелизму, основанные на отсутствии побочных эффектов. Например. вложенный параллелизм данных в Haskell. Полностью автоматизированные подходы, как правило, работают лучше всего, когда модель затрат известна заранее, например, при программировании параллельных массивов.
Однако, если вы хотите добавить несколько собственных аннотаций, вы все равно можете использовать неизменность для увеличения скорости. par
аннотации, например. Haskell являются примерами с хорошим соотношением мощности и веса.
person
Don Stewart
schedule
06.01.2015