LINUX.ORG.RU
Ответ на: комментарий от generatorglukoff

А че тут переводить?

К тому же если ты не знаешь что такое замыкания, то оно тебе не нужно.

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

>К тому же если ты не знаешь что такое замыкания, то оно тебе не нужно.

А вдруг сразу как переведешь оне мне сразу же сильно потребуюццо?

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

> а на русский перевести?

А разве не переведено? :) (closure)

defmacro
()

Почему замыкания называют замыканиями? (не ясно происхождение этого термина)

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

>А макросы в нем есть?

Нормальных (тех, что позволяют определять новые конструкции языка и при этом при использовании не отличаться по внешнему виду от встроенных конструкций языка) --- очевидно, нет. Поскольку язык с нетривиальным синтаксисом.

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

Нет, но планируются. Правда очень давно планируются :(

Зато там есть очень интересная штука - строковые миксины (не знаю, как по-русски правильно) и compile-time function execution.
Примитивный пример:

string generate_variables(string type, string prefix, int from, int to) {
    string result = "";
    for (int i = from; i <= to; ++i) {
        result += type + " " + prefix + inttostr(i) + ";";
    }
    return result;
}

mixin(generate_variables("int", "var", 1, 10));
var1 = 2;
var7 = 4;
var10 = var2 - var3;

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

>Зато там есть очень интересная штука - строковые миксины

Дык это и есть аналог лисповых макросов, только смотрятся все же не так естественно как в лиспе из-за того, что у D нетривиальный синтаксис.

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

Термин "замыкание" в математике оччень сильно перегружен.

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

Нет, в лиспе макросы ничем не ограничены, а в D CTFE - весьма ограничены. Ну т.е. они, видимо, тьюринг-полны, но писать что то нетривиальное на них достаточно проблематично. К тому же генерировать можно только statement-ы, десяток классов или хотя бы функций таким макаром не сгенеришь. Макросы в D я вижу, как редактирующие непосредственно AST, а не его убогое текстовое представление :) Т.е. там будет что то напоминающее лисп.

А вообще сейчас нужен Reflection, без макросов жить можно, а вот без runtime reflection-а куда сложнее.

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

И наврено даже не столько рефлекшн - сколько возможность использовать so/dll - ки вместо либ. Это бы сильно упростило посторение расширяемых систем. А как это сделают - так непонятно чем это лучше .NET/Mono - Д будет ИМХО получится хуже во всех отношениях. Не, я сам как то пропёрся Д, в нём есть интересные решения... но только вот зачем он щас...

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

Это мне было лень вспоминать, как оно точно пишется, и я написал так, чтобы всем было понятно. А у вас с inttostr какие то комплексы? Наверное дельфю в дестве заставляли учить :D Там ещё и fopen есть, и (о ужас) sprintf! Позапрошлый век в общем.

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