Andy Melnikov (nponeccop) wrote,
Andy Melnikov
nponeccop

Category:

Почему Prelude говно

Ввиду наличия 26+ разных NIH-прелюд хорошо бы создать свою 27-ю перечислить недостатки, настоящие или мнимые, которые эти прелюды исправляют или "исправляют".

Потребление процессора и памяти:

- String
- Array

Семантика, недружественная к нубам:

- lazy IO (readFile . lines, interact-подобный хеллоувордизм)
- foldl без ', нестрогие sum/product

Пуризмы:

- "настоящие" частичные функции (head vs headMay)
- "функции-исключения" притворяющиеся частичными (error, undefined...)

Непереносимость:

- бэкпортирование фич новой base в старые GHC

Бойлерплейт:

- неэкспорт нужных штук типа (>=>)
- одни и те же имена (*.map == fmap, IsMap, sequenceA == sequenceM)

Недостаточно ортогональный и алгебраический дизайн:
- numeric tower
- algebraic tower
- отсутствие единообразности - например, есть maybe и either, но нет bool

На этом этапе мне надоело, продолжим завтра
Tags: fp, haskell, programming
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments