LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

Да, с boxed-unboxed тоже надо аккуратно. И на эту тему есть прагмы. Вообще, если посмотреть на код в стандартных библиотеках, то он обычно весь напичкан прагмами.

И строгие вычисления тоже могут помочь ускорить код там, где они имеют смысл. Как в определениях полей типов, так и в let.

Еще есть rewriting rules, когда можно самому задать, как сокращать код в некоторых конкретных случаях. Тоже через прагмы.

По себе могу сказать, что писать на haskell эффективный код вполне можно, но писать такой код на любом языке непросто, даже на java и си++. Везде есть нюансы

Исходная версия dave, :

Да, с boxed-unboxed тоже надо аккуратно. И на эту тему есть прагмы. Вообще, если посмотреть на код в стандартных библиотеках, то он обычно весь напичкан прагмами.

И строгие вычисления тоже могут помочь ускорить код там, где они имеют смысл. Те же bang patterns, как в определениях полей типов, так и в let.

Еще есть rewriting rules, когда можно самому задать, как сокращать код в некоторых конкретных случаях. Тоже через прагмы.

По себе могу сказать, что писать на haskell эффективный код вполне можно, но писать такой код на любом языке непросто, даже на java и си++. Везде есть нюансы