Re[4]: Критика современного С++
От: dsorokin Россия  
Дата: 06.02.19 17:49
Оценка:
Здравствуйте, Voivoid, Вы писали:

V>Кстати да, с range v3 можно писать почти как на haskell

V>
V>auto triples = ints(1)      >>= [ ](int z) { return
V>               ints(1, z+1) >>= [=](int x) { return
V>               ints(x, z+1) >>= [=](int y) { return
V>   yield_if(x*x + y*y == z*z, std::make_tuple(x, y, z)); };}; };
V>


V>do-нотации только для полного счастья не хватает


Во! Время от времени подумываю одну штуку свою перенести на C++. Там будут монады и стрелки через шаблоны. Прототип есть, и есть работающий аналогичный код на Rust.

Как думаете, плюсисты заклюют? Обещаю в документации никого не травмировать и ни слова не писать о страшных монадах и стрелках!

Я вон в C++20 увидел незаконченную монаду в future::then. Подозреваю, что она не закончена по той простой причине, что в C++ нет полноценных значений у типа void. Из-за чего возникли бы нестыковки при использовании, будь там полноценная монадическая связка, но это мое личное предположение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.