Популярное

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

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

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

Топ запросов

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

Staging with Class: A Specification for Typed Template Haskell • Ningning Xie • YOW! 2022

Автор: GOTO Conferences

Загружено: 2023-04-30

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

Описание:

This presentation was recorded at YOW! 2022. #GOTOcon #YOW
https://yowcon.com

Ningning Xie - Research Associate at Department of Computer Science and Technology University of Cambridge ‪@ningningxie3528‬

RESOURCES
  / xnningxie  
https://xnning.github.io

ABSTRACT
Multi-stage programming using typed code quotation is an established technique for writing optimizing code generators with strong type-safety guarantees. Unfortunately, quotation in #Haskell interacts poorly with type classes, making it difficult to write robust multi-stage programs.

In this talk, I will present my recent work which studies this unsound interaction and proposes a resolution, staged type class constraints, which is formalized in a source calculus that elaborates into an explicit core calculus.
I will show type soundness of both calculi, establishing that well-typed, well-staged source programs always elaborate to well-typed, well-staged core programs, and prove beta and eta rules for code quotations. The design allows programmers to incorporate type classes into multi-stage programs with confidence. Although motivated by Haskell, it is also suitable as a foundation for other languages that support both overloading and quotation. [...]

TIMECODES
0:00 Introduction
2:32 Quotations and splices
3:24 Multi-stage programming: example
5:20 Code generation
8:30 Multi-stage programming and type classes
10:53 Multi-stage programming: well-typedness
12:56 Well-stagedness: the level of an expression
14:02 Well-stagedness: the level restriction
15:50 Is the problem with qpower well-stageness?
17:50 Well-staged type classes
18:45 Key idea: staged type class constraints
21:04 Level-indexed constraint resolution
22:32 How to evaluate staged programs?
23:27 Level-indexed Evaluation
24:21 Key idea: splice environments
26:57 Type-directed elaboration
27:53 Integration into #GHC

RECOMMENDED BOOKS
Vitaly Bragilevsky • Haskell in Depth • https://amzn.to/3EXpmbe
Rebecca Skinner • Effective Haskell • https://amzn.to/3VgUKsh
Graham Hutton • Programming in Haskell • https://amzn.to/3Fi8rBC
John Whitington • Haskell from the Very Beginning • https://amzn.to/3VmX68R

  / gotocon  
  / goto-  
  / gotoconferences  
#SoftwareEngineering #Programming #FunctionalProgramming #Tech #SoftwareDevelopment #SoftwareTechnology #-NingningXie #YOWcon

Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at https://gotopia.tech
Sign up for updates and specials at https://gotopia.tech/newsletter

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
https://www.youtube.com/user/GotoConf...

Staging with Class: A Specification for Typed Template Haskell • Ningning Xie • YOW! 2022

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

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

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

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

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

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

An Intuitive Guide to Combining Free Monad & Free Applicative • Cameron Joannidis • YOW! 2018

An Intuitive Guide to Combining Free Monad & Free Applicative • Cameron Joannidis • YOW! 2018

"Hackett: a metaprogrammable Haskell" by Alexis King

Sandy Maguire: A New Kind of Programming: Tactic Metaprogramming in Haskell @ZuriHac21

Sandy Maguire: A New Kind of Programming: Tactic Metaprogramming in Haskell @ZuriHac21

Flavie LAVOIE-CARDINAL : decoding synaptic diversity with AI-assisted nanoscopy

Flavie LAVOIE-CARDINAL : decoding synaptic diversity with AI-assisted nanoscopy

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

Как я учусь в 45+? 🤓Ответ: по науке

Как я учусь в 45+? 🤓Ответ: по науке

Как Быстро ВЫУЧИТЬ Python в 2026 году

Как Быстро ВЫУЧИТЬ Python в 2026 году

Вся IT-база в ОДНОМ видео: Память, Процессор, Код

Вся IT-база в ОДНОМ видео: Память, Процессор, Код

Teo Camarasu - Template Haskell, a case study in (in)stability

Teo Camarasu - Template Haskell, a case study in (in)stability

Enterprise Architecture = Architecting the Enterprise? • Gregor Hohpe • YOW! 2017

Enterprise Architecture = Architecting the Enterprise? • Gregor Hohpe • YOW! 2017

Алгоритмы на Python 3. Лекция №1

Алгоритмы на Python 3. Лекция №1

Я вернул себе фокус (вот, что реально сработало)

Я вернул себе фокус (вот, что реально сработало)

КАК УСТРОЕН TCP/IP?

КАК УСТРОЕН TCP/IP?

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

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

РЕАЛЬНОЕ собеседование на Data Scientist. Алгоритмы + Python

РЕАЛЬНОЕ собеседование на Data Scientist. Алгоритмы + Python

MuniHac 2018: Keynote: Beautiful Template Haskell

MuniHac 2018: Keynote: Beautiful Template Haskell

Почему ваш код не соответствует Python (и как это исправить)

Почему ваш код не соответствует Python (и как это исправить)

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

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

Если у тебя спросили «Как твои дела?» — НЕ ГОВОРИ! Ты теряешь свою силу | Еврейская мудрость

Если у тебя спросили «Как твои дела?» — НЕ ГОВОРИ! Ты теряешь свою силу | Еврейская мудрость

Владимир Пастухов* и Алексей Венедиктов*. Пастуховские четверги / 22.01.26

Владимир Пастухов* и Алексей Венедиктов*. Пастуховские четверги / 22.01.26

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



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



Контакты для правообладателей: infodtube@gmail.com