Пожалуй, первая серия постов про типы на этом заканчивается. Продолжение будет.
В этом посте я собрал немножко разных ссылок по теме, часть из них я уже приводил — пускай будут в одном месте:
Вообще:
- Отличные слайды к лекциям по курсу "Types and programming languages" университета Глазго (это там, где появился GHC).
- "Types and Programming Languages The Next Generation" — лекция Бенджамина Пирса о том что вообще в теории типов сейчас происходит.
- Лука Карделли тоже много разных интересных научно-популярных вещей написал, например вот("Type Systems") и вот("On Understanding Types, Data Abstraction, and Polymorphism").
Про подтипы:
- Лекция про subtyping с примерами из java
- Туториал по Scala: "Scala By Example".
- Книжка "Foundations of Object-Oriented Programming Languages: Types and Semantics" by Kim B. Bruce — частично доступна онлайн.
Про наследование:
- "A behavioral notion of subtyping" — Liskov Substitution Principle;
- "Subtyping, Subclassing, and Trouble with OOP" — Олег Киселев о проблемах в ООП, связанных с наследованием;
- "Supplementary Notes on Inheritance and Subtyping" — про проблему открытой рекурсии.
На русском языке, из интересного, рекомендую почитать в блоге Льва Курца откуда типы вообще возникли — с "более математической" точки зрения.
Еще есть глава про типы в книжке И. Дехтяренко "Декларативное программирование" — сам я, правда, ее подробно еще не смотрел.
3 comments:
Очень приятная серия, спасибо.
Планируете ли рассказывать дальше?
Из практических применений интересно было бы поговорить о variant types и pattern matching; из теории - об изоморфизме Карри-Говарда и связи всего этого с конструктивной математикой.
Планирую, как минимум, вторую серию, как только пару вечеров найду свободных ;)
Как раз, думаю, будет про variant/sum/recursive типы.
agp1.nm.ru
подборка формализаций ооп- систем
Post a Comment