вторник, 26 января 2010 г.

10.01.2003 - 10.01.2003 Page 18

NO <контакт> 10 января, 00:33
Иван FXS:
>последовательности изменения всех БИТОВ
наверно все на уровне исходного кода т.е. стек/контекст-переменная-значение.

Вопрос по регламенту. (кхе-кхе) Говорят что при общении речь передает только очень небольшую часть общей информации, (пауза) вот все эти смайлики и прочий спам в форумах это неизбежное зло? (наливаю себе из графина, схожу со сцены, рассеянно уношу стакан, возвращаюсь) Прошу высказываться.

--------------------------------------------------------------------------------
DrDrew 2 Dr.NO 10 января, 00:40
Найдите у меня на мембране хотя бы три смайла на тысячу... я только многоточием пользуюсь... на моей клаве - ... \ - = и больше ни чего - воскл\вопр, т.с.зап, кругл\квадр скобки - отсутствует - и ничего - в ИИ я не тщусь \пока\, а по полит-форумам вошел в тройку самых-самых Так сказать - Лазерный Меч Лавразийской Империи, Золотое Перо Контр-Революции (8;))))

--------------------------------------------------------------------------------
smollett 10 января, 01:58
2NO <контакт >
>вот все эти смайлики и прочий спам в форумах это неизбежное зло

Обчем я извинюсь речь?
Кто тут Др.Зло?

--------------------------------------------------------------------------------
Егоров 10 января, 03:41
ну вот и переждали программерские всплески активности... :-)программирование - это вещь хорошая... нужная... только, как правильно кто-то отмечал, в качестве инструмента можно и спичечные коробки взять, главное, чтобы была идея, задача и методы...

Вернемся, парни, к обсуждению того, что же такое смысл? а?

--------------------------------------------------------------------------------
smollett 10 января, 06:09
>ну вот и переждали программерские всплески активности

И енто мы слышим от прикладника, технолога. ;))

>Вернемся, парни, к обсуждению того, что же такое смысл? а?

А в ответ тишина:)

Кстати начем мы остановились?

--------------------------------------------------------------------------------
smollett 10 января, 06:40
2Egorov

>еще один аргумент к модели эволюции знания... Когда природа реализовала смерть для биологических существ, то они обрели очень большое конкурентное преимущество перед мертвой природой......

У меня другая ассоциация возникла, я в игры компутерные играть люблю. Страрегии там разные стрелялки. Очень часто с первого раза фиг уровень/игру пройдешь. Но зато запоминаешь че где лежит и из-за какого угла какая зараза стреляет. Перезапустил игру и опа с этим знанием уровень прошел.
Типа я знания накапливаю а пацан на экране поколения сменяет.
Вывод - вся наша жисть игра.:)

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 06:40
> И енто мы слышим от прикладника, технолога. ;))

я просто вышел немножко из возраста, когда задача упирается в компилятор или схему реализации того или иного языка... детство это, на самом деле...

а остановились мы на том, что наши программиствующие братья по форуме пришли (неявно) к той же самом мысли - без формализации понятия "смысла " (мысли) практически невозожно поставить задачу в ИИ, которая была бы не математической, а "интеллектуальной "...

ждали также мы от Андрея Плахова рассказ об интеллектуальном агенте...

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 06:43
можно отдать порцию должного уважения Комбинатору и предположить то, как уже было сказано здесь, что элементарная мысль (как операция образования сымсла) - это какая-то комбинация имен в алфавите...

Мой вопрос: а как могла бы выглядеть эволюция в подобной системе?

--------------------------------------------------------------------------------
smollett 10 января, 06:56
Не понял смысла фразы:
"комбинация имен в алфавите... "

--------------------------------------------------------------------------------
smollett 10 января, 06:59
Имеется ввиду процесс комбинирования? или результат оного.
От этого зависит смысл понятия эволюции.

