Программирование на паскале презентация 8 класс

Здесь вы можете ознакомиться с планом и презентациями курса Haskell под руководством Дмитрия Кованикова и Арсения Сероки. Этот курс всегда находится в стадии разработки и постоянно совершенствуется, потому что нет предела для лучшего курса Хаскелла. Вы всегда можете связаться с нами через fp.ctd.itmo [at] serokell.io

План курса

Все слайды: https://slides.com/fp-ctd

Шаблоны для домашних заданий: https://github.com/ChShersh/fp-homework-templates

  • Официальные ресурсы
  • Полезные неофициальные ресурсы
  • О Хаскелле и некоторых вики
  • Попробуйте Haskell в Интернете
  • Редакторы (и IDE для Haskell)
  • Предлагаемые учебные пособия и другие полезные онлайн-курсы

    • На русском языке
      • OHaskell: Для совсем новичков, очень доступно, но очень мало
      • anton-k-github: Покрываются более продвинутые вещи + теория
      • Stepic: Haskell (part 1): Лучший онлайн курс на русском; прекрасен для самостоятельно изучения
      • Stepic: Haskell (part 2): Продолжение лучшего курса

        • Dmitry Kovanikov: Обе части курса на Stepic покрывают лишь две трети данного курса на КТ
    • Книги
    • Интенсивные и самообучающиеся курсы
  • Реальные и относительно популярные примеры приложений Haskell
  • Парадигмы FP и Haskell (также чрезвычайно важные особенности языка)

    • Статические типы
    • Неизменность по умолчанию
    • Чистота по умолчанию
    • Не-null по умолчанию
    • Типы сумм
    • Ленивая оценка

Вступительная презентация: здесь

  • GHC, GHCi
  • Структура проекта Haskell
  • Стек. Характеристики
  • Как работает стек. Снимки
  • .cabal и .yamlфайлы
  • Основные команды

Презентация: https://slides.com/fp-ctd/lecture-1#/

  • Введение в Haskell
    • Основные примеры GHCi
    • Определение функций и операторов
    • Списки и функции в списках
  • Синтаксис Haskell
    • let (объявление переменной)
    • пункт где
    • если выражение
    • Стража
    • падежное выражение
    • Функции более высокого порядка

    • Лямбды (анонимные функции)
  • Полимопризм
    • Параметрический
    • Для этого случая
  • ЯЗЫКОВЫЕ прагмы
  • Каррирование (также известное как частичное нанесение)
  • Сопоставление с образцом
  • Понимание списка
  • Функциональное применение: ($)
  • Функциональный состав: (.)
  • Ленивая оценка (эратосфеновое сито, числа фибоначчи, репмин)

Презентация: http://slides.com/fp-ctd/lecture-2#/

  • тип: псевдонимы типов
  • ADT (алгебраические типы данных):
    • типы продуктов
    • типы сумм
  • данные и примеры
  • Синтаксис записи
  • newtype
  • Тип классов: класс
  • пример
  • вывод
  • -XGeneralizedNewtypeDeriving
  • Модули cheatsheet
  • ADT,кодирующий церковь

Презентация: http://slides.com/fp-ctd/lecture-3#/


  • Математика в программировании
  • foldr и foldl
  • Foldable класс типа
  • Functor
  • Applicative
  • liftAN Программирование в прикладном стиле
  • Alternative
  • Синтаксис понимания списка сахар
  • Traversable тип class (и экземпляры для Maybe, List)
  • Автоматическое выведение
  • Фантомные типы
  • Расширения типа:

Презентация: http://slides.com/fp-ctd/lecture-4#/

  • Набранные отверстия
  • Что такое Монада?
  • Monad класс типа
  • Законы монады
  • State монада
  • Reader монада
  • Maybe например, философия о нулевой безопасности
  • Either экземпляр монады
  • Законы монады

Презентация: http://slides.com/fp-ctd/lecture-5-2019#/


  • Идея парсинга и комбинаторов парсеров
  • Parser Тип

    • Основные парсеры
    • Примеры: Functor, Applicative, Monad, Alternative
    • Примеры использования
  • Тестирование
    • hspec
    • hedgehog
    • tasty
    • Продолжения как обратные вызовы
    • Cont тип данных и монадический пример

Презентация: http://slides.com/fp-ctd/lecture-55#/

  • Построение системы ввода вывода с нуля
  • Ввести IOмонаду
  • делай нотацию
  • Ленивый ввод-вывод
  • FFI
  • Изменяемые данные: IORefи IOArray
  • Исключения (catch, throwIO, пользовательские исключенияbracket, и т. Д.)
  • unsafePerformIO
  • Эффективные строковые представления:

    Text, ByteString

Презентация: http://slides.com/fp-ctd/lecture-6#/

  • Монады как эффекты
  • Составление монад
  • MonadIO
  • MonadTrans класс типа
  • MaybeT трансформатор
  • ReaderT трансформатор
  • Сравнение трансформаторов и старых типов
  • MonadThrow класс типа
  • MonadError класс типа
  • mtl стиль трансформации [//]: # (Не нашел MaybeIO и CoroutineT)

Презентация: http://slides.com/fp-ctd/lecture-7#/

  • Список подводных камней конкатенации и список различий
  • seq, deepseq, NFData
  • -XBangPatterns
  • foldr против foldlпротив foldl'
  • Неопровержимые закономерности
  • Строгий Хаскелл
  • Космические утечки
  • Вырубка леса
  • Слияние потоков
  • Пара слов о правилах перезаписи
  • ST монада (STRef, STArray)

Презентация: http://slides.com/fp-ctd/lecture-10#/


  • Параллелизм с легкими потоками Haskell. forkIO и MVar
  • Синхронизация между потоками
  • Исключения пересмотрены
  • Async
  • STM (Software Transaction Memory). STM, TVar.
  • Параллелизм с Искрами. Эвал монада
  • Проверка параллелизма (ThreadScope)

Презентация: https://slides.com/fp-ctd/lecture-09#/

  • Объектив
    • Реализация наивных линз данных
    • Введение реального объектива’
    • объектив, вид, набор, над определением и объяснением

    • 3-ступенчатая направляющая объектива
    • microlens-семья
    • Хороший пример с реальным объективом (view, traversed, filtered, zoom)
    • Prism
    • Аффинные обходы
  • -XCPP
  • Шаблон Haskell

Презентация: https://slides.com/fp-ctd/lecture-10-17#/

  • ГАДТс
  • Экзистенциальный тип
  • Ранг N типов
  • ЦИФРОВАЯ АБОНЕНТСКАЯ ЛИНИЯ

Презентация: https://slides.com/fp-ctd/lecture-11#/

  • Виды
  • -XTypeOperators
  • -XDataKinds. Продвижение данных
  • Гетерогенные списки
  • Символы типа
  • Семейства данных и типов
  • Свободные монады

Презентация: https://slides.com/fp-ctd/lecture-12#/

  • Comonad тип класс и мотивация
  • Молнии
    • Список молния
    • Игра жизни
  • Алгебра типов
    • Типы как функции (сумма, произведение, переменные типа)

    • Типовые изоморфизмы
    • Молнии как производное: Молния списка, молния дерева
  • Комонады как шаблоны ООП
  • codo-notation (он же метод)

Презентация: http://slides.com/fp-ctd/lecture-13#/

Открытые темы

К сожалению есть несколько замечательных тем но на них нет времени в этом курсе 🙁