Здравствуйте, 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/c9e461934c26ab45
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) {return std::pow(base, exp);};};
} // namespace my
И юзай его потом, будет не хуже чем на хаскеле:
nums | filter(even) | map(pow(2))
Конечно, такого синтаксического кариеса как "map(^2)" не получится, но, имхо, это и к лучшему.