Здравствуйте, DarkGray, Вы писали:
S>>И зачем эти ориентиры, если ты их не упомянул? Так, голову подзаморочить?
DG>это если от абстракций захочется к формулам перейти
нет, не захочется
S>>Что может быть полезного в несущественности таких свойств как делимость, непрерывность, интегрируемость, длина?
DG>несущественными они становятся в конкретных задачах (или на классах задач). DG>например, если в конкретной задаче объекты "бесконечно"-резиновые, то свойство длины конкретного объекта теряет смысл.
Может его просто не рассматривать? DG>делимость несущественна на задачах, где точки отсчета берутся произвольно, но существенна в криптографии,
DG>конечное отсутствие непрерывности несущественно если есть возможность непрерывное пространство отображать в кусочно-непрерывное и обратно.
О каком пространстве речь? О метрическом векторном? А разве оно может иметь разрывы?
DG>для интегрируемости сейчас сходу не приведу изоморфизмов, которые позволяют его менять.
композиция с функцией Дирихле
DG>"объявление" какого-то свойства для класса задач несущественным, позволяет рассматривать только один общий вариант. DG>если есть возможность частично непрерывное пространство отобразить на непрерывное, то значит можно решить только вариант непрерывного пространства, а затем полученное решение отобразить на частично-непрерывное пространство.
Что ты подразумеваешь под непрерывным пространством?
Здравствуйте, DarkGray, Вы писали:
S>>Можно скрыть дженерики за недженериковым фасадом так, что алгоритм будет обобщенный, а способ к нему обратиться — только для фиксированных типов.
DG>в ряде случаев так можно, но тогда нельзя будет написать обобщенную версию алгоритма, который использует данный алгоритм.
DG>при разработке удобнее же считать, что, например, есть обобщенный алгоритм Sum<T>, Add<T> и т.д., с возможность проверки на этапе компиляции, что Sum<MyVector> мы уже использовали, но вот MyVector + MyVector еще не определили.
Ну, тут тебе с дотнетом и разворачиванием дженериков в рантайме не повезло.
Зато это позволяет делать трюки с типами, которые в C++ невозможны в рантайме.
S>>Что может быть полезного в несущественности таких свойств как делимость, непрерывность, интегрируемость, длина? Ты отменишь все теории, которые оперируют несущественными свойствами?
DG>Двойственные свойства хороши тем: DG>1.что если они полезны, то их всегда можно создать, если они не полезны, то от них всегда можно избавиться.
Сомнительная полезность
DG>2. если для задачи З1 свойство полезно, а для задачи З2 вредно, то для задачи З1 свойство можно создать, а для задачи З2 его можно убрать.
Это не то же самое, что пункт 1?
DG>3. также если двойственность проявляется на всем множестве, то это позволяет рассматривать при необходимости только одну сторону медали. например, для любого кода можно считать, что он декларативный, или для любого полиморфизма можно считать что он является "грязным" параметрическим и т.д.
Чушь. См. определения.
DG>и это переводит к вопросам: DG>в чем положительные стороны(в каких задачах это помогает) parametric, ad-hoc, subtype полиморфизма? в каких задачах они мешают?
Нет, ты ошибаешься. Эти вопросы они сами по себе и ответы на них тривиальны, можно их увидеть в самих определениях и комментариях к ним. А твоя двойственность — сама по себе. И жил я до нее и буду дальше жить, и вопросы ставил, и отвечал на них. Уйти от полиморфизма я могу без твоей двойственности. А как подменить ad-hoc параметрическим, ты мне так глаза и не раскрыл. Да я и не надеялся.
S>Сейчас все еще хуже. У тебя проблема с пониманием определений. Мультифункция это частный случай функции, который отображает подмножество в множество подмножеств, а не во множество.
Здравствуйте, DarkGray, Вы писали:
S>>а причем тут морфизм переопределения символов?
DG>к тому что человек такое очень плохо воспринимает, и это сейчас в треде демонстрирует samius.
DG>я уже давно явно отметил, что: DG>термин "переходит" в данном случае используется, как несуществующий термин "относит", который означает, что между множествами A и B задано отношение, и что рассматривается направление отношения из A в B (а не обратное).
У отношения появилось направление? Расскажи подробнее.
DG>и также заметил, что если такое переопределение слов для тебя трудно, то скажи каким одним словом это обозначить.
Я ответил, что для того что бы подобрать слово, нужно понять, о чем ты. А я не понимаю.
Здравствуйте, DarkGray, Вы писали:
DM>>МТ и др. автоматы — тоже языки, со своими правилами составления программ (грамматикой) и описанным механизмом работы (семантикой). Во что более простое их преобразовывать будешь?
DG>а зачем это надо?
Да вот выше ты писал: DG>корректнее это утверждение формулируется как: DG>язык является языком — если есть алгоритм исполнения или/и алгоритм трансляции в более простой набор примитивов.
Это равносильно утверждению, что для любого языка есть более простой набор примитивов. Если же для каких-то это вдруг не так, то опять твое определение не годится.
DM>>Ну вот, а говорил "как минимум, два набора".
DG>как минимум есть еще процессор, а на уровне процессора никаких типов вида unicode-строка или ассоциативный массив — нет.
А еще есть в Киеве дядька. Система "типов" процессора не входит в определение языков вроде питона и руби. В качестве исполнителя программы можно взять не процессор, а группу красивых девушек. Имея спецификацию языка, они все отлично выполнят, никакой процессор и его типы не понадобятся.
DM>Да вот выше ты писал: DG>>корректнее это утверждение формулируется как: DG>>язык является языком — если есть алгоритм исполнения или/и алгоритм трансляции в более простой набор примитивов.
DM>Это равносильно утверждению, что для любого языка есть более простой набор примитивов. Если же для каких-то это вдруг не так, то опять твое определение не годится.
а логическая операция "или" там написана просто так? напомню, что для верности "или" достаточно верности только одной части утверждения.
DM>>>Ну вот, а говорил "как минимум, два набора".
DG>>как минимум есть еще процессор, а на уровне процессора никаких типов вида unicode-строка или ассоциативный массив — нет.
DM>А еще есть в Киеве дядька. Система "типов" процессора не входит в определение языков вроде питона и руби. В качестве исполнителя программы можно взять не процессор, а группу красивых девушек. Имея спецификацию языка, они все отлично выполнят, никакой процессор и его типы не понадобятся.
ты одного исполнителя "процессор" заменил на другой исполнителя "группа девушек".
эта "группа девушек" тоже обладает знанием каких-то своих типов: в частности: число, последовательность и т.д.
вот если бы ты сказал, что для исполнения питона достаточно "группы обезьян" тогда можно было бы поговорить о том, что нет системы типов уровня исполнения.
вот представь, что ты взял произвольную девушку и заставил ее исполнять питон.
скорее всего для этого понадобится инструкция.
а в этой инструкции ты будешь писать:
возьмите следующую строку программы-питона, если там написано x = .., выполните выражение, а результат значения запишите на листке бумаги под именем x.
в данном случае система типов исполнителя: последовательность + строка + ассоциативный массив. также он поддерживает операции: перейти на следующий элемент последовательности, поместить элемент в ассоциативный массив, найти элемент и т.д.
зачем это всё надо?
это необходимо если язык выбирается, изучается, разрабатывается и т.д. не просто для "сферического коня в вакууме", а и для того, чтобы исполнение программы было максимально эффективным.
в частности, например, есть интересный вопрос: какие языки лучше подходят для исполнения на js?
S>>набор пар X как раз и определяет какой элемент из множества S переходит в какой элемент множества S-T (и наоборот).
S>>нет.
DG>перепишем это как: DG>каждая пара из набора пар X — как раз и определяет какой элемент из множества S соотносится с каким элементом множества S-T
DG>так верно.
Нет. "Какой" подразумевает один. А может быть и не один элемент, который соотноситя с неким элементом из S-T.
DG>если не согласен, тогда запиши своим русским языком, что задает каждая пара (a, b).
Пара (a,b) указывает что элементы a и b состоят в отношении.
S>> У отношения появилось направление? Расскажи подробнее
DG>можно брать пары (a,b), а можно (b, a) — если не нравится термин "направление", опять же предложи свой
DG>
DG>a binary relation on a set A is a collection of ordered pairs of elements of A.
Там же дальше разжевано, что такое ordered pair. Это кортеж, не более чем. А у кортежа нет направления. То что в кортеже какой-то элемент первый — ну так это просто недостатки человеческой психики: прикладывать все что можно к линейке.
Главное — не путать, на каком месте в кортеже стоят элементы одного множества, на каком другого.
DG>>если не согласен, тогда запиши своим русским языком, что задает каждая пара (a, b). S>Пара (a,b) указывает что элементы a и b состоят в отношении.
а так можно?
Пара (a,b) указывает что элементы a и b соотносятся с друг другом.
S>>> У отношения появилось направление? Расскажи подробнее
DG>>можно брать пары (a,b), а можно (b, a) — если не нравится термин "направление", опять же предложи свой
DG>>
DG>>a binary relation on a set A is a collection of ordered pairs of elements of A.
S>Там же дальше разжевано, что такое ordered pair. Это кортеж, не более чем. А у кортежа нет направления. То что в кортеже какой-то элемент первый — ну так это просто недостатки человеческой психики: прикладывать все что можно к линейке.
у отношения лево и право есть?
слева на право и справа на лево — это разные направления или что?
Здравствуйте, DarkGray, Вы писали:
DG>(для X ((есть алгоритм исполнения) || (есть алгоритм трансляции в более простой набор примитивов) )) -> X является языком
Да, я там первую часть фразы пропустил по невнимательности, сорри. С обоими частями мне определение уже нравится.
DG>>перепишем это как: DG>>каждая пара из набора пар X — как раз и определяет какой элемент из множества S соотносится с каким элементом множества S-T
DG>>так верно. S>Нет. "Какой" подразумевает один.
каждая пара делает утверждение только про один элемент слева и про один элемент справа
это и написано.
Здравствуйте, DarkGray, Вы писали:
DM>>А еще есть в Киеве дядька. Система "типов" процессора не входит в определение языков вроде питона и руби. В качестве исполнителя программы можно взять не процессор, а группу красивых девушек. Имея спецификацию языка, они все отлично выполнят, никакой процессор и его типы не понадобятся.
DG>ты одного исполнителя "процессор" заменил на другой исполнителя "группа девушек". DG>эта "группа девушек" тоже обладает знанием каких-то своих типов: в частности: число, последовательность и т.д.
Фишка в том, что если действительно можно так просто поменять исполнителя и его систему типов, значит в определении языка они не зафиксированы, и в определение языка тот второй набор типов уже не входит, вот и все. Как не входят в язык ни уравнения Максвелла и Шредингера, работающие в процессоре, ни родной язык тех девушек.
Здравствуйте, DarkGray, Вы писали:
S>>Нет. "Какой" подразумевает один.
DG>пруфлинк или это твои тараканы.
Можешь считать это моими тараканами, но у меня есть повод считать что я более требователен к языку и выражениям, чем ты.
S>>Пара (a,b) указывает что элементы a и b состоят в отношении.
DG>а так можно? DG>Пара (a,b) указывает что элементы a и b соотносятся с друг другом.
разрешаю
S>>Там же дальше разжевано, что такое ordered pair. Это кортеж, не более чем. А у кортежа нет направления. То что в кортеже какой-то элемент первый — ну так это просто недостатки человеческой психики: прикладывать все что можно к линейке.
DG>у отношения лево и право есть?
Нет, конечно. Просто в форме записи "x is R-related to y" (xRy) x находится слева. Если ты это не напишешь, а произнесешь, то никакого лева уже не будет.
DG>слева на право и справа на лево — это разные направления или что?
Нет никаких направлений
DM>Фишка в том, что если действительно можно так просто поменять исполнителя и его систему типов, значит в определении языка они не зафиксированы, и в определение языка тот второй набор типов уже не входит, вот и все.
так речь же не о том, что входит в язык, а какие требования ЯП явно(или не явно) выдвигает к системе исполнения для своего эффективного исполнения.
большинство современных языков требуют типы:
число (нескольких видов), последовательность, стэк
в ряде случаев:
ассоциативный массив, виртуальный объект, bool, строка, массив и т.д.
требования чисто-функционального языка можно урезать до стэка и списка (или множества)
DG>>у отношения лево и право есть? S>Нет, конечно. Просто в форме записи "x is R-related to y" (xRy) x находится слева. Если ты это не напишешь, а произнесешь, то никакого лева уже не будет.
т.е. математики ничего не понимают, когда про отношение говорят?
(also called left-unique)
also called right-unique[1] or right-definite
left-total[1]: for all x in X there