Size: a a a

2020 April 07

AZ

Alex Zhukovsky in rust_offtopic
прочитай плз прежде чем налетать
источник

MB

Mikail Bagishov in rust_offtopic
Alex Zhukovsky
полагаю, с точкиз рения производительности и возможностей инлайна разница будет существенная. В жсе вон как ты предлагаешь и делают, выглядит убого имхо
Так как std::bind это лютый шаблонный ужас, компилятор спокойно может заинлайнить operator() в место вызова
источник

AZ

Alex Zhukovsky in rust_offtopic
Mikail Bagishov
Так как std::bind это лютый шаблонный ужас, компилятор спокойно может заинлайнить operator() в место вызова
да, но у тебя вместо реальных функций будет 100500 указателей на фунцкии
источник

AZ

Alex Zhukovsky in rust_offtopic
но ладно
источник

AZ

Alex Zhukovsky in rust_offtopic
мы вроде синтаксис обсуждаем
источник

AK

Alexander Krivitskiy in rust_offtopic
Alex Zhukovsky
нет, я объявляю функцию. В расте это что-то типа

fn addFive<T: Add + From<i32>>(a: T) { add(a, 5.into()) }
Нет, ты в хаскелле тоже что и в плюсах объявляешь. Частично примененные функции в хаскелле хуево оптимизируются. Есть статья, искать я её, конечно, не буду
источник

AZ

Alex Zhukovsky in rust_offtopic
Mikail Bagishov
Так как std::bind это лютый шаблонный ужас, компилятор спокойно может заинлайнить operator() в место вызова
но по сути это ты и взял часть МЛ синтакиса
источник

AZ

Alex Zhukovsky in rust_offtopic
потому что fn = body это ML
источник

AZ

Alex Zhukovsky in rust_offtopic
Alexander Krivitskiy
Нет, ты в хаскелле тоже что и в плюсах объявляешь. Частично примененные функции в хаскелле хуево оптимизируются. Есть статья, искать я её, конечно, не буду
эмм, это дефолт, даже в стд именно так и написано
источник

AZ

Alex Zhukovsky in rust_offtopic
так что я скептически отношусь к твоему высказыванию
источник

AZ

Alex Zhukovsky in rust_offtopic
бтв даже если, это не относится к вопросу синтаксиса
источник

B

Bogdan in rust_offtopic
Alex Zhukovsky
нет каррирования, спиральное чтение типов намного турднее чтения слева-направо, много визуального шума, неоднозначная грамматика
Спиральное чтение это как со * и с объявлениями указателей на ф-и?
источник

AZ

Alex Zhukovsky in rust_offtopic
звездочки, указатели, массивы
источник

p

polunin.ai in rust_offtopic
from functools import partial

f = lambda a, b, c: a + b + c
f2 = partial(f, 5)

print(f2(1, 2))


каррирование для бедных
источник

AK

Alexander Krivitskiy in rust_offtopic
Alex Zhukovsky
эмм, это дефолт, даже в стд именно так и написано
Я имею ввиду под капотом там будет что-то вроде плюсового функтора
источник

AZ

Alex Zhukovsky in rust_offtopic
Alexander Krivitskiy
Я имею ввиду под капотом там будет что-то вроде плюсового функтора
я не знаю что такое плюсовый функтор. Полагаю что-то, никакого отоншения к общепринятому функтору не имеющее, как обычно)
источник

AK

Alexander Krivitskiy in rust_offtopic
Alex Zhukovsky
я не знаю что такое плюсовый функтор. Полагаю что-то, никакого отоншения к общепринятому функтору не имеющее, как обычно)
Да)
источник

MB

Mikail Bagishov in rust_offtopic
Alex Zhukovsky
да, но у тебя вместо реальных функций будет 100500 указателей на фунцкии
https://godbolt.org/z/hE5PUG
Полного инлайна почему-то нет
источник

AZ

Alex Zhukovsky in rust_offtopic
я правильно понимаю, что если функция будет от 5 аргументов, то вот этих std::placeholders будет 4 штуки?
источник

MB

Mikail Bagishov in rust_offtopic
Думаю, это уже  беды конкретно плюсов
источник