Home
Обсуждение программирования на любых платформах
codingteam@conference.jabber.ru
Воскресенье, 24 февраля 2019< ^ >
m4n71k0r установил(а) тему: C, C#, C++, Clojure, Cobol, Common Lisp, D, Erlang, F#, Go, Groovy, Haskell, Java, JavaScript, Kotlin, MATLAB, OCaml, PowerShell, Python, R, Racket, Refal, Ruby, Rust, Scala, Scheme, TypeScript
Telegram channel: https://t.me/codingteam
HQ, логи: https://codingteam.org.ru/
Код постить сюда: http://lpaste.net/
Юным погромцам сюда: http://e-maxx.ru/algo/ , а ещё читать Кнутца, Корменца, Седжвикца и др.
Let's Dev (когда Капитан на мостике): http://www.youtube.com/playlist?list=PLK6mcZkmN4QTusFvp_0GVtscQbCiIg81Y
Tsoding: https://tsoding.github.io/schedule.html
http://i.imgur.com/slnyI6a.jpg
Упоминания о Flash, PHP, Pascal/Delphi/Borland, Basic, 1С караются съедением поциента.
Конфигурация комнаты
Участники комнаты

GMT+3
[00:17:10] <j123123> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89478 багрепортнул
[00:21:40] Minoru вышел(а) из комнаты
[00:42:37] m4n71k0r вышел(а) из комнаты
[00:43:06] <tg> <@folexeyy> https://github.com/rust-lang/rust/issues/58684 товарищ багрепортнул ту багу с ILLEGAL INSTRUCTION в расте. Может кому интересно
[00:51:55] <j123123> ILLEGAL INSTRUCTION?
[00:52:23] <j123123> Ну так это возможно LLVM где-то косячит
[01:04:08] ma1uta вышел(а) из комнаты: Replaced by new connection
[01:04:10] ma1uta вошёл(а) в комнату
[02:07:51] <tg> <@folexeyy> Не, похоже что сам раст
[02:08:18] <tg> <@folexeyy> Лишний раз убирает some
[02:34:14] unclechu вышел(а) из комнаты
[02:55:10] <tg> <@Devel29A> https://meduza.io/games/murka-ili-neyromurka-poprobuyte-otlichit-nastoyaschego-kotika-ot-sozdannogo-neyrosetyu
[06:26:08] uggur вышел(а) из комнаты: Replaced by new connection
[06:26:09] uggur вошёл(а) в комнату
[08:20:26] <tg> <@fvnever> >> <AlexFailsChannel> Новости с полей ISO C++.
>> Модули и Корутины теперь официально в C++20!
>>
>> #cpp #news #update #coro #modules
[08:21:39] <tg> <@fvnever> >> <ProCxxNews> Дополнение: также доступен Trip Report: https://www.reddit.com/r/cpp/comments/au0c4x/201902_kona_iso_c_committee_trip_report_c20/
>>
>> Коротко:
>> 1. Модули;
>> 2. Корутины;
>> 3.  Захват статических, локальных для потока (thread_local) и структурных привязок (structured bindings) в лямбдах;
>> 4. Функции линейной интерполяция (известной как lerp) и среднее значение (std::midpoint);
>> 5. Новая политика выполнения  std::execution::unseq;
>> 6. Специально для любителей Qt и int'ов в качестве переменных для хранения размера: функция ssize();
>> 7. Улучшения и фиксы в уже принятом в прошлый раз std::span;
>> 8. Перегрузка для функции поиска по unordered_map, использующая предварительно рассчитанное значение (precalculated value);
>>
>> Далее идет список того, что скорее всего добавят в Июле 2019 года, на встрече в Кёльне:
>> 1. Выражения для расширения из любой последовательности данных по аналогии с pack expansion из шаблонов с переменным числом аргументов
>> Пример:
>> auto tup = std::make_tuple(0, 1, 'a', 2.7);
>> for ... (auto elem : tup) {
>>   std::cout << tup << std::endl;
>> }
>>
>> Расширяется в
>> auto tup = std::make_tuple(0, 1, 'a', 2.7);
>>  std::cout << tup.get<0>() << std::endl;
>>  std::cout << tup.get<1>() << std::endl;
>>  std::cout << tup.get<2>() << std::endl;
>>  std::cout << tup.get<3>() << std::endl;
>>
>> 2. Расширение библиотеки синхронизации C++ (новые функции для работы с атомарными значениями);
>> 3. std::format, основанный на fmtlib (см. пост в нашем соседнем канале);
>> 4. constexpr vector;
>> 5. Предложение, разрешающее делать constexpr-аллокации, которые можно удалить ("заоптимизировать" или "устранить" (elide)) на этапе компиляции;
>> 6. constexpr-версия оператора == для type_info;
>> 7. Концептуально новые итераторы, предназначенные только для перемещения;
>> 8. Монадические функции для optional: transform (преобразовать значение), and_then (сделать что-то, если значение есть) и or_else (сделать что-то, если запрашиваемого значения нет);
>> 9. std::source_location вместо __FILE__ и __LINE__;
>> 10. Адаптер для плоских отображений (flat maps), позволяющий делать отображения поверх контейнеров;
>> 11. Адаптер для плоских множеств (flat sets);
>> 12. Класс ostream_joiner для вывода в ostream значения с использованием разделителя;
>> 13. Стектрейс;
>> 14. std::byteswap на замену hton*-функциям;
>> 15. Constinit для переменных, которые используют статический спецификатор памяти для обозначения намерения программиста использовать статическую область памяти;
>> 16. Объявить некоторые варианты использования ключевого слова volatile устаревшими, т.к. они не имеют желаемого эффекта в некоторых случаях;
>> 17. Уточнение правил языка, касающихся инициализации полей неинициализированных объектов и std::bless;
>> 18. Разрешить использование using для перечислений;
>>
>> Что уже было принято раньше:
>> 1. Концепты;
>> 2. Контракты;
>> 3. Диапазоны;
>> 4. Оператор <=> (🛸 / "НЛО") для генерации операторов сравнения;
>> 5. Макросы для проверки возможностей компилятора;
>> 6. std::span;
>> 7. Синхронизированный вывод;
>> 8. std::atomic_ref.
>>
>> #cpp #iso #news #update #cpp20
[08:38:35] O01eg вышел(а) из комнаты: Replaced by new connection
[08:38:37] O01eg вошёл(а) в комнату
[09:00:58] portnov вошёл(а) в комнату
[09:03:17] <portnov> кто там говорил про добавление всякой фигни в стандарт?...
[09:04:31] <tg> <@fvnever> Ну тут главное, что модули таки протолкнули. Это большое достижение.
[09:16:06] <portnov> о
[09:16:12] <portnov> инклюды кончились?
[10:04:22] <tg> <@Devel29A> Врятли
[10:04:36] <tg> <@Devel29A> Скорее всего через них пока и сделают
[10:04:44] <tg> <@Devel29A> Только неявно
[10:27:12] m4n71k0r вошёл(а) в комнату
[10:57:57] <tg> <@ttldtor> господи, до чего же сложно устроено
update failed for AnAction(com.intellij.tools.ToolAction) with ID=Tool_External Tools_cpack
java.lang.IllegalAccessError: tried to access method com.intellij.ide.macro.Macro.getPath(Lcom/intellij/openapi/vfs/VirtualFile;)Ljava/lang/String; from class com.intellij.ide.macro.ClasspathEntryMacro
  at com.intellij.ide.macro.ClasspathEntryMacro.expand(ClasspathEntryMacro.java:33)
  at com.intellij.ide.macro.Macro.cachePreview(Macro.java:49)
  at com.intellij.ide.macro.MacroManager.cacheMacrosPreview(MacroManager.java:110)
  at com.intellij.tools.ToolAction.findTool(ToolAction.java:56)
  at com.intellij.tools.ToolAction.update(ToolAction.java:49)
  at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:171)
  at com.intellij.openapi.actionSystem.impl.Utils.doUpdate(Utils.java:202)
  at com.intellij.openapi.actionSystem.impl.Utils.updateGroupChild(Utils.java:278)
  at com.intellij.openapi.actionSystem.impl.Utils.hasChildrenWithState(Utils.java:252)
  at com.intellij.openapi.actionSystem.impl.Utils.hasVisibleChildren(Utils.java:219)
  at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:165)
  at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:177)
  at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:177)
  at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:295)
  at com.intellij.openapi.actionSystem.impl.ActionPopupMenuImpl$MyMenu.show(ActionPopupMenuImpl.java:109)
