Haskell имеет репутацию аккуратного языка с классными концепциями, которые часто используются в академических исследованиях. Но обратная сторона этой репутации заключается в том, что люди считают ее непригодной для использования в производственных целях. Но ничто не может быть дальше от истины!

Распространенное заблуждение о Haskell состоит в том, что он «не имеет побочных эффектов». Конечно, любой язык должен иметь побочные эффекты, чтобы быть эффективным. Что делает Haskell уникальным, так это не то, что он вообще не имеет побочных эффектов. Что делает его уникальным (или, по крайней мере, необычным), так это то, что вы должны кодировать побочные эффекты в системе типов. Это означает, что вы можете знать во время компиляции, где находятся эффекты в вашей системе.

Чтобы понять, как можно писать обычные программы на Haskell, вам следует прочитать нашу Веб-серию на Haskell. Он познакомит вас с основами создания простого веб-приложения с использованием Haskell. Мы выделим пару конкретных библиотек, которые позволяют вам выполнять общие веб-задачи.

В первой части мы будем использовать библиотеку Persistent для подключения к базе данных Postgresql. Это включает в себя использование более сложной концепции, называемой Template Haskell, для создания нашей схемы базы данных. Таким образом, мы можем автоматически генерировать необходимые операторы SQL.

Во второй части мы узнаем, как использовать библиотеку Servant для создания HTTP-сервера. Мы также увидим, как мы можем подключить его к нашей базе данных и делать запросы оттуда.

Далее мы будем использовать библиотеку Hedis для подключения к Redis. Это позволит нам кэшировать некоторую информацию из нашей базы данных. Затем, когда нам это снова понадобится, нам не нужно будет обращаться к нашей базе данных!

Часть 4 рассказывает о том, как мы тестируем такую ​​сложную систему. Мы также увидим, как использовать Stack для подключения нашей системы к Docker, чтобы упростить управление нашими дополнительными службами.

Наконец, мы завершаем эту серию в части 5, где мы рассмотрим некоторые более сложные запросы к базе данных, которые мы можем сделать. Для этого потребуется изучить еще одну библиотеку под названием Esqueleto. Эта классная библиотека работает в паре с Persistent.

В этой серии задействовано много разных библиотек. Поэтому очень важно, чтобы вы знали, как добавить внешний код в ваше приложение на Haskell. Чтобы узнать больше об управлении пакетами, вам также следует пройти наш бесплатный мини-курс по стеку. Это поможет вам научиться создавать настоящую программу на Haskell и с легкостью подключаться к библиотекам.

И если вы никогда раньше не писали на Haskell, сейчас самое время начать! Загрузите наш Контрольный список для начинающих, чтобы получить несколько советов!