Pull to refresh
15
0
Дмитрий @D_Bushenko

User

Send message

Генератор кода для Haskell

Reading time4 min
Views9.1K
Некоторое время назад я решил поэкспериментировать с микросервисами на Haskell. Архитектура проекта подразумевает создание большого количества микро-проектов, каждый из которых отвечает за один небольшой объем задач. Через какое-то время мне надоело создавать эти проекты вручную, а также писать шаблонный код для каждой сущности из БД. Для решения этой проблемы я разработал небольшую утилиту, позволяющую генерировать шаблонный код. Под катом — подробнее.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments5

REST-сервер для простого блога на Haskell

Reading time13 min
Views28K
Некоторое время назад я окончательно устал от языков с динамической типизацией и решил попробовать изучить что-нибудь брутально-статическое. Haskell приглянулся мне красотой кода и бескомпромиссным стремлением явно отделить чистые функции от производящих сайд-эффекты. Я залпом проглотил несколько книжек по Haskell и решил, что пора что-нибудь уже и написать.

И тут-то меня ждало разочарование: я не был способен написать ничего кроме hello world-a. Т.е. я примерно представлял себе, как написать какую-нибудь консольную утилиту типа find или вроде того, — но первая же встреча с IO разрушала все мои представления. Библиотек для Haskell вроде бы много, а документации по ним почти совсем нету. Примеров решения типовых задач тоже очень мало.

Симптомы понятны, диагноз простой: отсутствие практики. А для Haskell это достаточно болезненно, т.к. язык крайне необычный. Даже то, что я неплохо знаю Clojure, почти никак мне не помогло, т.к. Clojure больше фокусируется на функциях, в то время как Haskell — на их типах.

Думаю, многие новички столкнулись с проблемой отсутствия практики в Haskell. Писать что-то совсем уж без интерфейса как-то не интересно, а сделать desktop- или web-приложение для начинающего хаскелиста довольно сложно. И в этой статье я собираюсь предложить простой пример, как написать сервер веб-приложения на Haskell специально для тех, кто хочет попрактиковаться в Haskell, но не знает, с какой стороны к нему подойти.

Для самых нетерпеливых: исходники здесь.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments30

Information

Rating
Does not participate
Location
Беларусь
Date of birth
Registered
Activity