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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.