Serge Bobrovsky (sbobrovsky) wrote,
Serge Bobrovsky
sbobrovsky

ем беляш на курском вокзале. отобрал у собаки.

Haskell -- это первый язык программирования, который я пока ниасилил. При том, что например свободно кодю на F# или функционально-декларативных (макро)расширениях Питона типа MacroPy. Главный их минус, что заложенная в их основу теория слабая (а точнее, никакая).





На хаске в принципе вполне можно говнокодить и в псевдо-императивном духе, или рекурсиями в лисп-стиле (речь конечно о программах на сотни тысяч строк, не про стостроковые скрипты) , но я хочу принципиально от этого, вонючего мэйнстрима:) , отказаться. Но для этого приходится изучать теоркат, ADT, вот это вот всё. Но мне жутко нравится.

Пример вывода "hello world" в типовом учебнике по хаску начинается где-то с 20-й главы:) А до этого в основном теория.

Интересно будет потом, как освою, сравнить хаск с эрлангом и кложем/окамлом, а в чуть-чуть более отдалённой перспективе, облизываюсь на агду (зависимые типы (заселённые типы, зависимые от значений (исчисление конструкций (полиморфное лямбда-исчисление высшего порядка с зависимыми типами (System F-omega)) -- типа, самое крутое в лямбда-кубе лямбда-буддиста Барендрегта))).
Но покамест от лямбд с полиморфными типами хаска добраться бы до глазговского haskell-компилятора GHC (операторы над типами) -- применительно к programming in large.

Кстати, в Journal of Functional Programming за 2016-й год половина статей по Haskell, а другая про лямбда-исчисления.
Вот например порадовало:
Dependent pattern matching is an intuitive way to write programs and proofs in dependently typed languages. However, in general, it is incompatible with new type theories such as homotopy type theory (HoTT).

Попутно, что-нибудь поюзаю типа F* скорее всего (это вроде F#-подобный зависимый ML, который компилится в F# :-); а может быть даже (мечтаю) забацаю для питона опенсорсную макро-либу с мета-функциями, чтобы типа


def (x: NestedList[3, int])



конвертился в


def (x: List[List[List[int]]])



Tags: fp, haskell, а я граф монте-кристо, лайткор
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 11 comments