--------------------------------------------------------------------------------
Dr.2 2 Smollett, Бактерии - самые надежные носители информации? <Впорядке Си-Шарп-репараций> 10 января, 07:02
Все современные носители информации - от бумажных до электронной памяти - могут быть уничтожены или безвозвратно потеряны. Этот печальный факт побудил ученых искать новый тип хранения данных - внутри живого организма. В результате американские ученые разработали методику хранения и последующего считывания данных посредством их записи в геном бактерий. "Особенно важен вопрос сохранения жизненно важной информации в случае ядерной катастрофы, - пояснил один из авторов разработки Пак Чан Вон (Pak Chung Wong) из Тихоокеанской северо-западной национальной исследовательской лаборатории (штат Вашингтон). - Бактерии же обходятся недорого и достаточно стабильны, чтобы обеспечить хранение данных в течение длительных периодов времени ". Ученые перевели текст песни "It's a Small World " в код, основанный на четырех "буквах " - основаниях ДНК. Затем они создали искусственные нити ДНК, на которых были записаны различные фрагменты текста песни. Эта ДНК была внедрена в бактерии E. Coli (Escherichia coli, один из членов группы кишечных бактерий, индикатор фекального загрязнения) и Deinococcus radiodurans ( "устойчивая к излучению "). Последняя особенно славится своей способностью выживать в неблагоприятных условиях, поскольку может переносить высокие температуры, обезвоживание, а также ультрафиолетовое и ионизирующие излучения в дозах, на три порядка превосходящих смертельные для человека. Считается, что это самый жизнестойкий микроорганизм на нашей планете. Начало и конец каждого сообщения ученые снабдили специальными метками, которые не позволяют бактерии идентифицировать фрагмент ДНК как вирус и уничтожить его. Благодаря им информацию можно извлечь из ДНК даже отдаленных потомков первоначальной клетки спустя сотни "поколений ". В настоящее время колонии бактерий, в которых были записаны разные фрагменты текста, хранились отдельно, однако впоследствии ученые надеются научиться извлекать информацию из бактерий, обитающих в виде единой смешанной колонии. Бактерии Deinococcus способны также эффективно противостоять внешним мутагенным факторам и восстанавливать ДНК после спонтанных мутаций. Возможно, что гораздо большей опасностью для нового метода хранения данных, чем мутации, может стать лучшая приспособляемость к условиям среды одних бактерий, чем других, что может привести к утрате со временем отдельных блоков информации. Источник: по материалам журнала New Scientist.

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 07:03
наверное, криво сказал... есть алфавит... для простоты, пусть это будет коллекция всех известных имен (слов)... есть правило комбинирования... например, мысль - это тройка имен... Мама мыла раму... Конечно, среди всех комбинаций будут с полным отсутствием смысла... но это не главное... главное другое - эволюция в такой системе, что есть? ведь простое комбинирование не в состоянии дать какого-то "нового " результата, который бы потенциально не содержался в исходной системе...

--------------------------------------------------------------------------------
Егоров 2 DrDrew 10 января, 07:05
класс!... возможную потерю данных можно преодолеть с помощью Хемминга или любым другим способом избыточной записи...

--------------------------------------------------------------------------------
smollett 10 января, 07:13
2Dr.
>Бактерии - самые надежные носители информации?
Cool, я слыхал у человека дохрена "лишних генов ", может просто лично нам они не нужны, и со спидом мы не просто так справится не можем. :)

--------------------------------------------------------------------------------
smollett 10 января, 07:21
>который бы потенциально не содержался в исходной системе
Так это то на чем Кузника клинило, исходная система откуда взялась, откуда взялись правила комбинирования, кто сказал например что можно слова просто местами менять, можеь из них треугольник нужно строить.
Программеры вами презираемые обсуждали ведь в основном то как правила менять. Есть замкнутые системы а правила это внешняя среда. Я так думаю.

