Померил тут, похоже про магические хэши не надо рассказывать. Тут length' - текущая реализация из GHC, length0 - трех?летней давности:
{-# LANGUAGE MagicHash
( Read more... )
class Applicative m => Monad m where ... return :: a -> m a return = pure ... -- оставили как было (по социальным причинам :) -- (>>) :: forall a b. m a -> m b -> m b -- (>>) = (*>) ... https://hackage
В GHCi можно задавать многострочные let-определения функций, пользуясь скобочками :{ для входа в моду такого определения и :} - для завершения этой моды
Prelude> :{ Prelude| let { g op n [] = n Prelude| ; g op n (h:t) = h `op` g op n t Prelude| } Prelude| :} Prelude> g (*) 1 [1..4] 24 Правда, layout не поддерживается.
Среди новинок стоит отметить синтаксический сахар Generalised (SQL-Like) List Comprehensions. Не могу не привести пример последнего из документации (это моя сессия GHCi):
Пока в Америке все ждут результатов выборов, в Англии тоже не сидят сложа руки. Вышел в свет GHC 6.10.1 с новым параллельным сборщиком мусора, data parallel arrays, а главное - теперь доступны давно обещанные семейства типов (type families).