Когда я впервые увидел код в стиле f1 >>= \x -> f2 >>= \y -> Right (x, y)
моя реакция была «Ааа! Что тут происходит? Как вообще кто-то может писать на таком языке?». Но, как выяснилось, если сесть и спокойно во всем разобраться, в монадах нет абсолютно ничего сложного. Кроме того, оказывается, монады имеют множество важных практических применений и способны существенно облегчить выполнение нашей с вами повседневной работы.
Недавно я разбил свой Asus Nexus 7. По всей видимости, нес его в пакете и ударил о турникет в метро. В результате у планшета треснуло стекло и теперь он не реагирует на прикосновения. Читать книжки в дороге стало не на чем, поэтому я в срочном порядке приобрел новый планшет, Asus Fonepad 16Gb.
Scotty — это легковесный движок для создания веб-приложений на языке Haskell. Что-то вроде Cowboy из мира Erlang или Scalatra из мира Scala. Сегодня с помощью Scotty мы прикрутим веб-интерфейс к нашей телефонной книге.
В этом выпуске: полезные сервисы, подборка материалов по веб-разработке на Haskell, прочая функциональщина, и не только. Предыдущие выпуски: июнь 2013, май 2013, апрель 2013, март 2013.
Сегодня мы научимся работать с реляционными базами данных из Haskell. Будет написана небольшая «телефонная книга» с CLI, которая будет хранить наши контакты в PostgreSQL. В мире Haskell есть много библиотек для работы с базами данных. Мы воспользуемся HDBC.
MySQL недаром пользуется большой популярностью в мире реляционных баз данных. Это хорошая, годная РСУБД с открытым исходным кодом. Но не единственная в своем роде. PostgreSQL ничем не хуже MySQL, а во многом — даже лучше. Давайте попробуем выяснить, в чем именно.
Ни одно достаточно крупное приложение не обходится без конфигурационных файлов. Сегодня мы познакомимся с пакетом configurator, который позволяет не только банально парсить конфиги в Haskell, но и делать другие интересные вещи. Например, узнавать об изменении конфигов и автоматически перечитывать их. Автором пакета является широко известный в узких кругах Bryan O’Sullivan.
Вы читаете продолжение к моей предыдущей заметке с советами начинающим блогерам. В этой, заключительной, части мы выясним, как привлечь читателей, можно ли зарабатывать на блогах и какие бывают типичные ошибки при ведении блога.
Взаимодействие процессов в Erlang происходит путем обмена сообщений. И хотя сообщения в Erlang дешевы, они не бесплатны. Бездумная посылка сообщений неправо и налево может привести не только к существенному замедлению работы всего приложения, но и к его аварийному завершению.
Я занимаюсь ведением этого блога вот уже более трех лет. Согласно статичтике FeedBurner, недавно количество подписчиков на RSS-ленту сайта перевалило за тысячу человек. Думаю, пришло время мне поделиться сокровенными знаниями о сложнейшем процессе ведения блогов.