--------------------------------------------------------------------------------
Dr.2 Smolett and Egoroff 10 января, 07:33
Нутром чую... что-то в ИИ очень важное произойдет в ближайщие пять лет... не в смысле идей... тут разброд и шатания, а на уровне аппаратно-программной поддержки... меня бы вполне удовлетворила ЛИСП-машина за 5-6 тыс дол...
И я честно, готов рассуждать в терминах этой будущей железки... чистое мозголомство без просматривания реальных алгоритмов вызывает у меня четко условное зевание...
Смоллет - представь ИИ-отдел, где из 40 чел - 30 мужики в рассвете сил, из которых 12 - гуру типа Ям-Яра и Зенона, а 18 молодые гении и супер-программисты типа Андрея Плахова сейчас и Андрея Дрю\20-25лет-назад\... И я там был... И определений мысли наслушался на 100 лет вперед... Моя любимая пословица - Человек с Молотком в руках - видит весь мир в виде большого гвоздя... У меня мозги прожжены под лисп... ну никак ЯваС++ мне не годиться... и я не могу нормально выучить ничего нового...
Не понимаю как можно пользоваться циклами если есть рекурсия... Хочется верить что кто-то в Пентагоне думает также...

--------------------------------------------------------------------------------
smollett 10 января, 07:45
Да вот возникает вопрос о самой! внешней среде, я не помню как физики выкрутились, как то им помогло понятие иннерциальных систем отсчета.
Для эволюции необходимо целеустремление. Откель оно берется хоть убей. Вот по теории эволюции Дрна грубо говоря выживает сильнейший. А зачем? вот было к примеру 10 видов по 100 особей и живите себе так, так нет ведь в итоге имеем 4 по 200 и 4 по 50 зачем какая разница. Вон в австралии до сих пор сумчатые и нормально им а вдругих местах эти как их там плацентарные всех кенгуру сожрали. Откуда ваще берется стремление выжить.
Техногенез ваш на чем строится, на стремлении к деньгам, власти, а это стремление откуда взялось? Тоже результат эволюции на определенном этапе. Тоесть было эволюционное стремление к стремлению к богатству.
А вы говорите велосипед.

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 07:48
> Программеры вами презираемые

чего уж "презираемые "... сам программер... просто любой программист в мое время начинал с двух вещей - с шелла для ОС и графического редактора... сам таким был... :-))) просто проблема ИИ не в языке программирования, это уж точно...

> как правила менять

да хоть заменяйся... я уже говорил пятьсот постов назад, что есть тройка: алфавит, правила, модель... менять надо тройку, а не правила... пользуясь любимой ДрДрю'чной поговоркой: можно вместо молотка взять микроскоп, а придется ведь все-равно гвозди забивать :-)))

--------------------------------------------------------------------------------
Егоров 2 DrDrew 10 января, 07:55
> чистое мозголомство без просматривания
> реальных алгоритмов вызывает у меня четко
> условное зевание...

кто бы спорил... над реальными алгоритмами и работаем... про себя я уже говорил, меня интересует семантический редуктор в настоящий момент... мои постинги преломлены через эту задачу...
какие задачи (физиологические, нравственные, коммуникативные) решают другие братья по форуму, я не знаю, но раз пишут что-то, значит - решают... по факту... :-)))

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 07:58
можно ли понять Вас таким образом: нечто, которое не будет иметь системы детектирования и системы воздействия на среду своего существования В ПРИНЦИПЕ не может быть интеллектуальной?

--------------------------------------------------------------------------------
smollett 10 января, 07:58
>Смоллет - представь ИИ-отдел, где из 40 чел - 30 мужики в рассвете сил, из которых 12 - гуру типа Ям-Яра и Зенона, а 18 молодые гении и супер-программисты типа Андрея Плахова сейчас и Андрея Дрю\20-25лет-назад\... И я там был...

Завидую ей-богу, я даже не спрашиваю чем закончилось.
1.Что на Ваш взгляд было сделано наиболее ценного (даже если как побочный продукт)
2.Сколько такая контора стоит в год по нонешним расценкам?(посчитал сам страшно стало, а сколько нужно для счастья в ценах 70х 150р.+молодость - 300р.+ уважение) :)

Правда завидую (перечитал месагу чет ехидно звучит на самом деле не так).

--------------------------------------------------------------------------------
smollett 10 января, 08:15
>можно ли понять Вас таким образом: нечто, которое не будет иметь системы детектирования и системы воздействия на среду своего существования В ПРИНЦИПЕ не может быть интеллектуальной?

