|
|
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
Коротко и на пальцах. Полиморфизм это принцип легко взаимозаменяемых модулей в любом автомате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 17:41 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
k0rvin_модtchingiz, А это что ? Код: plaintext 1. параметрический полиморфизм, очевидно же, функция типа f :: a -> a и называется она identity (в CL/Scheme) или id (в Haskell) думаю да. под полиморфизм включения не подходит - нет иерархии подтипов, работает одинаково для всех типов и, можно трактовать, что использует "общую структуру" всех множеств - каждый элемент каждого множества можно сравнивать с собой и получать результат true. под полиморфизм перегрузки и приведения тоже не подходит. Остается только параметрический. У Харрисона введение в функциональное программирование перегрузка вообще не полиморфизм, а функция идентичности приводится как пример полиморфизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 20:46 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
И Карделли с Вегнером и Харрисон ссылаются на некоего Стрейчи. Причем Харрисон в явной форме приписывает авторство термина Стрейчи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 02:44 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
еще одно. Стрейчи похоже, был голова ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 05:35 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
tchingizУ Харрисона введение в функциональное программирование перегрузка вообще не полиморфизм, а функция идентичности приводится как пример полиморфизма. наследование+полиморфизм=перегрузка, (которая вообще не полиморфизм) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2010, 14:29 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
замечание от Пирса. Типы в языках программирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2010, 10:06 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
авторполиморфизм это - средство решения задачи типизации терма. Средство состоит из двух компонет: - множества полиморфных функций //то есть, две и/ли более или бинарного отношения полиморфизма на функциях; - правила/алгоритма/указания которое по тексту программы и номеру байта в программе выбирает конкретную функцию из множества полиморфных функций. /*типизация терма == определение типа терма без его вычисления */ отношение полиморфизма задается средствами языка. Например, текст Код: plaintext по одной для каждого типа. в одном из примеров (статический и динамический.) отNotGonnaGetUs /topic/418324&pg=1#4030553 язык задает три функции X::parseInt, родительская (унаследованная) Y::parseInt и детская (перегруженная) Y::parseInt и два правила выбора - одно для динамического полиморфизма - выбирается детская функция ; - одно для статического полиморфизма - выбирается родительская функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2010, 10:25 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
- одно для статического полиморфизма - выбирается родительская функция. виноват - одно для статического полиморфизма - выбирается функция родительского объекта, а не унаследованная от родителя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2010, 23:24 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
http://fprog.ru/2010/issue4/roman-dushkin-existentials/ Роман Душкин 1. Предикативный параметрический полиморфизм проявляется тогда, когда в качестве значений типовых переменных могут быть подставлены только мономорфные типы («монотипы»), то есть такие типы, в определениях которых не используются типовые переменные. 2. Непредикативный параметрический полиморфизм позволяет конкретизировать типовые переменные произвольными типами (мономорфными и полиморфными), в том числе и рекурсивно: если в определении типа τ используется типовая переменная α, то при конкретизации вместо неё может быть подставлен сам тип τ. В данном случае слово «непредикативный» обозначает, что при определении сущности возможно использование ссылки на саму определяемую сущность, что потенциально может привести к парадоксам типа канторовского и расселовского. Иногда непредикативный полиморфизм называют полиморфизмом первого класса. Существует еще одна система классификации параметрических полиморфных типов, основаная на понятии ранга. В данной классификации выделяют три подвида параметрического полиморфизма: 1. Полиморфизм ранга 1 (также предварённый полиморфизм или let-полиморфизм) предполагает, что в качестве типовых переменных могут быть подставлены только монотипы. Соответственно, предварённый полиморфизм может быть только предикативным. В языках семейства ML (включая язык Haskell стандарта 98 года без расширений) используется именно этот вид параметрического полиморфизма. 2. Полиморфизм ранга k (при k > 1) позволяет конкретизировать типовые переменные полиморфными типами ранга не выше (k - 1). В [2] доказано, что вывод типов возможен для k = 2, но для больших k задача вывода типов неразрешима. 3. Полиморфизм высшего ранга (полиморфизм ранга N) проявляется тогда, когда конкретизация типовых переменных может производиться произвольными типами, в том числе и полиморфными любого ранга. Непредикативный полиморфизм высшего ранга является наиболее общим видом параметрического полиморфизма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2010, 23:27 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
k0rvin_модtchingiz, А это что ? Код: plaintext 1. параметрический полиморфизм, очевидно же, функция типа f :: a -> a и называется она identity (в CL/Scheme) или id (в Haskell) совпало мнение с классиком Карделли О понимании Сходным образом и функция идентификации может быть определена только для конкретных типов, например, целых: fun(x:Int)x. Мы не можем отразить тот факт, что её форма не зависит ни от какого типа. Мы не можем выразить идею одинаковой функциональной формы для множества типов, и должны явно связывать переменные и значения с определенным типом в момент, когда такое связывание может быть преждевременным. То, что данная функциональная форма одинакова для всех типов, можно выразить с помощью кванторов всеобщности. В частности, функцию идентификации можно выразить так: Код: plaintext В этом определении id а – это переменная типа, а all[a] предоставляет абстракцию для а, так что id – это идентификатор для всех типов. Чтобы применить функцию идентификации к аргументу определенного типа, мы должны сперва представить тип как параметр, а затем аргумент данного типа: Код: plaintext (Здесь используется соглашение, что параметр типа заключен в квадратные скобки, а типизированный аргумент – в круглые) Такие функции, как id, требующие параметр типа прежде, чем они могут быть применены к функциям некоторого типа, мы будем называть обобщенными функциями (generic functions). Id – это обобщенная функция идентификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2010, 04:55 |
|
||
|
Определение полиморфизма?
|
|||
|---|---|---|---|
|
#18+
автор полиморфизм - это средство решения задачи типизации. Состоит из классов функций, находящихся в отношении полиморфизма между собой (похоже, классы эквивалентности) и отображения, которое вхождению имени каждой функции в каждом выражени каждой программы ставит в соответствие одну из полиморфных функций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2010, 06:15 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36854048&tid=1343401]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 531ms |

| 0 / 0 |
