Информация об изменениях

Сообщение Re[2]: Госспади, отправь на пенсию воспитанников фортрана! от 17.11.2025 14:41

Изменено 17.11.2025 19:33 rg45

Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
Здравствуйте, sergii.p, Вы писали:

SP>"длинные слова меня только расстраивают"


SP>C++:

SP>
SP>nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });
SP>

SP>Haskell:
SP>
SP>map (^2) (filter even nums)
SP>


В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:

http://coliru.stacked-crooked.com/a/f08278cb1fdfc708

namsepace my
{
   using std::views::filter;
   inline constexpr auto map = std::views::transform;
   inline constexpr auto even = [](std::integral auto n) {return n % 2 == 0;};
   inline constexpr auto sqr = [](const auto& n) -> decltype(n * n) {return n * n;};
} // namespace my


И юзай его потом, будет не хуже чем на хаскеле:

nums | filter(even) | map(sqr)


Конечно, такого синтаксического кариеса как "map(^2)" не получится, но, имхо, это и к лучшему.
Re[2]: Госспади, отправь на пенсию воспитанников фортрана!
Здравствуйте, sergii.p, Вы писали:

SP>"длинные слова меня только расстраивают"


SP>C++:

SP>
SP>nums | std::view::filter([](int n) { return n % 2 == 0; }) | std::views::transform([](int n) { return n * n; });
SP>

SP>Haskell:
SP>
SP>map (^2) (filter even nums)
SP>


В С++ ты можешь наопределять себе какого угодно синтаксического сахара самостоятельно:

http://coliru.stacked-crooked.com/a/cd8b4d1035cb1fdd

namsepace my
{
   using std::views::filter;
   inline constexpr auto map = std::views::transform;
   inline constexpr auto even = [](std::integral auto n) {return n % 2 == 0;};
   inline constexpr auto pow = [](auto exp) {
       return [=](auto base) -> decltype(std::pow(base, exp)) {return std::pow(base, exp);};
   };
} // namespace my


И юзай его потом, будет не хуже чем на хаскеле:

nums | filter(even) | map(pow(2))


Конечно, такого синтаксического кариеса как "map(^2)" не получится, но, имхо, это и к лучшему.