Скорее только первое- детектирования.

Я когда на Вашем сайте ченить читаю, поражаюсь четкости мысли, а на форуме обсуждение с Вами на мой взгляд носит слегка сумбурный характер. Создается впечатление что у Вас под рукой есть анализатор ассоциативных конструкций
:) шутка.

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 08:23
> анализатор ассоциативных конструкций
ага... у меня задача на форуме противоположная... :-) хотелось бы поменьше говорить, побольше послушать... но видимо она слишком утопическая... надо завязывать и валить отсюда... (мы уже наши граничные условия выработали все...) но, конечно, открыть новый форум по ИИ... конечно, на Мембране...

--------------------------------------------------------------------------------
smollett 10 января, 08:31
>ага... у меня задача на форуме противоположная... :-) хотелось бы поменьше говорить, побольше послушать... но видимо она слишком утопическая...

Че противоположная я это и имел ввиду.

>но, конечно, открыть новый форум по ИИ... конечно, на Мембране...

А смысл? народ будет все тот-же с теми же мозгами и идеями.(проц на 90%)

--------------------------------------------------------------------------------
Егоров 2 smollett 10 января, 08:39
да, Вы правы... тогда нужно просто завязывать... прощайте! ушел...
Удачи, парни!

--------------------------------------------------------------------------------
DrDrew 2 Egorov 10 января, 08:51
в этом есть смысл.. так как врожденная\остаточная научная порядочность не дает вам полностью использовать возможности мембраны для собственных целях... если у вас есть фотка с высоким лбом и темно-синем костюме в бел.полоску с красным галстуком - не зевайте - выход комбинатора на большую дорогу даст ему харошую фору... который умный человек сумеет превратить в деньги... меня здесь все время смущало отсутствие прагм.интереса четко выраженного и разделяемого с соучастниками... а ИИ любит деньги...
Кстати о нашем Отделе - 40 столов, 80 шкафов с книгами, 300-400 кв.метров, 80 часов в неделю на ЕС-1060 с 23-00 до 8 утра... и возм работать 2 дня из 5 дома\библиотеке... я практически до защиты работал за 170 р\мес. вместо возм 300-350

--------------------------------------------------------------------------------
smollett 10 января, 08:52
2Егоров
>прощайте! ушел...

Зря вы это, опять сумбур.

>(мы уже наши граничные условия выработали все...)

От тюрьмы да от сумы...

В любом случае форум с вышим уходом много потеряет. Спасибо за вклад от меня лично!

--------------------------------------------------------------------------------
Иван FXS 10 января, 11:15
Егоров 2 smollett 10 января, 06:40
я просто вышел немножко из возраста, когда задача упирается в компилятор или схему реализации того или иного языка...
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
Расскажите, пожалуйста, во что у Вас упираются ЗАДАЧИ? (То есть именно РЕАЛЬНЫЕ задачи, а не прекраснодушные рассуждения о "смысле "!)

======================================== =
... без формализации понятия "смысла " (мысли) практически невозожно поставить задачу в ИИ, которая была бы не математической, а "интеллектуальной "
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
1. "смысл " и "мысль " - это разве одно и то же?
2. что такое "формализация понятия "? Какие действия я долщен произвести, что предъявить, чтобы Вы убедились (к примеру), что у меня есть эта самая - "формализация понятия смысла "?
3. Какие преимущества нам дает "формализация понятий "? Какие у нас появляются после этого преимущества перед непугаными идиотами, живущими себе с "неформализованными понятиями "? (Заметьте, что есть еще такие - особо счастливые - придурки, которые живут вообще БЕЗ "понятий "!)
НП, Иван FXS

--------------------------------------------------------------------------------
Иван FXS 10 января, 11:29
NO 10 января, 00:33
>последовательности изменения всех БИТОВ
наверно все на уровне исходного кода т.е. стек/контекст-переменная-значение.
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
У Вас есть какая-нибудь гипотеза: как могут в логе ОБОЗНАЧАТЬСЯ переменная и контекст?
Да кстати, и стек - тоже! Как его состояние ФИКСИРОВАТЬ???

