PureScript! <a href="https://www.purescript.org/" rel="nofollow">https://www.purescript.org/</a><p>In my opinion currently the best solution if you want to write frontend and backend in the same language!
I'd pick both ;)<p>I actually don't know much about F#, but Elixir is great. The main problem with Elixir is that batteries aren't included for a lot of things and some libraries are hard to work with because they don't expose the right interfaces. It's not too bad - you just fork your own version and make the necessary changes, but it can be a little annoying. Also, don't fall into the trap of "do everything in Elixir", if there's a library you really need that exists in another language, it's ok to wrap it in a "micro service". Being overly purist about everything needing to be in Elixir set me back a little bit. You have a lot of ways to call out to other services/languages from a simple HTTP API, to a NIF (natively implemented function; currently C, Rust, and Zig have good support), to something like GRPC.<p>If you do want to learn Elixir, I would recommend learning Erlang first or in parallel to Elixir. Learning Erlang will make all the syntactic sugar very obvious and give you an appreciation for what both languages provide.<p>Oh one more cool part - Elixir is great as glue with other parts of the BEAM ecosystem. You can easily call out to Erlang modules and Gleam modules. I haven't tried with LFE though.
I've been impressed but what I've seen of the Phoenix web framework. <a href="https://youtu.be/MZvmYaFkNJI" rel="nofollow">https://youtu.be/MZvmYaFkNJI</a><p>On the F# side:<p>"Where are the F# jobs? I've checked the various FP-centric job-sites - they're as barren as everywhere else. It almost seems as if Haskell jobs are more plentiful! Haskell!"<p><a href="https://www.reddit.com/r/fsharp/comments/24layv/where_are_the_f_jobs/" rel="nofollow">https://www.reddit.com/r/fsharp/comments/24layv/where_are_th...</a>
JavaScript/TS is a functional language, too[0]. Like Lisp, it supports all programming styles. With JS you have the advantage of being built into the browser with rich debugging tools.<p>[0] <a href="https://medium.com/gitconnected/functional-programming-in-typescript-18ac096bb551" rel="nofollow">https://medium.com/gitconnected/functional-programming-in-ty...</a>