КурсыMBAКомпанииГранты на обучениеВузыПовысь зарплату

EduMarket Образование
  Вход на сайт
 
Напомнить   
Запомнить меня
 
Пользовательское соглашение


Публикации и новости

Анонсы и релизы (592)

 

Бесплатные видеокурсы (3013)

 

Статьи (2986)

 

Новости (550)

 

Победители конкурса грантов (124)

 


 
СМИ / Бесплатные видеокурсы / IT: Для программистов и IT-специалистов / Бесплатные видеолекции: Функциональное программирование (часть 3)

Бесплатные видеолекции: Функциональное программирование (часть 3)

назад к части 1 части 2

окончание

В этой части: Типизация в языках функционального программирования, формальная семантика языков функционального программирования, доказательство свойств программ, реализация функциональных языков. Eval-Apply-интерпретаторы. Реализация функциональных языков: интерпретаторы и абстрактные машины, редукция графов, потоковые реализации, анализ искусственных и естественных языков, метапрограммирование. Quotations, Императивное ядро в функциональных языках. Монады. Примеры. Асинхронные и параллельные вычисления.

Общее время просмотра (10 видео), часть 3: 4 ч 20 мин

21 Типизация в языках функционального программирования

Классификация языков программирования по видам типизации. Типизированное лямбда исчисление. Вывод типов.

   Введение
    Типизации
    Классификация языков
    Статистический и динамический контроль типов
    Типизация в функциональных языках
    Типизированное лямбда исчисление
    Примеры
    Алгоритм вывода типов



22 Формальная семантика языков функционального программирования

Классификация формальных семантик.Теория доменов. Теорема о неподвижной точке. Семантика для простейшего языка.

Семиотика
Семантика языков программирования
Классификация формальных семантик
Денотационная семантика
Теория доменов
Определения
Стандартные домены и лифтинг
Функциональные пространства
Теорема о неподвижной точке
Пример семантики для простейшего языка
Описание полученной семантики
Описание рекурсии на примере факториала



23 Доказательство свойств программ

Доказательство корректности программ на примерах. Проблема самопременимости.

Доказательство корректности программ
Вычисление факториала
Конкатенация списков
Реверсирование списков
Доказательство корректности в программировании. Верификации
Пределы верификации
Проблема самопременимости



24 Реализация функциональных языков. Eval-Apply-интерпретаторы
  


Возможные реализации функционального программирования
Eval-Apply интерпретаторы
Введение
Представление программы
Энергичный интерпретатор
Eval
Вычисление примитивных функций
Apply
Пример вычислений
Пример применения функционального программирования в реальном проекте
Реализация функциональных языков. Eval-Apply-интерпретаторы.



25 Реализация функциональных языков: интерпретаторы и абстрактные машины

Обработка рекурсии и ленивые вычисления в Eval-Apply модели. SECD-машина.

Обработка рекурсии
Добавление ленивых вычислений
Реализации с использованием ленивых машин
SECD-машина Ландина
Определение
Пример вычисления 1+2
Реализация
Что осталось?



26 Реализация функциональных языков: редукция графов, потоковые реализации

Редукция графов. Эффект разделения. Пара слов о потоковых графах.

Представление лямбда выражений в виде графов
Редукции
Эффект разделения
Что мы не рассмотрели?
Сборка мусора
Реализация на потоковых графах



27 Анализ искусственных и естественных языков

Языки и грамматики. Лексический анализ. Синтаксический разбор. Специализированные утилиты.

Языки и грамматики
Контектсно свободные грамматики
Простой функциональный язык
Общий подход к разбору искуственных языков
Лексический анализ
Синтаксический разбор
Специализированные утилиты
Введение
Лексический анализатор
Синтаксический анализатор



28
Метапрограммирование: Quotations

Метапрограммирование. Quotations. Примеры. DLinq технология.

Метапрограммирование
Quotations
Пример: стековый калькулятор
Работа с Raw Quotations
Работа с базами данных. DLinq технология



29 Императивное ядро в функциональных языках. Монады. Computational Workflows

Императивное ядро в функциональных языках. Монады. Примеры.

Императивное ядро в функциональных языках
Ввод с использованием явного состояния
Монады
Определение
Монады ввода-вывода
Монады недетерминированных вычислений
Монады в F#. Computational Expression
Пример: удаление всевозможными способами
Пример: решение логической задачи
Что мы получили?



30 Асинхронные и параллельные вычисления

Подходы к параллельным вычислениям. Asychrnous Workflows. Примеры.

Асинхронные и параллельные вычисления
Подходы к параллельным вычислениям
Asychrnous Workflows
Пример: Интегрирование
Асинхронный ввод-вывод
Пример: обработка изображений

Другие бесплатные видеокурсы
Все бесплатные видеокурсы, Курсы IT специалистов
Пользовательское соглашение       Обратная связь       Карта сайта

© 2006—2024 Edumarket