29.01.09 20:33Descent 0.5.4

Вышла новая версия широко известного в узких кругах плагина для разработки проектов на D в IDE Eclipse.

Нововведения:

- Просмотр результата обработки набираемого исходного кода компилятором переднего плана: видны преобразования, разворачивания foreach и оптимизации, то есть преобразованный текст модуля, отправляющийся непосредственно на анализ и трансляцию;

- Просмотр mixin при наведении курсора на его объявление;

- Наведение курсора на функцию или экземпляр шаблона с нажатием ctrl+shift показывает ее результат времени компиляции;

- Добавлены шаблоны кода для перегруженных операторов - теперь их не надо помнить наизусть, достаточно набрать “op” и нажать ctrl+space;
- Исправлен ticket #160: новые опции автозаполнения: “classinfo” и “outer” показываются для классов (когда доступны), “ptr” и “funcptr” показываются для делегатов.

Новость на английском:

http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=14638

Видео, демонстрирующее обработку набираемого кода фронт-эндом компилятора на лету:

Коммментариев нет | Рубрики: Инструменты, Примеры кода

26.01.09 08:19Релиз LDC 0.9

Первая версия LDC (http://www.dsource.org/projects/ldc), компилятора D на основе LLVM, опубликована 9 января для x86-32 Linux. Скачать можно отсюда:
http://www.incasoftware.de/~kamm/ldc/ldc-0.9.tbz2

LDC поставляется с прекомпилированной Tango rev 4237 и успешно проходит все её тесты модулей, кроме пары (io.digest.Md2 и text.locale.Posix). Результаты тестов DStress тоже обнадеживают, вполне возможно, что и ваш код скомпилируется и будет работать!

Известные проблемы:
* DWT почему-то не компилируется
* баг LLVM 2.4: иногда падает линковка, когда при оптимизации код недоступных функций вырезается
* LDC не полностью следует конвенции вызовов D (но это дело времени)
* актуальны все баги DMD-frontend
* … есть еще несколько проблем в ticket’ах на странице LDC

Если вы нашли баг, проверьте, не публиковали ли его ранее в ticket’ах, если нет - публикуйте. Если чувствуете в себе силы попробовать исправить его, начните с ознакомления с starting guide (на странице проекта LDC).

LDC может быть использован на других платформах, пока этому препятствуют:
* x86-64 Linux: нужны люди для того, чтобы начать исправлять мелкие баги, а также баг с исключениями (недоработка в LLVM)
* x86-32 Mac: мелкие проблемы времени исполнения, также нужно тестирование
* x86-32 Windows: нет поддержки исключений (недоработка LLVM)

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

Для тех, кто нуждается в CTFE, у нас есть экспериментальная версия LDC:
http://www.incasoftware.de/~kamm/ldc/ldc-0.9-gc.tbz2
в которой включен сборщик мусора времени компиляции. В будущем мы планируем поэкспериментировать с хаком предварительных ссылок, но в данный момент с ним достаточно много регрессий.

Связаться с нами можно по данному email:
ldc-dev@googlegroups.com. Также нас можно найти на irc.freenode.net в канале #ldc.

Tomas Lindquist Olsen, Christian Kamm

Коммментариев нет | Рубрики: LLVMDC, Компиляторы

08.01.09 11:46Обновление DMD: 1.039 и 2.023

http://www.digitalmars.com/d/1.0/changelog.html#new1_039

http://ftp.digitalmars.com/dmd.1.039.zip

http://www.digitalmars.com/d/2.0/changelog.html#new2_023

http://ftp.digitalmars.com/dmd.2.023.zip

Коммментариев нет | Рубрики: DMD, Компиляторы