6 comments

  • fsloth a day ago ago

    “mapping plain functions → JSON schemas”

    In general I’ve found it’s much better in C++ to be verbose and plain rather than succinct and elegant.

    Javascript and python lack typing so being pithy&clever in those languages has entirely different implications than in C++.

    “How can I express this in the most basic, unsurprising and plainspoken C++” is usually the right question to ask. “How can I make this more elegant” is a question better suited for other languages imho.

    The best C++ API when in doubt is a C style API.

    • N_Lens a day ago ago

      Agreed! C++ is a powerful language but full of footguns.

  • pjmlp a day ago ago

    While you will need C++26 for real reflection, you could use some of the libraries that make do with what is already possible via concepts, if constexpr and type traits.

    For example,

    - https://www.boost.org/doc/libs/latest/doc/html/boost_pfr.htm...

    - https://github.com/getml/reflect-cpp

    And kudos for using modern C++.

  • bergesenha a day ago ago

    The json library 'glaze' has working compile time reflection for MSVC, Clang and GCC using some tricks with aggregate initializable structs. In addition to being a performant json library, it comes with the functions glz::apply and glz::to_tie which I used for general tool calling straight from deserialized json.

  • rubymamis a day ago ago

    Very nice! I might get inspire for my own Qt C++ LLM client[1]. Do you plan to add streaming Markdown parsing? It's a challenging problem that was very fun implementing for Vox -> it allows parsing code blocks and other such advance/custom blocks (I created a custom 'tool' block) without re-rendering. My implementation is currently tied to Qt's C++ but I might make it more generic and open source it.

    [1] https://www.get-vox.com/

  • sylware a day ago ago

    I was wondering, has anybody tried to use AI to port c++ to C?