========================================
Говорят что при общении речь передает только очень небольшую часть общей информации, (пауза) вот все эти смайлики ... это неизбежное зло?
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
Элементарно, Ватсон: если речь (=текст) "передает только очень небольшую часть общей информации ", то отсюда как раз и следует, что без смайликов - ну никак не обойтись!!! ;-))
НП, Иван FXS

--------------------------------------------------------------------------------
ZeNoN 10 января, 13:11
Нате вам синтаксис самомодифицируемого языка.

enum { style_apple, style_cherry, style_tomato };
enum { style_int, style_char, style_charptr };

int func(int x, int y)
$ s1 = style_apple, style_cherry, style_tomato;
$ s2 = 1..5;
{
int z = x + y;
int t = x - y;
area s1
mutation style_apple:
{
char *s = "apple ";
}
mutation style_cherry
{
char *s = "cherry ";
}
area s1 mutation style_tomato
{
char *s = "pomidorka ";
printf(s);
}

printf( "%s = %d ", s, z);

area s2 mutation 3
{
printf( "3 ");
}
}

Каждый блок area

--------------------------------------------------------------------------------
ZeNoN 10 января, 13:15
Нате вам синтаксис самомодифицируемого языка.

enum { style_apple, style_cherry, style_tomato };
enum { style_int, style_char, style_charptr };

int func(int x, int y)
$ s1 = style_apple, style_cherry, style_tomato;
$ s2 = 1..5;
{
int z = x + y;
int t = x - y;
area s1
mutation style_apple:
{
char *s = "apple ";
}
mutation style_cherry
{
char *s = "cherry ";
}
mutation style_tomato
{
char *s = "pomidorka ";
printf(s);
}

printf( "%s = %d ", s, z);

area s2
mutation 3
{
printf( "3 ");
}
}

Каждый блок area представляет участок кода, который можно заменить другим кодом. Компилятору перечисляются все возможные варианты кода в блоках mutation. При старте программы используется первый вариант в каждом area. При обычном вызове функции

f(x, y)

исполняется функция, состоящая из текущего кода. Изменение самой функции выполняется синтаксисом, который выбирает вариант-мутацию, перечисляя, какой вариант кода должен быть применен:

f $ s1 = style_cherry

или

f $ s1 = style_cherry, s2 = 3

--------------------------------------------------------------------------------
ZeNoN 10 января, 13:16
sorry за dup. первый пост неправильный

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 13:36
ZeNoN
Прикольно и, кажется, Вы понимаете, о чем я веду речь. Но (по-моему) такой синтаксис в чем-то повторяет ошибку HTML.

Ошибка HMTL (исправляемая в XML): и данные, и то, как они интерпретируются, всё хранится в одном месте и перемешаны (и то, и то - тэги).

Несовершенство данного синтаксиса: функция слишком жестко задает, как она может меняться, и описывает это внутри себя.

Я бы предпочел скорее что-то вроде этого:

int func( int x )
{
int y mutable( name= "addition " ) = 0;
int z = 0;
mutable( name= "calculate addition " ) uses y changes z;
mutable( name= "debug " ) changes stdout;
return x + y + z;
}

func = Insert( func, "debug ", { printf( "%y = %d z = %d\n ", y, z ); } );

int EvalAdd( int x, int y )
{
return y*y / 3;
}
func = Insert( func, "calculate addition ", { z = EvalAdd(x, y); } );
// при этом EvalAdd тоже может мутировать...

func = Remove( func, "debug " );

Function func2 = Clone( func );
foreach( mutable int i in func2 )
{
i = random(10) + 1;
}

--------------------------------------------------------------------------------
ZeNoN <2 Андрей Finder Плахов> 10 января, 13:50
Да, так кое в чем удобнее. Единственно, что неприятно - то, что при повторной вставке того же блока кода придется его копи-пастить.
Ладно, это - вообще-то развлекаловка. Синтаксис написать нетрудно, гораздо труднее добиться, чтобы что-то подобное в хоть каком-нибудь синтаксисе появилось например в .Net+ :)

