рабочая зона

Haskell

практический путь для изучения Haskell с нуля

сначала определение

что такое Haskell

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

минимум для запускафайл Main.hsзапуск runghc Main.hsпривычка изучи маленькую часть Haskell, набери минимальный пример и запусти
программа

упорядоченный набор инструкций.

значение и переменная

значение это данные. переменная это имя для этих данных.

функция

маленькая именованная работа с входом и результатом.

среда

GHC запускает код из Main.hs.

первый читаемый код

вывод программы

entry point output syntax print
print 42
вывод 42

родословная языка

родословная Haskell

посмотри откуда пришел Haskell, какие языки рядом и что учить дальше.

корни
MLMirandaLambda calculus
сейчасHaskellфункциональная и логическая семья
семьяфункциональная и логическая семья
лучше для

лучше для практический путь для изучения Haskell с нуля

с нуля

1прочитать одно правило2предсказать вывод3набрать по памяти4запустить проверку5повторить с одним изменением

Банк задач

Сначала поиск потом практика

Выбери этап или найди задачу в банке текущего языка и открой тренировку.

18 результатов
Q 1ВыборЭтап 1 определения

Haskell вопрос 1

Haskell вопрос 1. Выбери утверждение, которое лучше всего описывает вывод значения.

Q 2ВыборЭтап 1 определения

Haskell вопрос 2

Haskell вопрос 2. Выбери утверждение, которое лучше всего описывает именование значения.

Q 3ВыборЭтап 1 определения

Haskell вопрос 3

Haskell вопрос 3. Выбери утверждение, которое лучше всего описывает переиспользуемая функция.

Q 4ВыборЭтап 1 определения

Haskell вопрос 4

Haskell вопрос 4. Выбери утверждение, которое лучше всего описывает базовая коллекция.

Q 5ВыборЭтап 1 определения

Haskell вопрос 5

Haskell вопрос 5. Выбери утверждение, которое лучше всего описывает вывод значения.

Q 6ВыборЭтап 1 определения

Haskell вопрос 6

Haskell вопрос 6. Выбери утверждение, которое лучше всего описывает именование значения.

Q 7ВыборЭтап 1 определения

Haskell вопрос 7

Haskell вопрос 7. Выбери утверждение, которое лучше всего описывает переиспользуемая функция.

Q 8ВыборЭтап 1 определения

Haskell вопрос 8

Haskell вопрос 8. Выбери утверждение, которое лучше всего описывает базовая коллекция.

Q 9ВыборЭтап 1 определения

Haskell вопрос 9

Haskell вопрос 9. Выбери утверждение, которое лучше всего описывает вывод значения.

Q 10ВыборЭтап 1 определения

Haskell вопрос 10

Haskell вопрос 10. Выбери утверждение, которое лучше всего описывает именование значения.

Q 11ВыборЭтап 1 определения

Haskell вопрос 11

Haskell вопрос 11. Выбери утверждение, которое лучше всего описывает переиспользуемая функция.

Q 12ВыборЭтап 1 определения

Haskell вопрос 12

Haskell вопрос 12. Выбери утверждение, которое лучше всего описывает базовая коллекция.

Q 13ВыборЭтап 1 определения

Haskell вопрос 13

Haskell вопрос 13. Выбери утверждение, которое лучше всего описывает вывод значения.

Q 14ВыборЭтап 1 определения

Haskell вопрос 14

Haskell вопрос 14. Выбери утверждение, которое лучше всего описывает именование значения.

Q 15ВыборЭтап 1 определения

Haskell вопрос 15

Haskell вопрос 15. Выбери утверждение, которое лучше всего описывает переиспользуемая функция.

Q 16ВыборЭтап 1 определения

Haskell вопрос 16

Haskell вопрос 16. Выбери утверждение, которое лучше всего описывает базовая коллекция.

Q 17ВыборЭтап 1 определения

Haskell вопрос 17

Haskell вопрос 17. Выбери утверждение, которое лучше всего описывает вывод значения.

Q 18ВыборЭтап 1 определения

Haskell вопрос 18

Haskell вопрос 18. Выбери утверждение, которое лучше всего описывает именование значения.

выбор ответа

Haskell вопрос 1

Q 1Выборновый

Haskell вопрос 1. Выбери утверждение, которое лучше всего описывает вывод значения.

print 42

справка

шаблоны для Main.hs

GHCrunghc Main.hs
вспомнить по памятипрочитай маленький пункт и воспроизведи без подсказки
проследить кодзапиши значения переменных перед запуском
набрать самомуменьше копируй больше набирай и чини по одному багу

entry point output syntax print

вывод программы

print 42
  • Run the smallest file first
  • Print one known value
  • Check the output before adding more code

variables assignment types let

значения и имена

let total = 42
print total
  • Give values readable names
  • Keep one idea per line while learning
  • Trace the value before changing it

function collection List

функции и коллекции

add :: Int -> Int -> Int
add a b = a + b

let scores = [40, 2]
print (length scores)
  • Keep functions small
  • Return useful values
  • Use the common collection before reaching for frameworks