Cygwin is the best option because you can easily access all of the installed binaries for use with GUI emacs running in windows.
But I don't consider that to be a real native option, it is some kind of weird halfway house that sort of installs linux binaries but they are also kind of windows ones polluting your windows path.
Currently SBCL 'just works' on native windows, which puts it ahead for me if you are happy with both Scheme and CL.
Great response, I really like chicken when working on Mac or Linux, but it's windows (where I do most of my development) that it struggles.
Some eggs just don't install and the error messages are really bad at that point. Trying to install awful to develop a web api I had to give up, couldn't find a way of getting it installed on windows (no problem on OSX or Ubuntu 18.04)
Installed Portacle and (ql:quickload "hunchentoot") and was up and running in a few minutes.
A lot of lisp-languages could do with an equivalent to Portacle, an opinionated dev environment that you can install and just start coding, an area that Racket is excellent in.
I disagree that Elixir is easy to learn, the syntax ok, it's weird compared to most OO languages, but actually using OTP is a real paradigm shift that requires a totally different way of thinking about issues. I did not find that easy at all.
The other issue is that Elixir and Phoenix have become joined at the hip in the same was as Ruby and Rails, and Phoenix didn't click with me at all, coming from the JVM world I really didn't get on with it.
After reading Programming Elixir, Elixir in Action and Programming Phoenix I decided that it wasn't an easy way to make web applications that don't need OTP, and in fact I couldn't imagine a scenario where any web application I would ever write would need OTP (for the whole thing anyway, I can imagine cases where small parts of a larger system could benefit massively from fail fast architecture)
Edit:
I would also argue that designing an OTP based system architecture is harder than just writing a non distributed system and then adding in load balancing or fail over.
The use cases for OTP are actually quite narrow, despite what Erlang/Elixir evangelists tell you.
Discord is a fantastic use for OTP.
Writing a CRUD app with a couple of reactive/interactive pages for comments on videos and few thousand users, OTP is overkill.
If you have an app that needs the scale and safety of OTP, then which language you pick makes no difference.
Phoenix is a really cool project, written by great developers and the community is probably the nicest and most helpful you will ever meet.
But how many companies/projects need the performance and redundancy of Phoenix/OTP in their web application at the cost of not being able to hire developers?
FTFY! :D