Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от opennews (??), 12-Мрт-26, 14:13 | ||
Сообщество энтузиастов написало собственный DSL на макросах, который работает как do-нотация из функциональных языков. Используются продвинутые возможности препроцессора. В представленном проекте реализована новая техника для парсинга DSL, что может поспособствовать созданию дальнейших DSL на препроцессоре C и C++. Код в репозитории написан на C++23 и открыт под лицензией MIT, а сама техника может быть использована и просто в си-препроцессоре... | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по времени | RSS] |
| 1. "Энтузиасты создали do-нотацию для C++" | –3 +/– | |
| Сообщение от Аноним (-), 12-Мрт-26, 14:13 | ||
> сама техника может быть использована и просто в си-препроцессоре. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 5. "Энтузиасты создали do-нотацию для C++" | +4 +/– | |
| Сообщение от Жироватт (ok), 12-Мрт-26, 14:17 | ||
Потому, что могут. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 78. "Энтузиасты создали do-нотацию для C++" | +3 +/– | |
| Сообщение от Аноним (78), 12-Мрт-26, 18:07 | ||
Это всё интересно, но статья похожа на демонстрацию какого-то инструмента с рукояткой в розовую полосочку, но совершенно непонятно, что им делать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 120. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (120), 13-Мрт-26, 12:07 | ||
Это оно? https://github.com/con-kitty/categorifier-c | ||
| Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору | ||
| 128. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Жироватт (ok), 13-Мрт-26, 12:35 | ||
Интересно, но какой-то куцеватый раздел SupportedTypes | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 8. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 14:22 | ||
Про технику это не про do-нотацию. Там другая техника. Она про то, как посреди произвольного кода вставлять ключевые слова для макросного DSL. И уже на основе этого можно делать другие DSL. | ||
| Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору | ||
| 9. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 14:27 | ||
(если просто определить макросы напрямую, то парсинг будет сильно ограничен, тогда как с этой техникой оно становится намного гибке) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 67. "Энтузиасты создали do-нотацию для C++" | +5 +/– | |
| Сообщение от Джон Титор (ok), 12-Мрт-26, 16:54 | ||
Это про do-нотацию из Haskell, которая делает монадический код читаемым. Объясню на примерах. | ||
| Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору | ||
| 81. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 18:58 | ||
Вот только тут пример лишь с maybe (с ним и корутины справятся неплохо). Но есть ведь и другие монады. Та же монада List. И её тоже можно использовать с этим DSL. С монадами, которые приостанавливают выполнение, немного сложнее, но тоже можно использовать, в репе есть пример с генератором (хотя там и не монады). | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 93. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 20:06 | ||
Там суть техники не в этом. Тут ещё дело в том, что посреди LET IS может быть произвольный код. Так ещё и WHILE есть с BREAK и CONTINUE, IF-ы. | ||
| Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору | ||
| 114. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Джон Титор (ok), 13-Мрт-26, 11:02 | ||
> Там суть техники не в этом. Тут ещё дело в том, что | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 115. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 11:29 | ||
Так этот код в do_let_is репе мой. Там макросы на порядок сложнее, чем самые примитивные. Там LET ... IS(...) разрезает поток токенов на 2 - ), _LET_IS(..., (...)), _CODE(. Так создаётся список меток. А весь остальной код оказывается в метках _CODE. И потом уже пройтись по всему списку меток через рекурсию и уже разобрать так. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 118. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Джон Титор (ok), 13-Мрт-26, 11:46 | ||
> Так этот код в do_let_is репе мой. Там макросы на порядок сложнее, | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 119. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Джон Титор (ok), 13-Мрт-26, 11:55 | ||
Я вам рекомендую лучше описывать проект в статье, потому что работы проделано много, а статья маленькая и можно было больше написать - больше примеров, разнообразные варианты использования. Сейчас же есть множество ИИ, которые могут в этом помочь. А то что написано можно как-то по одному воспринимать и какие-то нюансы пропустить. Мы впервые видим этот код и хотим разобраться. Естественно что у многих первое что придёт в голову - скепсис, это нормальная защитная реакция людей. Но вы не волнуйтесь, я вижу что многие люди оценили, просто это реактивное мышление - сначала оно вызывает отторжение что есть что-то новое, что кто-то лучше, потом вызовет принятие, но об этом уже не напишут. Просто тихо будут использовать. | ||
| Ответить | Правка | К родителю #115 | Наверх | Cообщить модератору | ||
| 127. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 12:32 | ||
>[оверквотинг удален] | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 10. "Энтузиасты создали do-нотацию для C++" | –6 +/– | |
| Сообщение от Аноним (10), 12-Мрт-26, 14:28 | ||
> сама техника может быть использована и просто в си-препроцессоре. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 14. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 14:33 | ||
Техника это не сама do-нотация, а техника парсинга. Чтобы делать другие DSL. Но можно попробовать и do-нотацию сделать попробовать, но там немного другой вид будет (т.к. в си лямбд нет обычно, придется через макросы разбивать на несколько функций и строить цепочки вызовов, так ещё и захваты переменных придётся руками прописывать) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 26. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (26), 12-Мрт-26, 15:03 | ||
техника парсинга нафиг не нужна, есть ctll на основе шаблонов, а не на осонове макросов, уродующих AST самой программы, в результате чего написано одно, а делает программа другое, потому что шаблоны втихаря воруют исходник и меняют его на подделку. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 27. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (26), 12-Мрт-26, 15:03 | ||
тфу, не шаблоны, а макросы | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 35. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 15:26 | ||
Если бы всё было так просто... Шаблоны это, разумеется, хорошо (и в том репозитории они активно применяются), но могут то они далеко не всё. В таком виде (и в целом в юзабельном) do-нотацию на шаблонах не сделать. Там же гибрид шаблонов и макросов. | ||
| Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору | ||
| 47. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (47), 12-Мрт-26, 16:04 | ||
Ого, не знал. У нас на работе как раз используют макросы, нужно будет поручить прекратить это. | ||
| Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору | ||
| 28. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 15:08 | ||
> А вы предлагаете техники из функциональных языков. | ||
| Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору | ||
| 70. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (70), 12-Мрт-26, 17:30 | ||
Да уж куда им, не то что вы, продвинутые - операцию на глаза через опу делаете. | ||
| Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору | ||
| 111. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (111), 13-Мрт-26, 10:23 | ||
Во-первых, не Си, а Си-плюс-плюс. А во-вторых, Си десятилетиями обходился без "Predefined Boolean constants", а если кто-то без них не может - гнать такого от Си поганой метлой. | ||
| Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору | ||
| 12. "Энтузиасты создали do-нотацию для C++" | +7 +/– | |
| Сообщение от Аноним (12), 12-Мрт-26, 14:33 | ||
> Сообщество энтузиастов | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 85. "Энтузиасты создали do-нотацию для C++" | +2 +/– | |
| Сообщение от Сладкая булочка (?), 12-Мрт-26, 19:08 | ||
Это представитель сообщества. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 13. "Энтузиасты создали do-нотацию для C++" | +8 +/– | |
| Сообщение от Аноним (13), 12-Мрт-26, 14:33 | ||
бгг… успешной им отладки! =) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 17. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 14:50 | ||
они такого слова не знают! Надо говорить, успешной разгадки! :) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 39. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (39), 12-Мрт-26, 15:45 | ||
printf() хватит всем. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 46. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 16:03 | ||
отладка это процесс! | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 103. "Энтузиасты создали do-нотацию для C++" | +2 +/– | |
| Сообщение от Аноним (103), 13-Мрт-26, 03:28 | ||
Это отсылка к старой шутке, которую вам не удалось распарсить. | ||
| Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору | ||
| 107. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 13-Мрт-26, 06:39 | ||
Аахаха, набашорг! Ржали фсем офисом | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 19. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (19), 12-Мрт-26, 14:50 | ||
и что такое bind? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 20. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (19), 12-Мрт-26, 14:53 | ||
это явно не std::bind | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 21. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (21), 12-Мрт-26, 14:54 | ||
А как определите такое и будет. Можно передавать весь последующий код в DO блоке в функцию как лямбду. Но изначально было придумано для монад. В std::optional bind это тот же and_then. На основе bind можно сделать генераторы, корутины, разные монады (и не только монады). | ||
| Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору | ||
| 24. "Энтузиасты создали do-нотацию для C++" | +3 +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 15:00 | ||
Это чтоб путаться с bind() из libc - биндить сокет к транспортному порту. | ||
| Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору | ||
| 51. "Энтузиасты создали do-нотацию для C++" | –7 +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 16:10 | ||
это просто д*билы позикса используют в именах функций обобщенные многозначные термины (понятия). Там по факту должно было быть нечто bind_socket или socket_bind, лучше sys_socket_bind, что говорит о sys/socket.h. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 52. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 16:17 | ||
Кто первый встал, того и тапки. Так что пусть плюсовики меняют имя на std::BindGeneratesAForwardingCallWrapperForAGivenFunctionOrCallableObject() | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 54. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 16:19 | ||
Проще тогда взять оператор >>= и его переопределить | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 55. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 16:21 | ||
А если без шуток, и в позиксе *билы, которые используют в именах функций обобщенные многозначные термины (понятия), то кто тогда коммитет плюсовиков, если они делают так же? По факту должно быть std::functional_bind, что говорит о <functional> | ||
| Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору | ||
| 56. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 16:22 | ||
Так а тут в проекте используется и не std::bind. А другая функция. Там она определяется в неймспейсе doletis. И означает монадическое связывание | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 57. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 16:24 | ||
почему тогда не doletis_bind()? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 60. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (21), 12-Мрт-26, 16:30 | ||
Потому что тут C++, а не Си. Там он doletis::bind | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 68. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 16:55 | ||
а если я использую | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 82. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 18:59 | ||
1. Не делайте так | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 91. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 19:47 | ||
> 1. Не делайте так | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 73. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (28), 12-Мрт-26, 17:48 | ||
а почему в std:: тогда bind(), а не std::functional_bind()? | ||
| Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору | ||
| 92. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 19:51 | ||
> Так что пусть плюсовики меняют имя на | ||
| Ответить | Правка | К родителю #52 | Наверх | Cообщить модератору | ||
| 80. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (80), 12-Мрт-26, 18:46 | ||
Это чтоб путаться с bind() из libc | ||
| Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору | ||
| 40. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (39), 12-Мрт-26, 15:49 | ||
#include <sys/socket.h> | ||
| Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору | ||
| 64. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Rodegast (ok), 12-Мрт-26, 16:43 | ||
> и что такое bind? | ||
| Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору | ||
| 66. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 16:49 | ||
Оно и есть, да | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 105. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (105), 13-Мрт-26, 05:51 | ||
>и что такое bind? | ||
| Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору | ||
| 106. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (105), 13-Мрт-26, 05:54 | ||
Интерес к функциональным языкам подогревается наличием посредника. Данные пользователю вроде доступны, но могут лежать где угодно. Сущность скрыта. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 25. "Энтузиасты создали do-нотацию для C++" | +7 +/– | |
| Сообщение от Аноним (26), 12-Мрт-26, 15:01 | ||
Начнём с того, что за использование макросов без острой на то необходимости и 100% невозможности сделать по-другому с переиспользованием кода (и всяки свистелки перделки вроде do-нотаци сюда не катят, если не хочешь писать на C++ как на C++, то сиди уже на своей сишке, за си головного мозга, когда на си переизобретают фичи C++ на основе макросов или бойлерплейта кстати тоже надо гнать из профессии) надо гнать из профессии с волчьим билетом. Я прекрасно знаю что ranges недоделаны и ни один компилятор их не умеет оптимизировать, именно поэтому такие фичи должны быть частью ядра языка, а не частью стандартной библиотеки, всё равно новая стандартная библиотека без интринсиков компилятора работать не будет, зачем тогда выпендриваться с шаблонным метапрограммированием, чтобы компиляция была помедленнее и чтобы километровые портянки получать? Такие вещи должны быть first-class citizens языка, разумеется кодить их реализацию надо не на самом языке, а на специальном DSLе, который к сишке имеет такое же отношение, как микрокод процессора (процессоры оказались по сути очень кастрированными FPGA, блин, хотеть полноценный FPGA с полной интеграцией в процессор с полноценной компиляцией программ напрямую в микрокод, а ещё больше хотеть современный аналог трансметы на coarse-grained reconfigurable architecture, где code morphing крутится на арсенид-галлиевом высокоскоростном горячем ядре, а дальше микрооперации через сеть с коммутацией пакетов топологии "звезда" раскидываются по вычислительным блокам на низкой тактовой частоте (но их дохрена параллельных, и по самому тонкому техпроцессу, и к каждому - HBM), но в обычном режиме сеть большую часть времени работает как систолический массив) к машинному коду. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 30. "Энтузиасты создали do-нотацию для C++" | +5 +/– | |
| Сообщение от Аноним (19), 12-Мрт-26, 15:10 | ||
согласен, еще надо unsafe из раст выпилить, не умеешь safe - не берись | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 32. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (-), 12-Мрт-26, 15:14 | ||
> согласен, еще надо unsafe из раст выпилить, не умеешь safe - не берись | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 62. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (19), 12-Мрт-26, 16:39 | ||
это был сарказм на предложение выпилить целый язык (препроцессор) из си | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 34. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 15:23 | ||
Так эта do-нотация и сделана в первую очередь для C++, а на C в таком виде её не сделать (можно сделать в другом). Тут добавлена новая фича в C++, которой раньше в нём не было (корутины достаточно ограничены) | ||
| Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору | ||
| 42. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от аролп5 (?), 12-Мрт-26, 15:56 | ||
В go - горутины | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 49. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (39), 12-Мрт-26, 16:08 | ||
Сирутины в C. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 75. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от никто (??), 12-Мрт-26, 17:54 | ||
срутины | ||
| Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору | ||
| 37. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (39), 12-Мрт-26, 15:39 | ||
Нитрид галлия не быстрее будет? | ||
| Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору | ||
| 89. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (89), 12-Мрт-26, 19:39 | ||
На арсениде галлия технология должна быть отработана, на нём ещё чипы ещё в Cray 3 были. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 97. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от tkzv (ok), 12-Мрт-26, 20:38 | ||
Вот только внедрение арсенид-галлиевых полупроводников страшно буксует. 40 лет назад всюду трубили, что они скоро сменят кремниевые, но с тех пор наизобретали новых материалов, которые понемногу вытеснили GaAs на 5-е место, если не дальше. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 104. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (104), 13-Мрт-26, 05:21 | ||
Буксует-то буксует, но настолько же разработанных высокоскоростных альтернатив как не было, так и нет, а тут на каждый такт кремниевой части на диспетчере должна целая процедура отрабатывать, в жёстком реальном времени. Можно делать аппаратно, но аппаратно fine-grained SMT не получить. Как вариант трейдоффа можно и нужно части этой программы, результаты которых не нужны прямо сейчас, выкинуть в кремниевую часть, а на высокоскоростной исполнять только то, что на кремнии не успеет выполниться. Я вообще не уверен в жизнеспособности концепции, это считать надо исходя из размеров пластин, экономики их производства, оценки задержек на сложность программы-диспетчера, конкурентоспособности продукта по сравнению с кластером из существующих решений, я такое делать не умею. По идее чем больше соотношение кремниевых вычислительных блоков к высокоскоростному ядру, тем выше энергоэффективность при той же производительности (можно опускать частоты массива, разменивая задержку на задействованные ядра, а программа на высокоскоростном ядре имеет больше времени поработать, чтобы распланировать более оптимальное распределение микроопераций по блокам), но дороже изделие. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 110. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (110), 13-Мрт-26, 09:31 | ||
Сразу видно, человек безработный | ||
| Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору | ||
| 130. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (130), 13-Мрт-26, 13:33 | ||
> хотеть | ||
| Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору | ||
| 33. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (39), 12-Мрт-26, 15:19 | ||
> В представленном проекте реализована новая техника для парсинга DSL, что может поспособствовать созданию дальнейших DSL на препроцессоре C и C++. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 38. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (38), 12-Мрт-26, 15:40 | ||
Вангую что подобные выкрутасы Торвальдс тоже не пропустит. А если надо, то C++ он в ядро пустит. Но спонсоры увидели выгоду только в расте. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 123. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Аноним (123), 13-Мрт-26, 12:15 | ||
В линуксе не меньше вирусни чем в винде, хоть user space хоть kernel space | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 122. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (123), 13-Мрт-26, 12:14 | ||
У торвальдса слишком маленький мозг для C++ | ||
| Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору | ||
| 41. "Энтузиасты создали do-нотацию для C++" | +9 +/– | |
Сообщение от warlock66613 (ok), 12-Мрт-26, 15:55 | ||
Это мегакруто, но я не смог понять в коде почти ни одной строчки. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 45. "Энтузиасты создали do-нотацию для C++" | +4 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 15:59 | ||
В понедельник на хабре выйдет статья с разбором этого кода | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 102. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Аноним (102), 13-Мрт-26, 00:59 | ||
Я за 10 секунд забил это в чатжпт, он всё быстро и понятно объяснил. | ||
| Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору | ||
| 116. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 11:32 | ||
Чатжпт, по моему опыту, не уловливает главную идею кода, но улавливает всё остальное. Если объяснения чатгпт достаточны сразу для того, чтобы написать что-то подобное, то это ладно. А если нет? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 43. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (43), 12-Мрт-26, 15:57 | ||
Перл изобретают | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 69. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Джон Титор (ok), 12-Мрт-26, 16:59 | ||
Да, классика жанра 😄 | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 84. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 19:06 | ||
Так тут прямо как в хаскеле. Можно разные монады брать, а синтаксис один будет. Но тут не только монады можно, а вообще всё, у чего можно вызвать bind | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 131. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (120), 13-Мрт-26, 15:09 | ||
Ждём программу из одной строчки? | ||
| Ответить | Правка | К родителю #43 | Наверх | Cообщить модератору | ||
| 48. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Анлним (?), 12-Мрт-26, 16:05 | ||
Препроцессор это как goto. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 87. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от анон (?), 12-Мрт-26, 19:16 | ||
> Препроцессор это как goto. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 88. "Энтузиасты создали do-нотацию для C++" | +2 +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 19:30 | ||
У раста есть макросы. Которые тоже НЕ имеют доступа к семантике языка. Они пытаются притворяться, что информация об этом у них есть, но они только притворяются. Это всё равно текстоподстановка, ака препроцессор. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 99. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от анон (-), 12-Мрт-26, 22:29 | ||
> У раста есть макросы. Которые тоже НЕ имеют доступа к семантике языка. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 112. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 10:46 | ||
AST в расте это НЕ AST у плюсах. У плюсовых компиляторов в AST есть все типы и прочее. У раста там только синтаксис и ничего более. Они не имеют доступа к типам и нормального доступа к семантике, только к синтаксису | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 100. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (-), 12-Мрт-26, 23:08 | ||
> У раста есть макросы. Которые тоже НЕ имеют доступа к семантике языка. Они пытаются притворяться, что информация об этом у них есть, но они только притворяются. Это всё равно текстоподстановка, ака препроцессор. | ||
| Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору | ||
| 113. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 10:48 | ||
Вот именно. Больше связи с семантикой языка у них никакой. Они не имеют доступа к типам внутри языка. AST в расте это просто синтаксис. AST в плюсах же содержит и типы и всё прочее | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 90. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от Аноним (89), 12-Мрт-26, 19:42 | ||
Препроцесор на порядки хуже goto. В коде с goto ты хотя-бы код видишь, а в коде с препроцессором #define true (rand() > 10) // happy debugging, suckers! | ||
| Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору | ||
| 98. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (17), 12-Мрт-26, 21:45 | ||
> Препроцесор на порядки хуже goto. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 125. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (123), 13-Мрт-26, 12:21 | ||
А ведь можно просто разобраться в ООП и DSL и понять что по сути это одно и тоже, и то и то отвечает на вопрос "Что делать?", а не "Как это сделать?", но тут думать нужно ведь | ||
| Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору | ||
| 61. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Rodegast (ok), 12-Мрт-26, 16:38 | ||
> который работает как do-нотация из функциональных языков | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 63. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (8), 12-Мрт-26, 16:42 | ||
В std::optional с C++23 есть монадический интерфейс (and_then), в std::expected тоже. Вот и можно для них использовать do-нотацию. Можно и не только для них и не только для монад. В репе есть пример с генераторами, которые не через монады сделаны, но через do-нотацию. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 72. "Энтузиасты создали do-нотацию для C++" | –1 +/– | |
| Сообщение от Rodegast (ok), 12-Мрт-26, 17:34 | ||
> В std::optional с C++23 есть монадический интерфейс (and_then), в std::expected тоже | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 83. "Энтузиасты создали do-нотацию для C++" | +1 +/– | |
| Сообщение от ferris (?), 12-Мрт-26, 19:02 | ||
Потому что монады удобные на практике. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 95. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Rodegast (ok), 12-Мрт-26, 20:13 | ||
> Потому что монады удобные на практике. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 71. "Энтузиасты создали do-нотацию для C++" | +/– | |
| Сообщение от Аноним (70), 12-Мрт-26, 17:32 | ||
Когда функциональщики внезапно поняли что наделали дичи, они изобрели монады. И они молодцы. А те кто монады тянет в си подобные языки, их лечить надо. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 101. "Энтузиаст создал do-нотацию для C++" | +/– | |
| Сообщение от Аноним83 (?), 13-Мрт-26, 00:09 | ||
Нечитабельное и плохо понимабельное. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 109. "Энтузиаст создал do-нотацию для C++" | +/– | |
| Сообщение от user1985 (?), 13-Мрт-26, 09:13 | ||
"Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp." Филип Гринспен. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 121. "Энтузиаст создал do-нотацию для C++" | +/– | |
| Сообщение от Аноним (123), 13-Мрт-26, 12:10 | ||
Откройте для себя ООП в C++ или любом другом ЯП, это и есть DSL с отличной предметной абстракцией | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 129. "Энтузиаст создал do-нотацию для C++" | +/– | |
| Сообщение от nox. (?), 13-Мрт-26, 13:05 | ||
Для кого-то прочтение Гради Буча - немыслимое достижение. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 126. "Энтузиаст создал do-нотацию для C++" | –1 +/– | |
| Сообщение от Аноним (8), 13-Мрт-26, 12:22 | ||
> Энтузиаст | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |