Anonymous
Catch - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD
Anonymous
... ну, собственные.
Stanislav
https://github.com/philsquared/Catch
🦥Alex Fails
Коллеги! Немного не по теме чата, но меня попросили опубликовать. Кому интересна тема node.js и TypeScript – приглашаем на небольшой митап. Подробности по ссылке: https://rossinno.timepad.ru/event/457207/ #meetup
Алдар
https://ps-group.github.io/compilers/cxx17
Anton
https://ps-group.github.io/compilers/cxx17
Ну вот... Теперь залип на сайтике)
Deleted Account
Ну вот... Теперь залип на сайтике)
я прост осохранил как pdf
Deleted Account
сайтец
Denis
Добрый вечер товарищи
Deleted Account
Добрый вечер товарищи
ОоооооОоо ! привет, у нас ещё раний день
🦥Alex Fails
https://ps-group.github.io/compilers/cxx17
надо б добавить на procxx.github.io
🦥Alex Fails
надо б по тестам наборку сделать
🦥Alex Fails
/extra #cpptestlibs *Либы для тестирования* https://github.com/banditcpp/bandit https://github.com/philsquared/Catch gtest, gmock
Deleted Account
/extra
Deleted Account
/extra
🦥Alex Fails
бот опять упал, чтоль.
🦥Alex Fails
блядь.
🦥Alex Fails
@GBReborn_bot
Deleted Account
=)
Anonymous
Ну смотря что для тебя есть "ультра оптимизация"
🦥Alex Fails
язык Андрюхи для его HPC
Andrei
Таких пока нет, но мы работаем над этим :)
Nikolay Markov
что понимается под "ультраоптимизацией"?
Andrei
Выкидывание бранчей, которые никогда не выполнятся путём логического анализа программы вширь с построением всеовозможных состояний, к примеру.
Anonymous
Это называется lazy evaluation
Deleted Account
надо найти где он лежит , захватить доступ и поднять
Sergey
хаскелл вроде в это умеет
в приниципе любой фнкциональный язык в рамках ленивого исполнения при редукции выражений может выкинуть те выражения, что не приводят к редексам. Но ленивые вычисления ведь медленней работают
Deleted Account
его
Крылатый
http://blog.ndcconferences.com/modern-diagnostics-tools-for-c-applications/
Крылатый
Модерн конечно, прям...
Anonymous
Всем привет, я хочу использовать функцию urlmksetsessionoption чтобы поменять юзер агента, но меня посылают ещё на этапе компиляции, подскажите пожалуйста что не так? Urlmon.h подключил
Крылатый
https://github.com/Naios/continuable
Крылатый
Лучше на пасту и ссылку сюда...
Deleted Account
от svn?
Andrei
Это называется lazy evaluation
Да нет же. Это всё не об этом.
Andrei
Вы говорите про рантайм.
Andrei
То что хаскель доводит выражения до WHNF это понятно.
Andrei
Но он делает это в рантайме, если значения известны только в рантайме.
Sergey
Но он делает это в рантайме, если значения известны только в рантайме.
а при неизвестных значениях в момент компиляции разве можно путём какого-либо анализа выкинуть ветку условия?
Andrei
Вот. Об этом и речь.
Andrei
Что возможно.
Andrei
x *= 2; if(x % 2 = 0) {...}
Deleted Account
ну если там ветка от проверки какой то константы
Deleted Account
да да
Andrei
Самый простой пример.
Deleted Account
Самый простой пример.
ну это крутой анализатор нужен
Andrei
x неизвестна на стадии компиляции, но известно, что это выражение можно элиминировать.
Sergey
x *= 2; if(x % 2 = 0) {...}
Ну это же просто предупреждение нерасторопности программиста, разве нет?
Andrei
ну это крутой анализатор нужен
Так об этом и была речь изначально. Что подразумевается под крутым оптимизатором? Вот это.
Andrei
Ну это же просто предупреждение нерасторопности программиста, разве нет?
Да нет же. Я сейчас написал этот пример в нём сразу явно видно, как и что оптимизировать, но сделай это всё сложнее — и ты уже ничего не увидишь.
Andrei
Плюс оптимизатор твой должен понимать, какая связь между умножением и взятием по модулю, иначе откуда он вообще может понять, что такое надо оптимизировать.
Andrei
На пастбин такие портянки, пожалуйста.
Sergey
А если x - не число?) *= и % - переопределённые операторы)
Anonymous
Вот ошибка))
Sergey
Тем более.
ну в общем я типа понял) . Однако простор для оптимизации получается несколько меньше, чем сведение к слабой нормальной форме в рантайме ленивых языков) Этот оптимизатор для с++?
Andrei
На самом деле сведение к WHNF это покрывает.
Andrei
Не для с++, свой язык.
Andrei
Конечно там будет нормальная стратегия редукции выражений, но вместе с этим еще и анализ области значений.
Sergey
На самом деле сведение к WHNF это покрывает.
ну ладно, специалистам, проводившим исследования виднее) а многопоточный код как в этом контексте работает?
Sergey
Или язык запрещает side эффекты?
Andrei
Не запрещает. Над многопоточностью еще ведутся исследования, но с кооперативной многозадачностью +- понятно.
Anonymous
http://pastebin.com/WAwfspwp
Sergey
Не запрещает. Над многопоточностью еще ведутся исследования, но с кооперативной многозадачностью +- понятно.
слушай, а разве редукция термов в haskell разве не в момент компиляции происходит? Просто сильно не углублялся)
Andrei
Типов? ТЕрмов ты имел в виду, наверно?
Andrei
Она происходит и там и там на самом деле.