--------------------------------------------------------------------------------
Иван FXS 10 января, 13:58
ZeNoN 10 января, 13:15
Каждый блок area представляет участок кода, который можно заменить другим кодом. ...
Изменение самой функции выполняется синтаксисом ...
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
Объясните чайнику:
1. "можно заменить " - это КОМУ можно, кто будет заменять "участок кода ... другим кодом "?
2. Кто такой Маэстро Синтаксис, который филигранно изменяет у Вас функции?

И - абстрактный вопрос к полиглотам в программировании:
существуют ли такие языки, в которых имеется ОПЕРАЦИЯ (VarName) извлечения ИМЕНИ переменной?
То есть:
Dim abc as Double
...
abc = 3.1415
...
Output VarName(abc) & "= " & abc

- получим в "листинге ":
abc=3.1415
???
НП, Иван FXS

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 13:58
ZeNoN
>гораздо труднее добиться, чтобы что-то
>подобное в хоть каком-нибудь синтаксисе
>появилось например в .Net+

Способ есть. Надо обсудить, что бы мы хотели от данного языка, составить как можно более полный концепт-документ на английском (обсудив его на каком-нибудь чуть менее "развлекательном " форуме или письмами), после чего активно популяризировать на научных конференциях и программистской среде. Если этот инструмент действительно окажется нужным, идею поддержат. Не успеем и охнуть, как увидим появление какого-нибудь F# :))

Наивный оптимизм молодости, скажете. Но ведь... если Деда Мороза не существует, откуда же все эти подарки? :)))

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 14:09
2 ZeNoN
>Единственно, что неприятно - то, что при
>повторной вставке того же блока кода
>придется его копи-пастить

Это я как раз пытался показать возможное "удобство синтаксиса " - определение функций прямо в вызове функтора. Но забыл показать главный способ юзания, который примерно вот какой:

int f1( int x, int y )
{...}

// здесь f1 могла успеть мутировать...

func = Insert( func, "calculate addition ", f1 ); - вставляет код f1, то есть, меняя дальше f1, мы уже не можем поменять поведение func.

func = Insert( func, "calculate addition ", { z = f1(x, y); } ); - вставляет вызов f1, то есть, меняя f1, мы поменяем и поведение func.

--------------------------------------------------------------------------------
ZeNoN <2 Иван> 10 января, 14:18
1. Заменять будет сама программа на run-time путем простого копирования заранее приготовленных блоков кода на заранее известное место. Задача компилятора - убедиться в синтаксической корректности произвольной комбинации блоков кода и приготовить правильные блоки для копирования во время run-time.

2. Программист. Я не веду речь об AI, а пока лишь о синтаксисе, который делает самомодификацию кода более удобной, чем сейчас.

3. Такая операция есть в C++, обозначается как #, например:

int myVar;
printf(#myVar "= %d ", myVar);

--------------------------------------------------------------------------------
ZeNoN <2 Андрей Finder Плахов> 10 января, 14:28
> Наивный оптимизм молодости, скажете. <

Молодости, говорите? А нотки высокомерия проскальзывают иногда более свойственные старости ;-)

Нет, вставлять код функции - чревато, так как не совсем понятно, куда при этом должны деваться ее параметры. Надо бы тогда иметь возможность именовать произвольный блок кода {...} например таким синтаксисом:

{
...
} as "myBlock1 "

--------------------------------------------------------------------------------
ZeNoN <2 Андрей Finder Плахов> 10 января, 14:30
Или вовсе без кавычек, ни к чему перегружать синтаксис лишними значками - потом их нам же придется набивать ;)

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 14:41
>А нотки высокомерия проскальзывают
>иногда более свойственные старости ;-)

:'-(
Даа... Все мы не молодеем... Постараюсь
исправиться. Честно-честно. Вряд ли получится, правда.

>Нет, вставлять код функции - чревато

