OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 19 Июнь, 2025 21:17

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9  След.
Автор Сообщение
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 11:27 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Info21 писал(а):
Geniepro писал(а):
... В Обероне традиционно на всё накладываются умеренные рамки -- можно делать всё что угодно, но в узких рамках, определённых опытом и привычками Вирта...
Geniepro, лично у меня к вам была некая симпатия, основанная на вашей юности и сопутствующей живости. Но вы сами -- посредством постоянной самоуверенной (с учетом явно недостаточной образованности можно и более сильный эпитет тут употребить) лжи с переходом на личности то в отношении "оберонщиков", то Вирта -- упорно опускаете свою репутацию.

Хм, и где Вы тут ложь усмотрели? Ведь с обероном вечно во всём используется фордовский прицип "Какого угодно цвета, при условии что это будет чёрный"...
С теми же даже общепринятыми тулбарами, которые предлагается заменять на плавающие окна с картинками-ссылками. А всё лишь потому, что в оберон-сообществе так и не удосужился никто сделать нормальный неглючащий компонент для тулбара...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 12:11 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Если я правильно понял, то замыканием обычная локальная паскалевская процедура стала бы в том случае, если ее можно передать параметром:
Код:
PROCEDURE DoSomething;
  PROCEDURE clsSome(i:CollectionItems);
  BEGIN     ...
  END
BEGIN
  Collection.ForEach(clsSome);
END;

Однако вопрос, стоит ли за это биться, лично для меня остается открытым.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 12:23 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Axcel писал(а):
Однако вопрос, стоит ли за это биться, лично для меня остается открытым.

:shock: Да нету тут никакого вопроса -- если Вам это не нужно, то Вам за это и биться не нужно!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 12:23 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Geniepro писал(а):
Axcel писал(а):
Однако вопрос, стоит ли за это биться, лично для меня остается открытым.

:shock: Да нету тут никакого вопроса -- если Вам это не нужно, то Вам за это и биться не нужно!


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 13:02 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2461
Откуда: Россия, Томск
Axcel писал(а):
Если я правильно понял, то замыканием обычная локальная паскалевская процедура стала бы в том случае, если ее можно передать параметром... Однако вопрос, стоит ли за это биться, лично для меня остается открытым.
С точки зрения Оберона/КП, замыкания - это безымянные объекты с единственным методом и полуавтоматической инициализацией.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 13:44 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Из обсуждения я понял, что closures в обероне легко конструируются штатными средствами. В некоторых других языках для упрощения записи введена прямая поддержка closures.

Отсюда вывод - надо оперировать не тайным словом "closures", а его смыслом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 14:00 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Иван Кузьмицкий писал(а):
Из обсуждения я понял, что closures в обероне легко конструируются штатными средствами. В некоторых других языках для упрощения записи введена прямая поддержка closures.

Отсюда вывод - надо оперировать не тайным словом "closures", а его смыслом.
Именно так.
На Обероне "замыкание" можно сделать руками, причём без потери эффективности.

Если же мы непременно хотим, чтобы "всё как у людей" и чтобы "штаны со стразами", тогда нужна конструкция, позволяющая передавать вложенные процедуры в качестве параметров (так и было раньше в отдельных реализациях Паскаля). Для этого требуется:
1) автоматически передавать (вместе с адресом вложенной процедуры) FP (frame pointer) охватывающей процедуры (немного похоже на неявную передачу дескриптора записи или открытого массива);
2) в целях сохранения type safety запретить присвоение (адреса) процедуры процедурным переменным (т.е. сделать несовместимым по присваиванию с любыми переменными).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 14:42 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Владимир Лось писал(а):
TAU писал(а):
Обыкновенное хамство

Не понял, а что среди нас есть "афроамериканцы"? Тоды - звыняйте! ;о)
Афроамериканцев нет, только вот...

В google посылать меня не надо, я им пользовался в Силиконовой Долине, когда советчики, скорее всего, о нем еще ничего не слыхали.
И прочесть прочел то, что находится.

Достаточно мутные там были пояснения. Отсылать к ним, когда просят объяснить по-человеческу - невежливо. А тем более - к "fucking manual", считаю это просто хамством.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 15:06 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1437
Axcel писал(а):
Если я правильно понял, то замыканием обычная локальная паскалевская процедура стала бы в том случае, если ее можно передать параметром:

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 16:38 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Trurl писал(а):
Кстати, в паскале локальные процедуры можно было передавать параметрами.
В виртовском паскале? Здесь -- http://www.fh-jena.de/~kleine/history/l ... Report.pdf -- вообще нет процедурных переменных. Ну и в Delphi и Free Pascal локальные процедуры нельзя передавать параметрами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 18:20 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1437
PGR писал(а):
Здесь -- http://www.fh-jena.de/~kleine/history/l ... Report.pdf -- вообще нет процедурных переменных.

Процедурных переменных нет, а процедурные параметры есть.
Цитата:
The parameters are either value-, variable-, procedure-, or function parameters


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 10 Декабрь, 2008 22:44 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Geniepro писал(а):
Илья Ермаков писал(а):
Угу. А учитывая, что некий объект из проблемной области на Хаскеле может быть смоделирован с помощью функции, то можно прийти к выводу, что наш Geniepro - тоже функция. Разве нет?

Да все мы в Матрице живём... :lol:

Кто как... :-) У меня тоже вот слева кактус растёт, а справа пальма, но я же не ем первый, и не курю вторую :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 16:28 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Владимир Лось писал(а):
Ну... - и – ЧТО? Мне что вручную теперь:

Лентяй: "А вы что, за меня ещё и есть будете?".
Двое из ларца: "Ага".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 11 Декабрь, 2008 23:02 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Сергей Губанов писал(а):
Лентяй

Вы даже себе и близко представить не можете уровень величины показателя степени размера моей ЛЕНИ !... :o
ЗЫ к тому же она ещё и раньше нас родилАсь... :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 10:27 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Trurl писал(а):
Кстати, в паскале локальные процедуры можно было передавать параметрами. Это, похоже, самое полезное применение замыканий, для которого замыкания-то и не нужны.
Интересно, как именно это было реализовано.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 13:26 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Регистр BP передавался, и от него отсчитывались смещения локальных переменных, которые лежат в стеке. Всё просто было. Я только не понял, почему убрали потом...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 16:07 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Alexey_Donskoy писал(а):
... Всё просто было. Я только не понял, почему убрали потом...
Просто? Как goto? 8)

А я довел бы логику этого убирания до конца и убрал бы локальные процедуры вообще.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 18:20 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вроде бы при принятом сейчас стиле алгоритмизации они и не нужны.
Но если мы говорим о том, что рубить ещё мельче (выкидывать начинку циклов в процедуры и т.п.), то снова становятся полезны. Например, взять любой алгоритм сортировки и пошагово его, по кусочкам... Вот они и вылезают сразу, локальные процедуры - т.к. данные уже не поделишь и через параметры протаскивать громоздко, а алгоритм ещё рубится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 19:25 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Илья Ермаков писал(а):
... Например, взять любой алгоритм сортировки и пошагово его, по кусочкам... Вот они и вылезают сразу, локальные процедуры ...

Да ну... беру любой... Quicksort подойдет? Где там они?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Воскресенье, 14 Декабрь, 2008 20:27 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Вот тут http://www.ict.edu.ru/ft/002383/prolang.pdf написано про проблемы с вложенными процедурами в Паскале.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2025, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB