I have been trying to investigate another angle (but from similar point of view: an all-encompassing run-time environment).
I would like to know if emacs can be used like Java or Rocket to create back-end services.
For example, can I write a backend REST server, package into something like a ‘.el’ package, upload that with Ansible onto a VM that has Emacs 27 or 28 installed.
And run a full-featured HTTP2 rest point with gzip, certificates, and all the other features needed for open-internet backend server.
Then, can ‘link’ multiple instances of Emacs VMs (possible across multiple VMs) to run, say, a distributed cache server (so I will need a naming service (for discovery), a locking service (to lock a value, such that a lock is visible across all the instances), etc)
Elnode is the current conventional thing to use for serving http requests from inside an Emacs instance. I believe that at the moment it doesn’t do gzip, TLS, etc and that at the moment the best thing to do would be to use a reverse proxy (I think caddy is easiest to set up) to add that stuff.
Thank you. Yes I think I came across Elnode, but since it has not be updated for about 8 years, I figured it will not support newer security features and protocols.
I was also thinking that I might be looking for something, that others had thought about – but decided it was not worth doing in Emacs :-)
Genuine question: why? What does that get you that using racket or scheme or some other lisp doesn’t? Every time I’ve tried using emacs’s built-in support for things like networking I want to scream. Not to mention all the global mutable state all over the place.