home.social

#metaprogramming — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #metaprogramming, aggregated by home.social.

  1. a macro to generate other macros was the best idea ever: now confirmed

    (with the last version of emacs-indigo for pretty-much-memory-safe molecule manipulation inside emacs!)

    github.com/gicrisf/emacs-indigo

  2. Партитура для невидимого оркестра

    Представьте себе пятиэтажный дом без лифта, построенный в конце пятидесятых, где-нибудь на отшибе Автозаводской, или еще лучше – в Купчино. Каждый этаж использует свой язык со своей записью. Не в переносном, а в самом прямом смысле: первый этаж общается кириллицей, второй – латиницей, третий – иероглифами, четвертый – клинописью, а пятый, подобно Витгенштейну, принципиально молчит, полагая, что о чем невозможно говорить, о том следует молчать. Почтальон, доставляющий корреспонденцию, вынужден нести пять экземпляров одного и того же письма, переведенного на каждый из этих языков, и каждый раз стучаться в дверь, надеясь, что адресат не переехал на другой этаж. Именно так устроен мир программирования. Проблема очевидна любому, кто хоть раз пытался написать инструмент для анализа кода. Допустим, вы создали превосходный анализатор цикломатической сложности для Python. Он великолепен: находит вложенные условия, считает точки ветвления, рисует графы потоков управления. Затем к вам приходит коллега и спрашивает: «А для Ruby сделаешь?» И тут выясняется, что весь ваш труд – все эти обходчики деревьев, все эти паттерн-матчинги над питоновским AST – нужно переписать заново. С нуля. Для другого дерева, с другими узлами, другой семантикой и другими подводными камнями. А потом придет третий коллега и попросит то же самое для Haskell . MetaAST to the rescue

    habr.com/ru/articles/1024412/

    #ast #абстрактное_синтаксическое_дерево #metaprogramming #metamodel

  3. Implementing the Repository Pattern with Hygienic Macros in Scheme

    jointhefreeworld.org/blog/arti

    Functional repository pattern in Scheme? Decoupling and abstracting the data layer in Lisp

    I’ve been working on a new approach for the data layer of my projects lately, and I’d love to poke your brains and get some feedback.

    #lisp #scheme #guile #gnu #metaprogramming #programming #guix #jointhefreeworld #ast #sexp #fp #functionalprogramming #repository #sqlite

  4. «Поставить себя на ваше место». Мы занялись метаболизмом ИИ

    TL;DR Индустрия жжет мегаватты, чтобы GPT научился говорить «мне жаль» убедительнее. Спойлер: не научится. Transformer — это калькулятор с хорошей памятью, у него нет «себя», которое можно было бы поставить на чужое место. Мы построили Metabolic AI Runtime, где проблема пользователя становится его напряжением, и он генерирует ответ не из шаблонов, а чтобы вернуть себя в равновесие. Машинная эмпатия — это не «You are a helpful assistant», это архитектура, у которой есть что терять.

    habr.com/ru/articles/1017336/

    #ai #metaprogramming #agents #subject

  5. @screwlisp

    Coincidentally, I assume, Abhijit Rao posted on LinkedIn earlier today a very interesting blurb, reporting on his use of this condition handling structure in conjunction with LLMs.

    (Works for me in an incognito window, but you may not be able to see past the first comment if you don't have a LinkedIn account.)

    linkedin.com/posts/quasiabhi_c

    The blurb references this more detailed account of the work, which I haven't been through in detail yet:

    quasilabs.in/blog/2026/02/07/c

    #CommonLisp #Lisp #ConditionHandling #Errors #Restarts #Continuations #ErrorHandling #ConditionHandling #LLM #LLMs #AI #Modularity #QuasiLabs #Reflection #Introspection #MetaProgramming

  6. Racket birthday party and meet-up: Saturday, 7 February 2026 at 18:00 UTC

    EVERYONE WELCOME 😁

    Announcement, Jitsi Meet link & discussion at racket.discourse.group/t/racke
    #lisp #scheme #metaprogramming #csed #cs

  7. Reflect-C: Tạo metadata lúc biên dịch để mô phỏng phản xạ (reflection) trong C – không cần plugin biên dịch. Giảm lặp code khi serializing, validate, clone struct bằng cách tách biệt metadata và logic runtime. Dùng recipe header + bộ sinh metadata → code chung cho JSON, binary, v.v. Không cần phát hiện kiểu lúc chạy. Phù hợp API, serialization, công cụ kiểm tra. #C #Reflection #Metaprogramming #CompileTime #JSON #Serialization #C_Plus_Plus #LậpTrìnhC #PhảnXạ #ThờiBiênDịch #SerialHóa

    https://www

  8. Talk: Who’s Afraid of the Big Bad Template

    Templates and metaprogramming considered as the big bad wolf of C++, and it’s time to stop being scared of this wolf, as it’s one of the most powerful creatures of C++.

    In this talk I’ve demonstrated the power of this incredible creature, while I hope that this talk would be an easy enterence to this concept (pan intended), and to help you developing the anticipation to walk into the cave of metaprogramming.

    The talk was give on Core C++ 2025.

    https://youtu.be/LWeZctvHhiI?si=i2v2yFgCN8eoYHKB

    Useful Links

    GitHub Repo
    Presentation Slides

    Feel fee to leave your thoughts in the comments, and happy compile-time coding.

    #advanced #beginners #C #c17 #c20 #conference #CoralKashri #CoreC #CoreC2025 #Intermediate #metaProgramming #modernC #talk #templates

  9. Wow, someone decided to sprinkle a dash of #metaprogramming on C# and call it a day. 🤯 Because clearly, what developers needed was more compile-time #wizardry to confuse future archaeologists trying to decipher ancient codebases. 🔮✨
    github.com/sebastienros/compti #CSharp #developerhumor #compiletime #codearchaeology #HackerNews #ngated

  10. Метапрограммирование 2.0: макросы и генерация кода в современном мире

    Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки. В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #метапрограммирование #генерация_кода #макросы #code_generation #Rust #Java #C++ #metaprogramming #шаблонный_код

  11. Unlocking the Power of Compile-Time: Exploring the Crystal Macros Module

    Dive into the fascinating world of the Crystal programming language's Macros module, where compile-time magic happens! Discover how developers can leverage macro methods to enhance their code's effici...

    news.lavx.hu/article/unlocking

    #news #tech #Metaprogramming #CrystalLang #CompileTime

  12. Грязные трюки C++ из userver и Boost

    Привет, я Антон Полухин из Техплатформы Екома и Райдтеха Яндекса. Моя команда разрабатывает userver — современный опенсорсный асинхронный фреймворк с богатым набором абстракций для быстрого и комфортного создания микросервисов, сервисов и утилит на C++. Когда мы пишем какой‑то код для userver и для таких сложных проектов, как Boost , периодически мы сталкиваемся с нестандартными проблемами. И эти нестандартные проблемы требуют нестандартных решений. Вот о таких решениях мы сегодня и поговорим. А именно: — Посмотрим, как работают исключения на платформе Linux x86, и сделаем с ними что‑то интересное. — Залезем ещё глубже под капот исключений и сделаем их ещё быстрее. — Сделаем висячую ссылку на невалидный объект, и всё будет хорошо. — А под конец то, что все любим, — погрузимся в шаблонное метапрограммирование.

    habr.com/ru/companies/yandex/a

    #stacktrace #exception #exceptions #exception_throw_refactoring #metaprogramming #boost #userver #dlopen #throw #throwcatch

  13. Ironically, C++ template programming can end up promoting the use of macros because too much template boiler plate, especially in member function templates in class templates.

    E.g., a well-designed and formatted macro reducing five lines of boiler plate to just one line. And the macro is used eight times which greatly improves overall readability compared to the original noisy and recurring template boiler plate.

    #cpp #TMP #metaProgramming

  14. C++ peeps, raise your hand if these days you seem to instinctively open angle bracket after decltype and static_assert. TMP FTW.

    #cpp #TMP #metaProgramming #habits #syntax