LINUX.ORG.RU

Вышла новая стабильная версия FreePascal.


0

0

Сегодня, 10 сентября, обновился до версии 2.2.0 компилятор FreePascal. Среди основных изменений значатся такие вещи как улучшение работы компилятора (в частности, добавлено раскрытие хвостовой рекурсии), поддержка новых целевых платформ и процессорных архитектур. Кроме того, в язык была добавлена поддержка шаблонов (generics).

Список изменений: http://svn.freepascal.org/svn/fpcbuil...

>>> Официальный сайт

★★★★★

Проверено: Shaman007 ()

>добавлено раскрытие хвостовой рекурсии

Ничего себе, школьников ФП учить? О_о

>Кроме того, в язык была добавлена поддержка шаблонов (generics).

Это аналог templates в C++ или я не то курил?

anonymous
()
Ответ на: комментарий от anonymous

Да. Причем впервые для Win32 (Delphi сосет) и впервые для Win64 (no comments...)

anonymous
()
Ответ на: комментарий от anonymous

>Это аналог templates в C++ или я не то курил?

Как я понял, да. Правда, пока она значится как экспериментальная фича.

kss ★★★★★
() автор топика
Ответ на: комментарий от kss

Собственно, вот что у них в документации сказано:

"Generics are templates for generating classes. It is a concept that comes from C++, where it is deeply integrated in the language. As of version 2.2, Free Pascal also officially has support for templates or Generics. They are implemented as a kind of macro which is stored in the unit files that the compiler generates, and which is replayed as soon as a generic class is specialized. Currently, only generic classes can be defined. Later, support for generic records, functions and arrays may be introduced."

kss ★★★★★
() автор топика

Урааа!!! Наконец что-то новенькое :)

xstream
()
Ответ на: комментарий от anonymous

> Ничего себе, школьников ФП учить? О_о Ну паскакалю не только школьникоа учат, в целом ряде вузов Новосибирска студеры штудируют именно его.

Язык не люблю этот (ИМХО), но сдаем на нем всё, т.ч. +1, не TP же юзать под вантуз, в самом деле ))

steinburzum
()

* Compiler can omit stack frames (x86 and ARM)
* Compiler can store records in registers
* Tail recursion expansion
* Register renaming optimizations
* Reduced memory usage during compilation
* ...

Желаю команде FPC и далее работать в таком же духе ! :)

frame ★★★
()

Эх, вот если бы ещё подружить FreePascal с библиотеками на C++, вот тогда было бы совсем здорово. (С библиотеками на обычном Cи всё и так отлично линкуется). А то Gtk для FreePascal есть, а Qt нету.

kastaneda
()

тема хвостовой рекурсии раскрыта

anonymous
()
Ответ на: комментарий от nu11

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

anonymous
()
Ответ на: комментарий от steinburzum

steinburzum> не TP же юзать под вантуз, в самом деле ))

Turbo Pascal не под вантуз, а под DOS вообще-то.

Quasar ★★★★★
()
Ответ на: комментарий от Joe_Bishop

> Ещё бы GC добавили, то вообще шоколадно было.

+1, и еще замыкания

inoremap ★★
()
Ответ на: комментарий от anonymous

>Кто и что на нем пишет, кроме школьников?

Пишут, пишут... На форум Лазаруса можно сходить - там люди выкладывают свои проги.

h8 ★★★
()

Ура! Снова нет повода, чтобы не выпить!

PS приколы про школьников не уместны, а если вы не знаете про что говорите, то лучше помолчите

anonymous
()
Ответ на: комментарий от anonymous

>Кто и что на нем пишет, кроме школьников? Например графический редактор Pixel, кроссплатформенный "убийца фотошопа".Кто и что на нем пишет, кроме школьников? http://www.kanzelsberger.com/pixel/

NoldoR
()

хвостовая рекурсия это когда волк кушает сам себя, заглатывая хвост? ну или два волка.. как в детском стишке..

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

>Кто и что на нем пишет, кроме школьников?

anonymous (*) (10.09.2007 18:25:16)

дошкольники и блондинки

hobbit19 ★★★
()

Как у них с уникодом? Я про IDE.

anonymous
()
Ответ на: комментарий от anonymous

