Re[32]: Вопрос к Vlad2: Nemerle & R#
От: Oyster Украина https://github.com/devoyster
Дата: 27.03.06 11:05
Оценка:
Здравствуйте, eao197, Вы писали:

E>Кстати, если сравнить реализацию compile-time вычисления факториала на C++:


...

E>то мне кажется, что она получается в более функциональном стиле, что ли


Думаешь? В Nemerle я тоже заюзал матчинг, на самом деле. И какая разница, выглядит матчинг так:

fun(x)
{
    | 0 => ...
    | 1 => ...
    | _ => ...
}

Или так:

fun(0) = ...
fun(1) = ...
fun(x) = ...

E>И не на много длиннее в реализации.
E>Вот только синтаксический оверхэд в виде template<> struct под ногами путается
E>Зато компилятор не дает вычислять факториал нуля

На Nemerle тоже не даст, естественно, — посмотри, что случится при вызове Oyster.Macro.Fact(0)

В общем-то, главное преимущество Nemerle тут в том, что можно проворачивать более сложные вычисления в compile-time, чем на шаблонах.

Ну и ещё преимущество _имхо_ в том, что фактически пишется тот же код на Nemerle, а не на каком-то другом подъязыке, — просто он выполнится во время компиляции.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.