jscl icon indicating copy to clipboard operation
jscl copied to clipboard

Is it possible to use SWANK and work with JSCL running in the browser from the Emacs?

Open svetlyak40wt opened this issue 5 years ago • 6 comments

svetlyak40wt avatar Oct 07 '20 13:10 svetlyak40wt

Not right now. I don't know if anyone has tried this. It would be pretty neat though.

I am not very familiar with swank, but I assume slime expects it to listen in a tcp port. So we would need some tcp <-> websocket proxy.

Looking at swank, it seems they have one file per implementation and backend.lisp. The smallest implementation-specific file is about 700 lines, I'm not sure how much is the minimal that it can be provided to use slime with it.

For the generic backend.lisp, I think jscl is probably pretty close to be able to run it. I saw for example deftype, which we don't support yet. But we probably can add a very small subset of it to make it work.

It would be a fun project :-) I can try to give it a quick try to see how much work it would be.

davazp avatar Oct 07 '20 13:10 davazp

This would be great!

svetlyak40wt avatar Oct 07 '20 14:10 svetlyak40wt

It would be a fun project :-) I can try to give it a quick try to see how much work it would be.

Approximately 6-10 full time days. It's worth it ? It is cheaper to screw the CodeMirror to the WEB-REPL and immediately compile from it.

vlad-km avatar May 06 '21 18:05 vlad-km

I think it is :-) but that is up to the person who would have the time to spend on it.

A backend for the Node target would probably be more similar to the existing ones. And it is something pretty useful to have (support for tcp sockets). That would make the web version closer, just a the websocket proxy away.

davazp avatar May 06 '21 18:05 davazp

Generally agree. There are two ways - web browser and electron. I'm lean towards to electron. Question - where to find the two Last Boyscout to implement these versions?

vlad-km avatar May 07 '21 18:05 vlad-km

I'm doing some work here: https://github.com/jscl-project/jscl/discussions/441

mmontone avatar Sep 07 '22 16:09 mmontone