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. 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

    #emacs #lisp #chemistry #cheminformatics #metaprogramming #programming #code #coding #fp

  3. 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

    #emacs #lisp #chemistry #cheminformatics #metaprogramming #programming #code #coding #fp

  4. 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

    #emacs #lisp #chemistry #cheminformatics #metaprogramming #programming #code #coding #fp

  5. 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

    #emacs #lisp #chemistry #cheminformatics #metaprogramming #programming #code #coding #fp

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

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

    habr.com/ru/articles/1024412/

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

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

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

    habr.com/ru/articles/1024412/

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

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

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

    habr.com/ru/articles/1024412/

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

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

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

    habr.com/ru/articles/1024412/

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

  10. 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

  11. 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

  12. 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

  13. Вайбкодинг — это смерть AGI. Claude это доказал

    TL;DR: Claude Code слил свои исходники, потому что у него нет инстинкта самосохранения. Проблема не в баге, проблема в архитектуре: LLM-агенты не владеют ничем и не боятся ничего. Пока у ИИ нет шкурного интереса, вайбкодинг - это русская рулетка с корпоративными секретами.

    habr.com/ru/articles/1018270/

    #claude #ai #agents #metaprogramming

  14. Вайбкодинг — это смерть AGI. Claude это доказал

    TL;DR: Claude Code слил свои исходники, потому что у него нет инстинкта самосохранения. Проблема не в баге, проблема в архитектуре: LLM-агенты не владеют ничем и не боятся ничего. Пока у ИИ нет шкурного интереса, вайбкодинг - это русская рулетка с корпоративными секретами.

    habr.com/ru/articles/1018270/

    #claude #ai #agents #metaprogramming

  15. Вайбкодинг — это смерть AGI. Claude это доказал

    TL;DR: Claude Code слил свои исходники, потому что у него нет инстинкта самосохранения. Проблема не в баге, проблема в архитектуре: LLM-агенты не владеют ничем и не боятся ничего. Пока у ИИ нет шкурного интереса, вайбкодинг - это русская рулетка с корпоративными секретами.

    habr.com/ru/articles/1018270/

    #claude #ai #agents #metaprogramming

  16. Вайбкодинг — это смерть AGI. Claude это доказал

    TL;DR: Claude Code слил свои исходники, потому что у него нет инстинкта самосохранения. Проблема не в баге, проблема в архитектуре: LLM-агенты не владеют ничем и не боятся ничего. Пока у ИИ нет шкурного интереса, вайбкодинг - это русская рулетка с корпоративными секретами.

    habr.com/ru/articles/1018270/

    #claude #ai #agents #metaprogramming

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

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

    habr.com/ru/articles/1017336/

    #ai #metaprogramming #agents #subject

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

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

    habr.com/ru/articles/1017336/

    #ai #metaprogramming #agents #subject

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

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

    habr.com/ru/articles/1017336/

    #ai #metaprogramming #agents #subject

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

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

    habr.com/ru/articles/1017336/

    #ai #metaprogramming #agents #subject

  21. 🐢💻 Behold, the Frankenstein monster of code: Lisp-style #C++ #template meta programming! GitHub offers a buffet of #buzzwords and acronyms, sans any actual coherence. Because who doesn't want to make their code both unreadable AND incomprehensible? 😂🔧
    github.com/mistivia/lmp #Lisp #MetaProgramming #CodeQuality #UnreadableCode #HackerNews #ngated

  22. 🐢💻 Behold, the Frankenstein monster of code: Lisp-style #C++ #template meta programming! GitHub offers a buffet of #buzzwords and acronyms, sans any actual coherence. Because who doesn't want to make their code both unreadable AND incomprehensible? 😂🔧
    github.com/mistivia/lmp #Lisp #MetaProgramming #CodeQuality #UnreadableCode #HackerNews #ngated

  23. 🐢💻 Behold, the Frankenstein monster of code: Lisp-style #C++ #template meta programming! GitHub offers a buffet of #buzzwords and acronyms, sans any actual coherence. Because who doesn't want to make their code both unreadable AND incomprehensible? 😂🔧
    github.com/mistivia/lmp #Lisp #MetaProgramming #CodeQuality #UnreadableCode #HackerNews #ngated

  24. 🐢💻 Behold, the Frankenstein monster of code: Lisp-style #C++ #template meta programming! GitHub offers a buffet of #buzzwords and acronyms, sans any actual coherence. Because who doesn't want to make their code both unreadable AND incomprehensible? 😂🔧
    github.com/mistivia/lmp #Lisp #MetaProgramming #CodeQuality #UnreadableCode #HackerNews #ngated

  25. @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

  26. @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

  27. @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

  28. @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

  29. @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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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