TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The one about Lisp interactivity

107 pointsby lycopodiopsidaover 2 years ago

6 comments

gazeover 2 years ago
The thing I still don&#x27;t understand about REPL driven development is how you manage state, and how you manage threads. If I have a task running and it depends on a collection of global variables, those global variables now need some machinery around them so that they can be edited from the REPL thread. If you replace a function, there now needs to be decisions made about when you now begin usage of the new function. To me, the understanding that some set of things may be replaced right under you adds a great deal of additional engineering complexity. I&#x27;ve gotten various answers about how one deals with this. One being &quot;yes add the machinery&quot; or &quot;just yolo it, yes it&#x27;s a race condition but it&#x27;s rarely an issue,&quot; neither of which I find particularly satisfying.<p>Concerning state, I&#x27;ve occasionally found myself developing a long-lived lisp image, and then I need to restart the VM for one reason or another, and then found that nothing works. The state of the in-memory image had gotten totally out of sync with the codebase. Perhaps this is a manner of discipline in lisp, but I greatly appreciate the replacement of discipline (be it memory management or the aforementioned situation) with machinery of the language itself.
评论 #33565580 未加载
评论 #33566317 未加载
评论 #33567182 未加载
评论 #33575398 未加载
评论 #33565476 未加载
评论 #33567947 未加载
评论 #33570077 未加载
Barrin92over 2 years ago
Smalltalk only got a mention in the footnotes but I think it deserves a bigger entry when talking about ways to interact with programs. If a REPL is talking to and conversing with a program then environments like Pharo take it a step further by letting you interactively and graphically look under the hood as well. It&#x27;s an amazing way to interact with software once you get used to it and I think well worth checking out if only for fun. <a href="https:&#x2F;&#x2F;pharo.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pharo.org&#x2F;</a>
评论 #33574967 未加载
评论 #33568159 未加载
评论 #33568750 未加载
评论 #33571753 未加载
mixedmathover 2 years ago
In the opening paragraphs, this post indicates that this other post of David Vujuc [1] falls victim to common misconceptions about what a REPL is. I&#x27;m not sure what misconceptions this post is referring to; perhaps I also have these misconceptions. But I also don&#x27;t think this post clarifies that. Could anyone here make it more explicit?<p>[1]: <a href="https:&#x2F;&#x2F;davidvujic.blogspot.com&#x2F;2022&#x2F;08&#x2F;joyful-python-with-repl.html" rel="nofollow">https:&#x2F;&#x2F;davidvujic.blogspot.com&#x2F;2022&#x2F;08&#x2F;joyful-python-with-r...</a>
评论 #33568188 未加载
评论 #33565956 未加载
评论 #33566173 未加载
zen21over 2 years ago
This seems to leave out the existence of debuggers in IDEs.<p>These days I tend to run most new code in the debugger, and step through it so I can see what’s going on. This works great in say, Rust, Python, or Swift. I haven’t used Java for a while, but I don’t see why it wouldn’t work well there too.<p>I feel very connected to the code.
评论 #33566753 未加载
评论 #33566096 未加载
评论 #33566627 未加载
mark_l_watsonover 2 years ago
Nice writeup! Interesting comparison of OCaml (fast tooling but not connected to running program and data).<p>Lisp REPLs are something I use every day, but I also enjoy REPL development that is connected to look I&#x27;ve program and data with Python with Emacs, Ruby (when I used to use it), Haskel,and Julia.<p>The REPL is a way of life.
sesmover 2 years ago
The map is not the territory. The code is not the program.
评论 #33571465 未加载