Re[45]: «Собаку съел»
От: samius Япония http://sams-tricks.blogspot.com
Дата: 22.02.17 20:12
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, samius, Вы писали:


V>>>Не останавливайся на достигнутом. Откажись считать себя программистом.

S>>На том основании, что ты не распарсил слово "function" в определении, которое пытался выдать за определение полиморфизма? Это несерьезное основание.

V>Я давал тебе самое серьезное из всех современных обоснований — это HoTT.

V>В нем полиморфизмом называются "зависимые функции".
В нем нет упоминания слова polymorphism. Но куча упоминания polymorphic function. Т.е. даже не читая, можно предположить что ты читал невнимательно.

V>Иерархию я приводил:

V>http://www.rsdn.org/forum/flame.comp/6700097.1
видел, комментировал.

V>Аналогично по чуть менее серьезному, что всё еще самому серьезному среди оставшихся — это книга Пирса "Типы в ЯП".

V>Там он посвящает понятию "полиморфизма" целую главу V.
V>В этой главе о полиморфизме рассматриваются:
V>* Типизация на основе ограничений
V>* Унификация (принцип Хиндли-Милнера, когда компилятором выбирается более специализированная перегрузка в текущем контексте, т.е. более специализированное имеет преимущество над менее специализированным; в С++ похожие правила вывода с некоторыми ограничениями на сценариях автоприведения типов + конструкторов).
V>* определение полиморфизма (Система F) —
V>

V>Система F является расширением типизированного лямбда-исчисления.

Вот кстати, из Пирса

The term polymorphism refers to a range of language mechanisms that allow a single part of a program to be used with different types in different contexts (§23.2 discusses several varieties of polymorphism in more detail).

Если Пирсу не доверяешь, так и скажи. А то "тут не гляди, тут гляди"!

V>* параметричность

V>Тут Пирс ничего не говорит сам, а отсылает к целому списку авторов:
Как не говорит сам? Я устал цитировать то что он "не говорит сам". И на этой неделе уже тоже цитировал.

V>

V>Понятие параметричности было введено Рейнольдсом (Reynolds, 1974, 1983). В дальнейшем ее, наряду с родственными понятиями, исследовали ...

V>Что пишут о работах Рейнольдса (сами работы доступны как картинк-сканы, приводить их неудобно, поэтому рецензия):
V>http://www.ccs.neu.edu/home/matthias/369-s10/Transcript/parametricity.pdf
V>

V>In this paper Reynolds formalizes the idea of data abstraction: what does it mean for a client of a data type to be insensitive to the type’s choice of internal representation? An abstract data type exposes a type name and a set of operations on the type, and a client program respects the abstraction if it cannot make a concrete observation to distinguish different choices of representation for the abstract type.
V>...
V>The main generalization introduces the polymorphic λ-calculus for defining functions that are parametrically plymorphic in the sense of Strachey.

V>Reynolds extends the relational semantics to polymorphic types, reestablishes the abstraction theorem, and argues that the theorem captures Strachey’s informal notion of parametricity.

V>Переведу на русский, чтобы опять кто-то не запутался:
V>

V>Основным обобщением вводится полиморфное лямбда-исчисление для определения функций, которые являются параметрически полиморфными в смысле Стрейчи.

V>Рейнольдс расширяет реляционную семантику до полиморфных типов, восстанавливает теорему абстракции, и утверждает, что теорема фиксирует (покрывает) неофициальное понятие Стрейчи о параметричности.

О, видишь, "полиморфные типы". А ты говорил, что нет таких.

V>Так вот. Полиморфное лямбда-исчисление — это Система F, которая, в свою очередь, является расширением типизированного лямбда-исчисления.


V>Круг замкнулся.

V>Т.е., PP по Пирсу — это развитие типизированного лямбда исчисления (типизация на основе ограничений). ТЧК.
Это демагогия чистой воды. Пирс дал определение ПП и я его приводил. ПП по Пирсу — это именно оно. А вот то что ты написал — это "ПП по Пирсу с колокольни vdimas-а". Буду уверен в этом до тех пор, пока не приведешь цитату Пирса с тем, что ты ему приписываешь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.