home.social

#rpython — Public Fediverse posts

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

  1. 🚀🚀 "Tech genius discovers the astonishing speed of #RPython GC allocation... by writing *another* benchmark program. Because, clearly, the world was waiting with bated breath for this groundbreaking revelation instead of solving actual problems. 🙄"
    pypy.org/posts/2025/06/rpython #TechGenius #Benchmarking #GCAllocation #GroundbreakingRevelation #ProblemSolving #HackerNews #ngated

  2. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  3. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  4. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  5. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  6. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  7. I apparently was overly emotional last night and started an #RPython version of #Nix. I have about half a parser so far.

    If I keep working on this, the goals will be to have a smaller footprint in terms of code and CPU (but not necessarily RAM) than CppNix. This sounds quite achievable because the RPython toolkit comes with a JIT generator: insert interpreter, receive JIT.

    Contributions will be welcome once everything is available to the public. Wait a day or two, please.

    Germane to the current #NixOS / #nixpkgs drama, I think.

  8. What would be a good and punny name for an #RPython implementation of a #Nix evaluator?

  9. New blog post: Which Interpreters are Faster, AST or Bytecode?

    It gives a high-level overview over our OOPLSA paper, which investigates interpreters on top of metacompilation systems.
    Will be presented next week at @splashcon.

    stefan-marr.de/2023/10/ast-vs-

    #graalvm #truffle #rpython

  10. Apparently not a joke. A lot of people seem to be quite enthused about this.

    #Pypy, a Python runtime in Python, tried this ages ago. Their #RPython cross-compilation toolchain was extremely useful, built up to target #WASM as a back-end. Really helped push Web Assembly forward.

    Conclusion: it's not worth it. It's almost never worth it.

    Instead: transpile to ES6 for native runtime, zero download overhead, and zero startup overhead. JavaScripthon is an excellent one I've even contributed to.