3 ms·
"conversing with a living system" aka "using a common debugging tool"
by zapataband1 2mo ago
"conversing with a living system" aka "using a common debugging tool"
- throw10920 2mo agoI don't understand. Are you saying that you think that writing Common Lisp is akin to using a debugger in other programming languages?
- maleldil 2mo agoREPLs aren't debuggers.
- worthless-trash 2mo agoThe problem is that people think 'python-like' repl is equivalent to CL's repl.
- aidenn0 2mo agoCan python properly reload an import yet? I complained about the lack of ability to do that about a decade ago, and was told that people were "working on it."
- worthless-trash 2mo agoI think it will hit up the cache. If it exists, Python simply returns the existing module object from memory. It completely ignores the file on disk.
- pjmlp 2mo agoMore like, debuggers are a subset of what a proper REPL can do.
- pjmlp 2mo agoOnly if your debugging tool supports hot code reloading without changing execution context, updating live references, and is able to save the session across executions.
- 4xel 2mo agoLisp debuggers are uncommonly powerful, but there's more to "living systems" than debuggers. I suck at using debugging tools, lisp or otherwise, yet I still love the living system aspect of Lisp or OCaml. In mainstream languages, the closest thing to the "living system" part of lisp that I personally grasp and love is not debbuggers; it's Jupyter Notebooks, SQL sandboxes in DBMS UIs, and scripting, as in shell scripting. Still, given the choice, I prefer the Emacs+lisp experience over these great tools. Also, live programming is not something lisp overspecialize in, like could be argued for most of the aforementioned tools. Rather, it incorporates it seamlessly. In visual studio, I can run a program line by line or with breakpoints. In lisp, I can select which s experession(s) I want to compile or execute, while an LLM agent is connected to the same image and doing stuffs in the background. I do not merely get any single potential benefit of dynamic languages, I get all of them at once, even when working on a source file perfectly suited for punchcard programming (read compile execute).