[11:01:55] <tg> <@ttldtor> и самое печальное, что не могу вспомнить, что ж я такого сделал)
[11:02:30] <tg> <@ttldtor> радует, что джава-приложения не падают от каждого чиха.
[11:03:00] <tg> <@fvnever> Ну это любой гуй не падает.
[11:03:15] <tg> <@ttldtor> я своим расширением как-то валил штудию
[11:03:41] <tg> <@ttldtor> какое-то необрабатываемое нелоггируемое исключение и всё
[11:04:04] <tg> <@ttldtor> хоть дебажить можно
[11:04:15] <tg> <@fvnever> Ваще, по стектрейсу похоже, что у тебя не совпадают версии пары классов.
[11:04:58] <tg> <@ttldtor> во! А я выключал CLion, даунгрейдил с EAP до релизной версии и включал
[11:05:24] <tg> <@fvnever> То есть это в релизе упало?
[11:05:37] <tg> <@ttldtor> //и окружение они берут из тулбокса
[11:05:42] <tg> <@ttldtor> >> <fvnever> То есть это в релизе упало?
да
[11:05:49] <tg> <@ttldtor> ну не упало
[11:05:52] <tg> <@ttldtor> восклзнак
[11:07:45] <tg> <@fvnever> Ну это и есть упало :)
[11:07:52] <tg> <@fvnever> В смысле, выпало исключение.
[11:09:36] <tg> <@fvnever> https://github.com/JetBrains/intellij-community/commit/bb036eefe09a31cd59f43a8554bdc66d5f77bae2#diff-18abcec8e32a6b79d5e98cd2ba901cbbR61 вот, смотри, вот тут сломали
[11:11:12] <tg> <@fvnever> Хотя не, сфига сломали-то? Там был package internal, а щас стал protected. ClasspathEntryMacro — наследник Macro и живёт в том же пакете, так что он в любом случае должен иметь доступ к этому методу.
[11:12:43] <tg> <@fvnever> >> <ttldtor> во! А я выключал CLion, даунгрейдил с EAP до релизной версии и включал
Какая у тебя версия CLion?
[11:13:22] <tg> <@fvnever> Я нашёл эту траблу в интёрнал багтрекере, там говорят что починили в 2018.3.4.
[11:14:39] <tg> <@fvnever> Правда, я пока не понял, чо починили и как %)
[11:14:58] <tg> <@ttldtor> да, у меня эта версия
[11:15:40] <tg> <@fvnever> Чисто случайно, у тебя не установлен kotlin/native плагин?
[11:16:32] <tg> <@ttldtor> да, установлен)
[11:16:41] <tg> <@ttldtor> чисто случайно
[11:16:49] <tg> <@fvnever> А он тебе нужен? Вероятно, он эту проблему вызывает. Попробуй отключить :)
[11:16:54] <tg> <@ttldtor> и он глючный
[11:16:57] <tg> <@ttldtor> да, вырублю
[11:17:00] <tg> <@ttldtor> спасибо
[11:17:38] <tg> <@fvnever> В свежих билдах пофиксили. Они там чото запутались с классами внутри жарников, я так понял, и нечаянно положили outdated-версии классов из openapi внутрь плагина. В итоге получился писос.
[11:18:44] <tg> <@ttldtor> мне странно, что он глючит даже когда я не использую котлин
[11:18:52] <tg> <@ttldtor> отключил
[11:18:59] <tg> <@fvnever> >> <ttldtor> мне странно, что он глючит даже когда я не использую котлин
Ну потому что у тебя класс прочитался не из того жарника
[11:19:19] <tg> <@fvnever> Т.е. он навсегда будет кривой, этот класс.
[11:28:17] <tg> <@noktoborus> [Photo]
[11:41:35] Akon32 вошёл(а) в комнату
[11:42:51] Akon32 вышел(а) из комнаты
[12:25:50] <portnov>    /usr/bin/ld.gold: error: /home/portnov/.stack/programs/x86_64-linux/ghc-8.4.3/lib/ghc-8.4.3/base-4.11.1.0/libHSbase-4.11.1.
0.a(Lex.o): unexpected entsize for reloc section 243: 262168 != 24
   collect2: error: ld returned 1 exit status
   `gcc' failed in phase `Linker'. (Exit code: 1)
