LINUX.ORG.RU

DMD 2.029

 , ,


0

0

Очередной релиз языка D.

На сей раз обширные изменения коснулись стандартной библиотеки:

  • std.algorithm
  • std.array
  • std.bitmanip
  • std.contracts
  • std.conv
  • std.date
  • std.file
  • std.format
  • std.functional

... и.т.д

+ исправлены некоторые ошибки.

>>> Подробности



Проверено: Shaman007 ()
Ответ на: комментарий от schnauss
> ДЭ не нужен

Спасибо, Капитан Очевидность.

(Спасибо разработчику языка Д, регулярно ловящему на себя шишки, предназначявшиеся D)
naryl ★★★★★
()
Ответ на: комментарий от ip1981
>Я к тому, что библиотеки надо писать на C, а на C++, D - только конечные приложения.

Надо просто в 21 веку уже разработать стандартизированный вменяемый формат связываний.
r ★★★★★
()
ДЭйствительно не нужен. Пионерия все никак не успокоится.
nosuchip
()
Ответ на: комментарий от r
>Надо просто в 21 веку уже разработать стандартизированный вменяемый формат связываний.

.NET
st0ke
()
Ответ на: комментарий от namezys
>А библиотеки эфеестивно?

Библиотеки обычно менее сложны структурно и поэтому их писать в этом смысле проще.

А вопрос тут именно в связывании. Си связывается с кем угодно нативно, а вот про остальные языки такого не скажешь.
KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73
> А вопрос тут именно в связывании. Си связывается с кем угодно нативно, а вот про остальные языки такого не скажешь.

Да. Это достаточно серьезная проблема. Но на все это в С++ есть extern "C", но это поможет только если интерфейс не слишком сложный

да и подходит это опять же к простым библиотекам

namezys ★★★★
()
Ответ на: комментарий от ip1981
В С неичего переносить не надо - он вы этом смысле не нужен.
r ★★★★★
()
Две большие фичи в этой версии:
1. function literal теперь literal во всех смыслах. Ими можно даже параметризовать шаблоны.
2. Один из пользователей случайно обнаружил, что при обьявлении анонимных функций и делегатов происходит вывод типов аргументов. Когда это было реализовано не помнит даже автор. :)
naryl ★★★★★
()
Ответ на: комментарий от naryl
Вру. Автор помнит. type inference аргументов реализован специально для template function literals.
naryl ★★★★★
()
Ответ на: комментарий от naryl
> 1. function literal теперь literal во всех смыслах. Ими можно даже параметризовать шаблоны.

Если не сложно, дай URL на страничку документации, где эти новые function literal описаны. А я что-то не вижу :(

eao197 ★★★★★
()
Ответ на: комментарий от ip1981
>> Но на все это в С++ есть extern "C"

> Это для использования Сишных функций в C++, но не наоборот.

Вы бы это... с травой завязывали бы.

eao197 ★★★★★
()
Ответ на: комментарий от eao197
Похоже документация немного отстаёт. Вот пример:

import std.stdio: writeln;

void foo(alias f)() {
     writeln(f(3, 4));
}

void main() {
    foo!((x,y){ return x * y; })();
}
naryl ★★★★★
()
Ответ на: комментарий от naryl
> void main() { > foo!((x,y){ return x * y; })(); > }

Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

eao197 ★★★★★
()
Ответ на: комментарий от eao197
>Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

Язык который призван заменить С++ обречен повторить его судьбу:)
r ★★★★★
()
Ответ на: комментарий от r
>>Похоже, количество способов записать лямбда-функцию в D начинает зашкаливать... Эх, а так все хорошо начиналось :)))

>Язык который призван заменить С++ обречен повторить его судьбу:)

У D, имхо, нет шансов стать одним из самых восстребованных и широкоиспользуемых языков в мире. Так что судьба C++ ему не грозит. Тем более, что в C++ только-только появляется _единственная_ возможность записать лямбда-функцию.

eao197 ★★★★★
()
Ответ на: комментарий от eao197
>У D, имхо, нет шансов стать одним из самых восстребованных и широкоиспользуемых языков в мире.

У него сильных конкурентов больше, а killer-features меньше. Так что, да. Уникальную судьбу Си++ он не повторит :)
KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73
> У него сильных конкурентов больше, а killer-features меньше. Так что, да. Уникальную судьбу Си++ он не повторит :)

Ну дык о том и речь :)

eao197 ★★★★★
()
Ответ на: комментарий от eao197
Сейчас есть три способа расширить тип. Наследование, opDot, alias this и поговаривают об opDotEx. Из них в первой ветке только наследование. Подозреваю, что к релизу D2 из четырёх способов выживет только наследование и либо alias this, либо opDotEx.
naryl ★★★★★
()
Ответ на: комментарий от naryl
foreach ( n; take(2, uniform(0, 0.75)) ) {
writeln(n);
}

Завуалированое "дайте две!". :)
matumba ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.