Fork me on GitHub
#chlorine-clover
<
2023-05-30
>
mauricio.szabo15:05:45

@dpsutton socket REPLs have a lot of problems - we can't know if something is the result of the expression or if it comes from stdout/stderr, the "output" from tests is different than stdout (meaning that test output doesn't appear on the console unless you do some rebinding), it can hang if you send incomplete forms (I tried to avoid this by parsing the command to send, trying to identify invalid stuff, but even then sometimes things hang), and prepl solves some, but not all, of these problems (with the additional constraint that it's only really well implemented for Clojure, and even in this case, it have problems - it's also tied to Clojure version, meaning that a tolling needs to be aware of the Clojure version to avoid, or not, any features or bugs)

👍 2
mauricio.szabo15:05:44

I was able to avoid some, but not all, of these problems using UNREPL on Clojure, but in the end not even this worked well - there are some problems with Datahike and basically I could not solve it; it is also yet another project to keep...