[12:25:53] <portnov> >__<
[12:29:34] <tg> <@fvnever> Шото сломалося!
[13:37:16] <tg> <@AlexFails> >> <fvnever> У нас был лист листов стрингбилдеров, а теперь у нас лист листов туплей стрингбилдеров и интов.
УПОРОЛИСЬ!
[14:05:55] Minoru вошёл(а) в комнату
[14:12:21] <j123123> https://github.com/openjdk-mirror/jdk7u-hotspot/blob/50bdefc3afe944ca74c3093e7448d6b889cd20d1/src/share/vm/memory/defNewGeneration.cpp#L541-L545
[14:12:35] <j123123> // Slight lie: we did not even attempt one
[14:12:58] <j123123> Они даже не пытались!
[14:16:06] <j123123> Врут в своих сообщениях для логгирования
[15:35:26] <tg> <@noktoborus> Хуман ресорс машине забавная игрушка
[15:36:27] <tg> <@AlexFails> печатать людей!
[15:45:45] <tg> <@ttldtor> >> <noktoborus> Хуман ресорс машине забавная игрушка
давай генерировать программы на основе плиток Пенроуза!
[15:50:30] <j123123> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0811r2.html ох лол
[15:50:45] <j123123> вы кстати в курсе, что у самсунга был софтерный патент на это?
[15:51:35] <j123123> https://stackoverflow.com/a/3816473  https://patents.google.com/patent/US6007232
[15:51:48] <j123123> Calculating the average of two integer numbers rounded towards zero in a single instruction cycle
[15:52:13] <j123123> который совсем недавно истек
[16:09:44] <tg> <@noktoborus> >> <ttldtor> давай генерировать программы на основе плиток Пенроуза!
Это какое-то ругательство?
[16:56:46] Птичка:D вошёл(а) в комнату
[17:11:06] <j123123> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0811r2.html
The standard alternative
a+(b-a)/2
works for unsigned integers (even if b<a).
[17:11:09] <j123123> Нет, это неправда
[17:11:13] <j123123> Это баг
[17:11:42] <j123123> См:
https://rise4fun.com/Z3/GXJr
https://wandbox.org/permlink/nj7BuNLZ2Mq0XRxr
[17:11:57] <j123123> В плюсах даже в пропосалах баги есть
[17:13:12] <j123123> Это вам любой нормальный SMT решатель подтвердит
[17:14:50] HazardPointer вышел(а) из комнаты
[17:17:56] <tg> <@AlexFails> Надо бы репортить их
[17:31:23] <j123123> https://rise4fun.com/Z3/MFa8 вот немного пофиксил проверку SMT решателя
[17:32:36] <j123123> https://wandbox.org/permlink/F4dkwZtTQBSKE4CG лол
[17:33:59] <j123123> это надо дедфуду скинуть, пусть им напишет
[17:34:07] <j123123> он же там чето с коммитетом мутит
[18:33:27] <j123123> "(even if b<a)" <--- весь косяк вот тут, в этой фразе
[18:46:17] O01eg вышел(а) из комнаты: Replaced by new connection
[18:46:19] O01eg вошёл(а) в комнату
[18:56:43] uıʃɐɟ∀ вышел(а) из комнаты
[18:56:53] uıʃɐɟ∀ вошёл(а) в комнату
[19:26:34] O01eg вошёл(а) в комнату
[19:34:38] Птичка:D вышел(а) из комнаты
[21:19:24] portnov вышел(а) из комнаты
[22:13:24] uıʃɐɟ∀ вышел(а) из комнаты
[22:13:29] uıʃɐɟ∀ вошёл(а) в комнату
[22:49:30] <j123123> А вы вообще применяли когда-нибудь SMT солверы в решении каких-то практических задач?
[22:50:04] <tg> <@AlexFails> >> <j123123> это надо дедфуду скинуть, пусть им напишет
Надо в цодингтим позвать
[22:51:02] <tg> <@AlexFails> >> <j123123> А вы вообще применяли когда-нибудь SMT солверы в решении каких-то практических задач?
Физику емнип для одной старой игроты делал; сейчас подзабыл чуток это
[22:52:01] <j123123> А для чего это там применялось?
[22:52:19] <j123123> Что именно валидировалось?
[22:56:20] <tg> <@AlexFails> Емнип для проверки коллизий (но это совсем не точно, давно очень было)
[23:01:10] <j123123> Ну вообще... в теории можно так применять
[23:01:40] <j123123> Написать например тривиальный код отрисовки 2d треугольника по трем точкам
[23:02:15] <j123123> а потом написать другой код отрисовки 2d треугольника, более сложный и более быстрый. И попробовать один код прувчекнуть об другой
[23:02:31] <j123123> т.е. попробовать найти ситуацию, когда они рисуют что-то неодинаковое
[23:02:54] <j123123> Это могло бы быть полезным
[23:05:06] <j123123> https://rise4fun.com/Z3/0eYMs например тут прувается, что достаточно простой код для нахождения среднего арифметического между двумя числами с заданными ограничениями, имеет такое же точно поведение, как и более сложный код
(assert (not (= (mid1_fix a b) (div (+ a b) 2))))
[23:05:51] <j123123> лисп))))
[23:06:19] <j123123> люблю скобочковые языки такие
[23:07:13] <j123123> не то что всякое там std::something<blablabla::blabla()<>{}>
[23:09:22] <tg> <@AlexFails> первую прогу на лиспе я написал, когда разбирался с аи в эпохе империй😊
[23:11:36] <tg> <@noktoborus> @ttldtor давай запретим ноль
[23:11:39] <tg> <@noktoborus> он меня угнетает
[23:12:01] <tg> <@ttldtor> doen
[23:12:07] <tg> <@ttldtor> теперь лучше?
[23:12:33] <tg> <@noktoborus> джа
[23:12:34] <j123123> Запретить ноль это как?
[23:12:51] <tg> <@ttldtor> взял и запретил
[23:13:02] <j123123> Аксиоматику сделать можно, где нет нуля
[23:13:15] <tg> <@ttldtor> главное, чтобы эмунерке лучше было
[23:15:31] <tg> <@ttldtor> модуль от бесконечности в минус первой степени пойдёт?
[23:15:42] <tg> <@ttldtor> или без водуля
[23:15:48] <tg> <@ttldtor> модуля
[23:24:17] <j123123> минус первая степень икса это вообще-то та же фигня, как если один поделить на икс
[23:24:42] <j123123> а при стремлении икса к бесконечности в выражении 1/x мы опять таки приходим к нулю
[23:25:08] <j123123> Так что деление и пределы надо б тоже запретить
[23:25:13] <j123123> на всякий случай
[23:35:19] <j123123> а еще вычитание и отрицательные числа. Только сложение и умножение оставить
[23:40:12] <tg> <@AlexFails> >> <j123123> а еще вычитание и отрицательные числа. Только сложение и умножение оставить
Еее декартово пространство
[23:59:50] Minoru вышел(а) из комнаты
Powered by ejabberd - robust, scalable and extensible XMPP server Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!