Tag Archives: haskell

Прогризання в Хаскель

Потрохи, дуже й дуже повільно гризу граніт науки з Хаскелем. Читаю “Вивчить собі Хаскела на велике щастя!“.

Книжка складна (чи то Хаскель такий), але гумор іноді веселий:

Шукати елемент у порожньому списку теж не варто, бо його там немає (і не тільки його — там немає багатьох інших елементів!)

Дійшов до розділу 8 про написання власних типів і типокласів. Ледве розібрався. Цікаво що в типів та конструкторів типів є типи (кшталти, kinds), і це не типи, як в Python, а щось інше. Не зрозуміло чому типоклас Функтор такий важливий. Ну можна виконувати над ним map. Але напевне важливий, бо десь я бачив слова “Аплікативний функтор, моноїд”, значить то десь до монад не далеко. Але дуже тішусь тим що наступний розділ буде про ввід-вивід, і я НАРЕШТІ зможу написати “Привіт, світе!”. :) Ну тобто ясно що main = putStr "Привіт, світе!", але зрозуміти що повертає putStr.

P.S. Я трохи намагався розібратись з монадами, і здається мені що в хаскелі функції не виконують побічні ефекти, але повертають щось що каже що повинні бути виконані певні побічні ефекти. Як те щось називається, і хто виконує – ще не знаю. Знаю лише що монада це три речі – тип, функція return, і ще якась функція. Що вони роблять – теж поки що не зрозуміло.

А потім може постараюсь пройти Write Yourself a Scheme in 48 Hours.


Filed under: Кодерство, Нещоденник Tagged: haskell

Правильне робоче середовище з xmonad

xmonad Досить недавно в коментарях старого доброго опеннета (opennet.ru) розгорілась чергова війна KDE vs GNOME, в якій хтось ляпнув, що зручність – далеко не їх(вищевказаних монстрів) позитивна риса. Натомість коментатор запропонував звернути увагу на xmonad. Новий DE? Ні, ні і ще раз ні. Це фреймовий(або ж мозаїчний) менеджер вікон. Що ж, познайомимося з ним поближче.

Read more »