18+
реклама
18+
Бургер менюБургер меню

Учитель Начальной – Курс Хаскель от джуна до мидла (страница 2)

18

• Документация GHC и Hoogle (поиск по типам и функциям).

• Reddit r/haskell, Haskell Discourse, Telegram-чаты.

В следующей главе мы настроим окружение и напишем первую программу.

Упражнения к главе 1

1. Объясните своими словами, чем чистая функция отличается от процедуры с побочными эффектами.

2. Приведите 3 примера задач, которые удобнее решать функционально, чем императивно.

3. Найдите в интернете 5 компаний, которые используют Haskell в продакшене, и кратко опишите, для чего.

ГЛАВА 2. УСТАНОВКА ОКРУЖЕНИЯ, GHCI И ПЕРВЫЙ КОД

2.1. Установка GHC и инструментов

Рекомендуемый способ в 2024–2026 годах — использовать GHCup.

На Linux / macOS:

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

После установки доступны команды:

• ghcup — менеджер версий

• ghc — компилятор

• ghci — интерактивная оболочка (REPL)

• cabal — система сборки

• stack — альтернативная система сборки (многие до сих пор предпочитают)

Проверка:

ghc --version

ghci

На Windows лучше использовать официальный установщик или WSL2 + GHCup.

2.2. Первый запуск GHCi

Открываем терминал и пишем:

$ ghci

GHCi, version 9.6.x: https://www.haskell.org/ghc/ :? for help

Prelude>

Prelude — это стандартный модуль, который загружается по умолчанию.

Простые вычисления:

Prelude> 2 + 2

4

Prelude> 7 * 8

56

Prelude> 2 ^ 10

1024

Prelude> sqrt 16

4.0

Prelude> pi

3.141592653589793

Строки:

Prelude> "Hello, " ++ "Haskell!"

"Hello, Haskell!"

Логика:

Prelude> True && False

False

Prelude> True || False

True

Prelude> not True

False

2.3. Основные команды GHCi

:t выражение — показать тип

:i имя — информация о типе/классе/функции

:l файл.hs — загрузить файл

:r — перезагрузить последний файл

:q — выход

:? — справка

:set +t — показывать типы результатов

:set prompt "λ> " — красивый промпт

Пример:

Prelude> :t 5

5 :: Num a => a

Prelude> :t "hello"

"hello" :: String

Prelude> :t True

True :: Bool