Ты заблуждаешь себя. Когда компилятор переделывает - это называется: "оптимизация хвостовой рекурсии". А то, что он оптимизирует - это она и есть.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

>>Кто и что на нем пишет, кроме школьников? Под вантуз гамезы пишу :) Ща вот 80% движка перевел под линь :)

Andru ★★★★
()
Ответ на: комментарий от DoTheGNU

> А Lazarus там как поживает? Все ещё сырой?

Месяц назад просто ради интереса посмотрел - вроде уже более-менее...

Deleted
()
Ответ на: комментарий от anonymous

Дурень, С# - это кривая негрософтская интерпретация _c++_.

Если ты С++ закопаешь, шарп уедет туда же.

Официальная (Страуструп) линейка С: С, C++, C++0x (C++09).

ChALkeR ★★★★★
()
Ответ на: комментарий от ChALkeR

А шарп отделяют в отдельный язык, потому что он, как и всё от негрософта, ни с чем не совместим.

ChALkeR ★★★★★
()
Ответ на: комментарий от Deleted

этим говном ещё кто-то пользуется??

оно же вымирает. вспомните tuxcommander. в каких дистрах он есть?? а почему? правильно - потому, что на паскакале.

scyld
()
Ответ на: комментарий от Legioner

>Хвостовая рекурсия не имеет прямого отношения к ФП.

А также ФП не имеет прямого отношения к FreePascal :)

anonymous
()
Ответ на: комментарий от ChALkeR

Страус к С никакого отношения не имеет, так что в начале должен быть C with Classes

Begemoth ★★★★★
()
Ответ на: комментарий от anonymous

>Ничего себе, школьников ФП учить?

"Страшное и загадочное" слово "рекурсия" у анонимусов асоциируется только с ФП (таким же "страшным и загадочным")?:)

Led ★★★☆☆
()
Ответ на: комментарий от ChALkeR

Вообще-то С# - это официально признанный комитетом ISO язык программирования. Нового тысячелетия. А ты, пынгвыновод, оставайся в каменном веке, занимайся собирательством какашек пингвинов и охотой на них!

anonymous
()
Ответ на: комментарий от kastaneda

> А то Gtk для FreePascal есть, а Qt нету.

Вроде, под Lazarus что-то с Qt пишут.

acheron ★★★★
()

Кто его уже попробовал, скажите: дебагер в 64-битном IDE работает?

acheron ★★★★
()
Ответ на: комментарий от lester

А С++ - это наспех сколоченная волосатым ублюдком быдлоподделка под объектно-ориентированный йАзыгг, который с гиками и гаками приняли такие же Dynamic-Cast-быдло-ублюдочные создания со страусофилическими наклонностями (+ еще и пидонистическими ), мнящие себя супер-пупер-мега-программерами, а на самом деле яйца выеденного (страусиного) не стоят и сидящих на шее у родителей - C# программистов.

anonymous
()
Ответ на: комментарий от Hiddenman

Там не в языке дело, а в коммерческой перспективе!

anonymous
()
Ответ на: комментарий от Hiddenman

>Еще комментарии будут? Прекрасный граф. редактор на голову выше gimp'a, разрабатываемого "сообществом" и на С++'e... А что одним человеком - да, действительно, паскалевский код не требует десятков кодеров для поддержки и развития проекта, разгребающих код из, как тут популярно изъяснять, быдлозначков (видимо лавры алхимиков не дают еще кому-то покоя)... До фотошопа далеко, конечно, но и стоимость не сравнимая...

anonymous
()
Ответ на: комментарий от anonymous

> Это аналог templates в C++ или я не то курил?

Да, он самый.

С шаблонами сейчас намечается проблема в том плане, что CodeGears (нынешний разработчик Delphi)тоже собирается вводить в язык generics. Разумеется, без оглядки на FPC. Как несложно догадаться, пользователи будут просить наличие поддержки "как в Delphi". Увы, это пока реалии.

atrus ★★★★★
()
Ответ на: комментарий от ChALkeR

Этот новый стандарт С с крестами еще более извращенный маразм, исходящий от стареющего кретина. Потом этот быдло-маразм будут применять фанатики-молокососы. Без этого дерьма можно легко программить. А за быдло-навороты в программах на С++ надо расстреливать.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.