С годами я делаю эту лекцию лучше: kzbin.info/www/bejne/hHLalmaYe5eiaNU
@DrUlrih3 жыл бұрын
Шикарно
@niklkelbon36623 жыл бұрын
47:30 проблема решается ну очень просто, возвращать conditional type в случае если принимаем по rvalue диапазон, то значит нет никакого смысла возвращать итератор(возвращаем void), если по lvalue приняли диапазон, возвращаем итератор на ласт элемент. В итоге ошибка компиляции при попытке auto m = ranges::...
@oficsu4 жыл бұрын
Раз уж на 27:01 решено подправить concept bool на concept в соответствии с актуальным состоянием стандарта, наверное, и все концепты стоило переименовать в lowercase, ибо все концепты стандартной библиотеки перед принятием стандарта, успели переименовать в stdandard_case
@tilir4 жыл бұрын
Как раз наоборот, пользовательские концепты лучше называть с большой, чтобы не путать со стандартными
@oficsu4 жыл бұрын
@@tilir, всё же, на слайде отображено формальное объявление ranges::sort, я полагал, что под ним имеется ввиду именно стандартный ranges::sort со стандартными концептами, включая std::ranges::R̶range, а не пользователькими
@ВячеславШляга2 жыл бұрын
1:04:31 наверное имелся ввиду всё-таки 11 стандарт, а не 98))
@tilir2 жыл бұрын
Да в 2011-м явно оговорка.
@victormustya17454 жыл бұрын
Это какой-то хаскель, прости г-споди. Кроме того, эта вещь на мой взгляд криво перегружает оператор | --- у него исчезает свойство коммутативности.
@kostikvl4 жыл бұрын
Не Хаскелл, а Руби же. Насчёт унарного или -- это всё равно что упрекнуть перегрузку битовых сдвигов для потоков в отсутствии ассоциативности =)) Ясно что если мы НАСТОЛЬКО меняем смысл операции, это уже просто другая операция.
@victormustya17454 жыл бұрын
@@kostikvl, в руби нет бесконечных диапазонов, насколько мне известно. Да и у оператора битового сдвига нет ассоциативности, то есть a >> (b >> c) != (a >> b) >> c даже без перегрузки.
@victormustya17454 жыл бұрын
@@kostikvl, к тому же, в руби нет ленивых вычислений. Так что на хаскель больше похоже.
@MrSnarpix4 жыл бұрын
Ты так говоришь, будто это плохо. Круто было бы еще Automated Theorem Proving внести, жаль Idris все еще в начальной стадии.
@victormustya17454 жыл бұрын
@@MrSnarpix, а ты так говоришь, будто это хорошо. Не, идея range с ленивыми вычислениями мне нравится. Но вот перегрузка операторов всё портит. А вообще, надо придумать какой-нибудь чекер, который не позволял бы коммитить в проекты код, который использует концепты, корутины и ренджи.