ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Thomas Dietert-Types as Program Specifications: A Intro to Type-Level Programming in Haskell λC 2019

Автор: LambdaConf

Загружено: 2020-04-17

Просмотров: 796

Описание: Haskell is known for being a pure, statically typed functional programming language that, if used correctly, allows you to write more correct software. In this talk you will learn how to leverage existing Haskell features and extensions to write more correct software through type-level programming. Statically typed programming languages help us write more correct software by allowing us to enforce customizable invariants about run time values at compile time. As Leslie Lamport once said: “Everyone thinks they think, but if you don’t write down your thoughts you are fooling yourself”. Writing specifications, however informal, before writing code is crucial to the process of writing correct software. Manual type annotations in statically typed languages are a sort of specification. They force us to write down our thoughts before we code by conveying to the compiler invariants about the way values should propagate through our programs. The more specific we are with our specifications (types), the more code invariants the compiler can enforce about out program before we ever run it.

This talk will guide the attendee through the notion of types as specifications and describe how to embed invariants about program runtime behavior into the Haskell type system. Using a collection of language extensions introduced at a steady interval, this talk will cover topics ranging from statically checking the length of lists to defining and applying higher order type-level functions. It will conclude with an example of embedding program behavior specifications as type-level state machines through the culmination of all prior material presented, in addition to indexed monads.

If you are an intermediate Haskell developer striving to understand how to bend GHC and the Haskell type system to your will more effectively, or a beginner Haskell tinkerer desiring to expand your knowledge of the benefits of modern Haskell language extensions, then you should attend this talk!

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Thomas Dietert-Types as Program Specifications: A Intro to Type-Level Programming in Haskell λC 2019

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Nikolai Kudasov- Augmenting Reality in Haskell- λC 2019

Nikolai Kudasov- Augmenting Reality in Haskell- λC 2019

Higher-order Type-level Programming in Haskell

Higher-order Type-level Programming in Haskell

The Dialectics of Type-Level Programming by Aaron Levin

The Dialectics of Type-Level Programming by Aaron Levin

Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated

Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated

Haskell Tutorial - 15 - Intro to type level programming

Haskell Tutorial - 15 - Intro to type level programming

Самый короткий тест на интеллект Задача Массачусетского профессора

Самый короткий тест на интеллект Задача Массачусетского профессора

Typelevel Summit Lausanne, June 2019

Typelevel Summit Lausanne, June 2019

Conversation with Elon Musk | World Economic Forum Annual Meeting 2026

Conversation with Elon Musk | World Economic Forum Annual Meeting 2026

Опасная установка точильного станка в 1971 году

Опасная установка точильного станка в 1971 году

Aaron Hsu - My favorite verbose programming technique

Aaron Hsu - My favorite verbose programming technique

ЯКУТСК, РОССИЯ, 2026 ГОД: ВЫЖИВАНИЕ ПРИ -71 °C! — САМЫЙ ХОЛОДНЫЙ ГОРОД В МИРЕ — ДОКУМЕНТАЛЬНЫЙ ФИЛЬМ

ЯКУТСК, РОССИЯ, 2026 ГОД: ВЫЖИВАНИЕ ПРИ -71 °C! — САМЫЙ ХОЛОДНЫЙ ГОРОД В МИРЕ — ДОКУМЕНТАЛЬНЫЙ ФИЛЬМ

Emacs в 2026: Секретное оружие или старый хлам? |vim, vscode, lisp, org-mode|Podlodka Podcast #460

Emacs в 2026: Секретное оружие или старый хлам? |vim, vscode, lisp, org-mode|Podlodka Podcast #460

Где начало СХЕМЫ? Понимаем, читаем, изучаем схемы. Понятное объяснение!

Где начало СХЕМЫ? Понимаем, читаем, изучаем схемы. Понятное объяснение!

Машинное обучение для микроконтроллеров. Распознаем анимешные фигурки.

Машинное обучение для микроконтроллеров. Распознаем анимешные фигурки.

Making Music with Haskell From Scratch

Making Music with Haskell From Scratch

Для Чего РЕАЛЬНО Нужен был ГОРБ Boeing 747?

Для Чего РЕАЛЬНО Нужен был ГОРБ Boeing 747?

John DeGoes- Asynchronous and Concurrent Programming in Scala Part 2- λC 2019

John DeGoes- Asynchronous and Concurrent Programming in Scala Part 2- λC 2019

Will King - Lessons from Building a Game Engine from Scratch in Gleam

Will King - Lessons from Building a Game Engine from Scratch in Gleam

A Mechanical Formalization of Higher-Ranked Polymorphic Type Inference

A Mechanical Formalization of Higher-Ranked Polymorphic Type Inference

С нуля до миллионов на AI‑стартапах. Что отличает прототип от реального бизнеса  | Максим Панфилов

С нуля до миллионов на AI‑стартапах. Что отличает прототип от реального бизнеса | Максим Панфилов

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]