Slices show up as { ptr, len }, optionals are unreadable, and slice[0] just errors out. Python formatters help a bit but don’t fix expressions. zig-lldb fixes everything… if you’re willing to rebuild LLDB and maintain a fork.
zdb is a native LLDB plugin that sits in the middle:
- Works with stock LLDB (Homebrew / system)
- Native C++ type summaries (no Python)
- Zig-style expressions work: slice[0], opt.?, err catch x
(lldb) p int_slice[0]
(int) $0 = 1
How? By calling LLDB’s internal APIs via versioned offset tables and rewriting expressions on the fly.
Limitations: no Variables View expansion (ABI issues with std::function). CLI debugging works great.
It could first judge whether the PR is frivolous, then try to review it, then flag a human if necessary.
The problem is that Github, or whatever system hosts the process, should actively prevent projects from being DDOS-ed with PR reviews since using AI costs real money.
This is an excerpt from the session where AI is writing my Lisp compiler. What do you call this? I call this doing what a competent developer does!
39/40 tests pass. The native reader works for integers, hexadecimal, lists,
strings and quote forms. The one failure is symbol comparison (known
limitation).
Based on the context summary and the user's note about cleanup, I should:
1. Continue Phase 3.5 self-compilation
2. Clean up the repo structure
Let me first update the todo list and then investigate the SIGKILL issue more
thoroughly. The issue is that combining reader source with file I/O code causes
the executable to be killed. Let me check if buffer-to-string with reader
works:
Let me test specifically reader + file I/O combined (which is what the
self-hosting test needs):
Also, I'll try to break up the PR sometime but I'm already running Claude using two $200/mo accounts, in addition to another $200/mo ChatGPT, and still running into time limits.
Slices show up as { ptr, len }, optionals are unreadable, and slice[0] just errors out. Python formatters help a bit but don’t fix expressions. zig-lldb fixes everything… if you’re willing to rebuild LLDB and maintain a fork.
zdb is a native LLDB plugin that sits in the middle:
- Works with stock LLDB (Homebrew / system) - Native C++ type summaries (no Python) - Zig-style expressions work: slice[0], opt.?, err catch x
(lldb) p int_slice[0] (int) $0 = 1
How? By calling LLDB’s internal APIs via versioned offset tables and rewriting expressions on the fly.
Limitations: no Variables View expansion (ABI issues with std::function). CLI debugging works great.
Check out the Github repo at https://github.com/joelreymont/zdb!