IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Оптимизация концевой рекурсии, Есть такой компилер для паскаля?
сообщение
Сообщение #1


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


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

Существует такое понятие, как "концевая рекурсия":
Код

procedure Proc();
begin
...// некий код
   Proc();
end;
Т.е. это рекуррентый вызов, после которого происходит возврат управления. Многие компиляторы с функциональных языков (для Nemerle - это вообще стандарт) оптимизируют этот вызов, устанавливая новые значения локалньым параметрам и передавая управление на begin, тем самым не создавая новой активации подпрограммы на стеке.

Вот задался вопросом - существует ли компилер с подобной фишкой для Паскаля?


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Да хоть борланд, хоть ФПЦ, ввезде это работает, если GOTO использовать. В турбовизион таким способом удобно окошки создавать: при нажатии на кнопку в обработчике событий срабатывает GOTO, параметр записывается в массив откуда потом считывается процедурой создающей окно, выполняется какое-либо действие, окно перезапускается с новыми параметрами. Так можно текст в окошко вводить, что-то запускать. Фишка в отсутствии необходимости изучать всю систему целиком, она и по частям работает хорошо, и даже совмещается с другими системами. Без GOTO это невозможно - надо весь код изучать, переделывать...
Можешь посмотреть как это работает http://stiratel7.narod.ru/1/z.html Система "Сушняк турбо", надеюсь архив не запортился на сайте, как это случилось с гамой.

Сообщение отредактировано: SKVOZNJAK -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 6:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name