3 ms·
If you can develop your whole application in your REPL without restarting your application that's a tell that you have a good REPL In languages like Clojure an
by slifin 6y ago
If you can develop your whole application in your REPL without restarting your application that's a tell that you have a good REPL
In languages like Clojure and many other older languages this is the default method of development, it's like being able to develop your backend web app, and whilst your web server is still running dynamically inject + install a new function to it at runtime
Then pass new values through it, consider the output maybe inject a refreshed version of the same function, rinse and repeat until your app is done
Most developers are like "lol I can call my function in my REPL" and it's completely not the same thing, a good REPL is crack
Developing your app from inside your running app is next level that requires editor tooling + correct workflow + language support
You need an editor that shows the results of REPL commands either inline or in a REPL window, you need a language that allows rebinding of symbols and functions at runtime, you need a editor that lets you send forms from files into the REPL buffer, you want an expression based language to make the sending forms easier
A workflow like rich comments (https://betweentwoparens.com/rich-comment-blocks https://betweentwoparens.com/rich-comment-blocks) is recommended so you're not micromanaging your REPL forms, and editor shortcuts to make this is as quick and natural as possible
- coldtea 6y ago>If you can develop your whole application in your REPL without restarting your application that's a tell that you have a good REPL So, basically, Smalltalk!
- vlovich123 6y agoHow does application development like this work in the face of evolving data structures? Do you just manually fix up the back compat issue?