3:01:56LdBethHi, is there any way to run a external program with interactive interface in CL
4:07:51jasomLdBeth: most lisp implementations provide a way to run a program. It is possible that uiop:run-program will do what you need
4:08:13PuercoPopjasom: I think they mean something like htop
4:08:28jasomPuercoPop: run-program should handle htop just fine, right?
4:11:01jasomhmm (uiop:run-program "htop" :output :interactive) didn't work as I expected, so maybe not
4:11:02PuercoPopjasom: My knowledge of terminals is not very deep. But I would imagine that the REPL wouldn't play nice with a program that takes the whole screen for a while. Like htop or vim.
4:11:36jasomPuercoPop: the REPL is uninvolved until the form returns in most implementations, so I wouldn't think that would be a problem
4:12:11jasom(uiop:run-program "htop" :output :interactive :input :interactive) ;; works on sbcl on MyMachine(tm)
4:12:49jasomIt does not work on CCL, which makes at least some sense because ccl has a separate REPL thread IIRC
4:17:09jasomPuercoPop: for fancy REPLs there is a good chance that the program won't return the tty to the same state as before it was run, so those might have a problem. SBCL's REPL is so minimal it's not a problem
4:17:42jasomLdBeth: this works on every lisp I tried except ccl: (uiop:run-program "htop" :output :interactive :input :interactive)
4:18:27PuercoPopI've ran into issues with two programs writing to the same terminal (webpacker and vis, the editor).
4:18:50ealfonsowhat is a recommended modern restful service library/framework?
4:19:02jasomThere's a patchset for CCL that doesn't spawn a separate thread for tty interactions, but it's not maintained anymore
4:20:14jasomealfonso: there are several, each with different strengths and weaknesses. I usually just write directly on top of clack because I'm a control freak.
4:20:46PuercoPopLdBeth: you might be interested in cl:ed, http://www.lispworks.com/documentation/HyperSpec/Body/f_ed.htm
4:21:09jasomealfonso: I haven't used it, but https://shirakumo.github.io/radiance/ looks nice