Верно, я об этом думал. Параметрами функции будут параметры исходной функции + то, что указано после uses. Выходное значение(или несколько значений) функции будет помещено в changes. Для этого и нужен синтаксис "mutable blahblah uses ... changes ... ", чтобы проверять еще на этапе компиляции, можем ли мы вообще сделать такой Insert.

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 14:47
кстати, для этого нужно будет уметь писать и так:

(int,float) ReturnMore( int x )
{
float a; int b;
...
return b, a;
}

что само по себе тоже очень удобно

--------------------------------------------------------------------------------
Иван FXS 10 января, 14:50
2 ZeNoN
1. "произвольный блок кода ", о котором Вы говорите, - должен ведь быть написан "ручками " программистом?
2. почему нельзя просто в первой строчке процедуры, содержащей "коллекцию участков кода " поставить оператор
On iArea Goto metka_Area1, metka_Area3, ... , metka_Area99
???
НП, Иван FXS

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 14:52
2 Иван FXS
>почему нельзя просто в первой строчке
>процедуры, содержащей "коллекцию
>участков кода " поставить оператор
>On iArea Goto metka_Area1,
>metka_Area3, ... , metka_Area99

Угу, я примерно за это и критиковал такой синтаксис.

--------------------------------------------------------------------------------
NO <контакт> 10 января, 14:54
F#.NET уже есть, это какой-то функциональный язык, так что лямбда которую вы вот-вот изобретете наверняка там есть.

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 15:10
2No
А где почитать? На gotdotnet о нем есть? Я ни о чем подобном не слышал, и верится слабо, т.к. байт-код, reflection и средства для работы с ним в CLR не предназначены для разметки участков байт-кода. Ну просто нет такой возможности.
И что такое "лямбда "?

2ALL
Сейчас у нас лимит траффика кончится (мембрана почему-то считается за зарубежный траффик), так что если есть какие-то вопросы ко мне или к Nemo, или хочется продолжать дискуссию с нами, можно пользоваться эл. почтой, адреса соответственно см. выше

--------------------------------------------------------------------------------
ZeNoN <2 Андрей Finder Плахов> 10 января, 15:21
Насчет changes и uses мне, честно говоря, это показалось лишними бантиками. Компилятор уже на этапе компиляции знает все возможные варианты кода, которые могут быть подставлены на данное место. Так что он может их подставить по очереди, проверить, что в результате получается правильный синтаксис и сгенерировать по одному блоку кода на каждый случай. Тот факт, что заменяется именно блок {...} позволит избежать замены некорректных кусков, например конец одного блока и начало второго.

Посмотрите, что получится из вашего примера, если убрать все лишнее:

int func( int x )
{
int y
mutable addition;
int z = 0;
mutable calculate_addition;
mutable debug;
return x + y + z;
}

{ printf( "%y = %d z = %d\n ", y, z ); }
as debug1;

...
func = Insert( func, debug, debug1 );
...
func = Insert( func, calculate_addition, { z = EvalAdd(x, y); } );
...
func = Remove( func, debug );
...
func2 = Clone(func);
func2(x,y);

--------------------------------------------------------------------------------
ZeNoN <2 Иван> 10 января, 15:26
1. да, конечно
2. вполне можно. так же как можно свести все ООП к ПОП. возможность свести одно к другому еще не означает равенство по таким параметрам как быстрота разработки и быстродействие.

--------------------------------------------------------------------------------
Андрей Finder Плахов 10 января, 15:31
>Компилятор уже на этапе компиляции знает
>все возможные варианты кода, которые
>могут быть подставлены на данное место

Ни в коем случае! Идея именно в том, что сюда может быть подставлен код, содержащийся в произвольном "объекте-функции ", в том числе сгенерированном at runtime, извне оператором, загруженный из аналога dll и т.п.
Тем более это касается параметров, которые
some_type x mutable(name) = some_default;

--------------------------------------------------------------------------------
Иван FXS 10 января, 15:37
2 ZeNoN
Такая операция есть в C++, обозначается как #
" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "
А если ее, эту операцию, применить ВНУТРИ процедуры к параметру вызова этой процедуры, - какое имя она вернет?
НП, Иван FXS

Комментариев нет:

Отправить комментарий